xfs
[Top] [All Lists]

[XFS updates] XFS development tree branch, for-linus, updated. v2.6.38-2

To: xfs@xxxxxxxxxxx
Subject: [XFS updates] XFS development tree branch, for-linus, updated. v2.6.38-26547-g510792e
From: xfs@xxxxxxxxxxx
Date: Wed, 27 Jul 2011 15:06:11 -0500
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

<Prev in Thread] Current Thread [Next in Thread>
  • [XFS updates] XFS development tree branch, for-linus, updated. v2.6.38-26547-g510792e, xfs <=