This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "XFS development tree".
The branch, for-linus has been updated
510792e xfs: optimize the negative xattr caching
d1166ec xfs: prevent against ioend livelocks in xfs_file_fsync
34951f5 xfs: flag all buffers as metadata
1c4f332 xfs: encapsulate a block of debug code
d3ec484 Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
4e34e71 fs: take the ACL checks to common code
826cae2 kill boilerplates around posix_acl_create_masq()
bc26ab5 kill boilerplate around posix_acl_chmod_masq()
6311b10 xfs: cache negative ACLs if there is no attribute fork
e77819e vfs: move ACL cache lookup into generic code
340a0a0 xfs: Fix wrong return value of xfs_file_aio_write
bbd9d6f Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
df2e301 fs: Merge split strings
02c24a8 fs: push i_mutex and filemap_write_and_wait down into ->fsync()
handlers
72c5052 fs: move inode_dio_done to the end_io handler
8daaa83 xfs: make use of new shrinker callout for the inode cache
7e40145 ->permission() sanitizing: don't pass flags to ->check_acl()
9c2c703 ->permission() sanitizing: pass MAY_NOT_BLOCK to ->check_acl()
from 55fb25d5b39320242b41af894921f5cef0c7e293 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 510792ee29770a38dd409bf2b469ade2fea9eb52
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Tue Jul 26 15:07:29 2011 +0000
xfs: optimize the negative xattr caching
Since the addition of file capabilities every write needs to read xattrs to
check if we have any capabilities to clear. In Linux 3.0 Andi Kleen added
a flag to cache the fact that we do not have any attributes on an inode.
Make sure to already mark a file as not having any attributes when reading
it from disk in case it doesn't even have an attribute fork. Based on an
earlier patch from Andi Kleen.
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Alex Elder <aelder@xxxxxxx>
commit d1166ec792c96b65e4c18cbc5985944b5309d838
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Tue Jul 26 15:07:11 2011 +0000
xfs: prevent against ioend livelocks in xfs_file_fsync
We need to take some locks to prevent new ioends from coming in when we wait
for all existing ones to go away. Up to Linux 3.0 that was done using the
i_mutex held by the VFS fsync code, but now that we are called without
it we need to take care of it ourselves. Use the I/O lock instead of
i_mutex just like we do in other places.
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Alex Elder <aelder@xxxxxxx>
commit 34951f5cb72b1e3a89a21581cb21e2d5b6a104a4
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Tue Jul 26 15:06:44 2011 +0000
xfs: flag all buffers as metadata
Now that REQ_META bios aren't treated specially in the CFQ I/O schedule
anymore, we can tag all buffers as metadata to make blktrace traces more
meaningful. Note that we use buffers also to zero out partial blocks
in the preallocation / hole punching code, and while they operate on
data blocks the zeros written certainly aren't data. I think this case
is borderline metadata enough to not bother special casing it.
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Alex Elder <aelder@xxxxxxx>
commit 1c4f33296e8e79a6bbfffc8457d547ffc31d5dee
Author: Alex Elder <aelder@xxxxxxx>
Date: Mon Jul 18 18:14:09 2011 +0000
xfs: encapsulate a block of debug code
Pull into a helper function some debug-only code that validates a
xfs_da_blkinfo structure that's been read from disk.
Signed-off-by: Alex Elder <aelder@xxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxxxxxxxxx>
commit d3ec4844d449cf7af9e749f73ba2052fb7b72fc2
Merge: 0003230e8200699860f0b10af524dc47bf8aecad
df2e301fee3c2c2a87592151397ad7699bb14c37
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon Jul 25 13:56:39 2011 -0700
Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
* 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)
fs: Merge split strings
treewide: fix potentially dangerous trailing ';' in #defined
values/expressions
uwb: Fix misspelling of neighbourhood in comment
net, netfilter: Remove redundant goto in ebt_ulog_packet
trivial: don't touch files that are removed in the staging tree
lib/vsprintf: replace link to Draft by final RFC number
doc: Kconfig: `to be' -> `be'
doc: Kconfig: Typo: square -> squared
doc: Konfig: Documentation/power/{pm => apm-acpi}.txt
drivers/net: static should be at beginning of declaration
drivers/media: static should be at beginning of declaration
drivers/i2c: static should be at beginning of declaration
XTENSA: static should be at beginning of declaration
SH: static should be at beginning of declaration
MIPS: static should be at beginning of declaration
ARM: static should be at beginning of declaration
rcu: treewide: Do not use rcu_read_lock_held when calling
rcu_dereference_check
Update my e-mail address
PCIe ASPM: forcedly -> forcibly
gma500: push through device driver tree
...
Fix up trivial conflicts:
- arch/arm/mach-ep93xx/dma-m2p.c (deleted)
- drivers/gpio/gpio-ep93xx.c (renamed and context nearby)
- drivers/net/r8169.c (just context changes)
commit 4e34e719e457f2e031297175410fc0bd4016a085
Author: Christoph Hellwig <hch@xxxxxx>
Date: Sat Jul 23 17:37:31 2011 +0200
fs: take the ACL checks to common code
Replace the ->check_acl method with a ->get_acl method that simply reads an
ACL from disk after having a cache miss. This means we can replace the ACL
checking boilerplate code with a single implementation in namei.c.
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 826cae2f2b4d726b925f43bc208a571639da4761
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Jul 23 03:10:32 2011 -0400
kill boilerplates around posix_acl_create_masq()
new helper: posix_acl_create(&acl, gfp, mode_p). Replaces acl with
modified clone, on failure releases acl and replaces with NULL.
Returns 0 or -ve on error. All callers of posix_acl_create_masq()
switched.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit bc26ab5f65ae41b71df86ea46df3c3833d1d8d83
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Sat Jul 23 00:18:02 2011 -0400
kill boilerplate around posix_acl_chmod_masq()
new helper: posix_acl_chmod(&acl, gfp, mode). Replaces acl with modified
clone or with NULL if that has failed; returns 0 or -ve on error. All
callers of posix_acl_chmod_masq() switched to that - they'd been doing
exactly the same thing.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 6311b10800a4bdc3f2c85d01fb113cf49bb83770
Author: Christoph Hellwig <hch@xxxxxx>
Date: Sat Jul 23 17:36:50 2011 +0200
xfs: cache negative ACLs if there is no attribute fork
Always set up a negative ACL cache entry if the inode doesn't have an
attribute fork. That behaves much better than doing this check inside
->check_acl.
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit e77819e57f0817c6dc7cadd061acd70c604cbce2
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Jul 22 19:30:19 2011 -0700
vfs: move ACL cache lookup into generic code
This moves logic for checking the cached ACL values from low-level
filesystems into generic code. The end result is a streamlined ACL
check that doesn't need to load the inode->i_op->check_acl pointer at
all for the common cached case.
The filesystems also don't need to check for a non-blocking RCU walk
case in their acl_check() functions, because that is all handled at a
VFS layer.
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 340a0a01b9675a16201cc4fc4a210eb5b3bc11ce
Author: Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx>
Date: Sun Jul 24 14:03:30 2011 +0200
xfs: Fix wrong return value of xfs_file_aio_write
The fsync prototype change commit 02c24a82187d accidentally overwrote
the ssize_t return value of xfs_file_aio_write with 0 for SYNC type
writes. Fix this by checking if an error occured when calling
xfs_file_fsync and only change the return value in this case.
In addition xfs_file_fsync actually returns a normal negative error, so
fix this, too.
Signed-off-by: Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Tested-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit bbd9d6f7fbb0305c9a592bf05a32e87eb364a4ff
Merge: 8e204874db000928e37199c2db82b7eb8966cc3c
5a9a43646cf709312d71eca71cef90ad802f28f9
Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Fri Jul 22 19:02:39 2011 -0700
Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
* 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (107 commits)
vfs: use ERR_CAST for err-ptr tossing in lookup_instantiate_filp
isofs: Remove global fs lock
jffs2: fix IN_DELETE_SELF on overwriting rename() killing a directory
fix IN_DELETE_SELF on overwriting rename() on ramfs et.al.
mm/truncate.c: fix build for CONFIG_BLOCK not enabled
fs:update the NOTE of the file_operations structure
Remove dead code in dget_parent()
AFS: Fix silly characters in a comment
switch d_add_ci() to d_splice_alias() in "found negative" case as well
simplify gfs2_lookup()
jfs_lookup(): don't bother with . or ..
get rid of useless dget_parent() in btrfs rename() and link()
get rid of useless dget_parent() in fs/btrfs/ioctl.c
fs: push i_mutex and filemap_write_and_wait down into ->fsync() handlers
drivers: fix up various ->llseek() implementations
fs: handle SEEK_HOLE/SEEK_DATA properly in all fs's that define their own
llseek
Ext4: handle SEEK_HOLE/SEEK_DATA generically
Btrfs: implement our own ->llseek
fs: add SEEK_HOLE and SEEK_DATA flags
reiserfs: make reiserfs default to barrier=flush
...
Fix up trivial conflicts in fs/xfs/linux-2.6/xfs_super.c due to the new
shrinker callout for the inode cache, that clashed with the xfs code to
start the periodic workers later.
commit df2e301fee3c2c2a87592151397ad7699bb14c37
Author: Jean Delvare <khali@xxxxxxxxxxxx>
Date: Sat Jul 16 18:10:35 2011 +0200
fs: Merge split strings
No idea why these were split in the first place...
Signed-off-by: Jean Delvare <khali@xxxxxxxxxxxx>
Signed-off-by: Jiri Kosina <jkosina@xxxxxxx>
commit 02c24a82187d5a628c68edfe71ae60dc135cd178
Author: Josef Bacik <josef@xxxxxxxxxx>
Date: Sat Jul 16 20:44:56 2011 -0400
fs: push i_mutex and filemap_write_and_wait down into ->fsync() handlers
Btrfs needs to be able to control how filemap_write_and_wait_range() is
called
in fsync to make it less of a painful operation, so push down taking
i_mutex and
the calling of filemap_write_and_wait() down into the ->fsync() handlers.
Some
file systems can drop taking the i_mutex altogether it seems, like ext3 and
ocfs2. For correctness sake I just pushed everything down in all cases to
make
sure that we keep the current behavior the same for everybody, and then each
individual fs maintainer can make up their mind about what to do from there.
Thanks,
Acked-by: Jan Kara <jack@xxxxxxx>
Signed-off-by: Josef Bacik <josef@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 72c5052ddc3956d847f21c2b8d55c93664a51b2c
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Fri Jun 24 14:29:48 2011 -0400
fs: move inode_dio_done to the end_io handler
For filesystems that delay their end_io processing we should keep our
i_dio_count until the the processing is done. Enable this by moving
the inode_dio_done call to the end_io handler if one exist. Note that
the actual move to the workqueue for ext4 and XFS is not done in
this patch yet, but left to the filesystem maintainers. At least
for XFS it's not needed yet either as XFS has an internal equivalent
to i_dio_count.
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 8daaa83145ef1f0a146680618328dbbd0fa76939
Author: Dave Chinner <dchinner@xxxxxxxxxx>
Date: Fri Jul 8 14:14:46 2011 +1000
xfs: make use of new shrinker callout for the inode cache
Convert the inode reclaim shrinker to use the new per-sb shrinker
operations. This allows much bigger reclaim batches to be used, and
allows the XFS inode cache to be shrunk in proportion with the VFS
dentry and inode caches. This avoids the problem of the VFS caches
being shrunk significantly before the XFS inode cache is shrunk
resulting in imbalances in the caches during reclaim.
Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 7e40145eb111a5192e6d819f764db9d6828d1abb
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Mon Jun 20 19:12:17 2011 -0400
->permission() sanitizing: don't pass flags to ->check_acl()
not used in the instances anymore.
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
commit 9c2c703929e4c41210cfa6e3f599514421bab8dc
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Mon Jun 20 19:06:22 2011 -0400
->permission() sanitizing: pass MAY_NOT_BLOCK to ->check_acl()
Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
-----------------------------------------------------------------------
Summary of changes:
fs/xfs/linux-2.6/xfs_acl.c | 80 ++++++++++--------------------------------
fs/xfs/linux-2.6/xfs_aops.c | 3 ++
fs/xfs/linux-2.6/xfs_buf.c | 3 ++
fs/xfs/linux-2.6/xfs_file.c | 18 ++++++----
fs/xfs/linux-2.6/xfs_iops.c | 19 +++++++---
fs/xfs/linux-2.6/xfs_super.c | 27 +++++++++-----
fs/xfs/linux-2.6/xfs_sync.c | 71 ++++++++++++++-----------------------
fs/xfs/linux-2.6/xfs_sync.h | 5 +--
fs/xfs/linux-2.6/xfs_trace.h | 2 +-
fs/xfs/xfs_acl.h | 2 -
fs/xfs/xfs_da_btree.c | 32 +++++++++++------
fs/xfs/xfs_dir2_node.c | 2 +-
12 files changed, 119 insertions(+), 145 deletions(-)
hooks/post-receive
--
XFS development tree
|