xfs
[Top] [All Lists]

[XFS updates] XFS development tree branch, master, updated. v2.6.30-rc4-

To: xfs@xxxxxxxxxxx
Subject: [XFS updates] XFS development tree branch, master, updated. v2.6.30-rc4-1238-g35fd035
From: xfs@xxxxxxxxxxx
Date: Thu, 11 Jun 2009 17:03:35 -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, master has been updated
  35fd035 Merge branch 'master' of git://git.kernel.org/pub/scm/fs/xfs/xfs
  ef14f0c xfs: use generic Posix ACL code
  8b5403a xfs: remove SYNC_BDFLUSH
  b0710cc xfs: remove SYNC_IOWAIT
  075fe10 xfs: split xfs_sync_inodes
  fe588ed xfs: use generic inode iterator in xfs_qm_dqrele_all_inodes
  75f3cb1 xfs: introduce a per-ag inode iterator
  abc1064 xfs: remove unused parameter from xfs_reclaim_inodes
  1da8eec xfs: factor out inode validation for sync
  845b6d0 xfs: split inode flushing from xfs_sync_inodes_ag
  5a34d5c xfs: split inode data writeback from xfs_sync_inodes_ag
  7d09525 xfs: kill xfs_qmops
  0c5e1ce xfs: validate quota log items during log recovery
  e169683 xfs: update max log size
  4157fd8 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
  1b17d76 xfs: prevent deadlock in xfs_qm_shake()
  e6da7c9 xfs: fix overflow in xfs_growfs_data_private
  1f23920 xfs: fix double unlock in xfs_swap_extents()
  b4348f3 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
  28e2117 xfs: fix getbmap vs mmap deadlock
  5f79ed6 xfs: a couple getbmap cleanups
  b9ec906 xfs: add more checks to superblock validation
  def6b3b xfs_file_last_byte() needs to acquire ilock
  0e639bd xfs: use memdup_user()
  3c1795c Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
  dc2a553 Merge branch 'master' into for-linus
  ac7c1a7 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
  8fe74cf Merge branch 'for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
  f36345f Merge branch 'master' of 
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus
  c2ec175 mm: page_mkwrite change prototype to match fault
  ce3b0f8 New helper - current_umask()
      from  4156e735d3abde8e9243b5d22f7999dd3fffab2e (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 35fd035968de4f674b9d62ee7b1d80ab7a50c384
Merge: 4e73e0eb633f8a1b5cbf20e7f42c6dbfec1d1ca7 
ef14f0c1578dce4b688726eb2603e50b62d6665a
Author: Felix Blyakher <felixb@xxxxxxx>
Date:   Thu Jun 11 16:56:49 2009 -0500

    Merge branch 'master' of git://git.kernel.org/pub/scm/fs/xfs/xfs

commit ef14f0c1578dce4b688726eb2603e50b62d6665a
Author: Christoph Hellwig <hch@xxxxxx>
Date:   Wed Jun 10 17:07:47 2009 +0200

    xfs: use generic Posix ACL code
    
    This patch rips out the XFS ACL handling code and uses the generic
    fs/posix_acl.c code instead.  The ondisk format is of course left
    unchanged.
    
    This also introduces the same ACL caching all other Linux filesystems do
    by adding pointers to the acl and default acl in struct xfs_inode.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxxx>

commit 8b5403a6d772d340541cfb30a668fde119c40ac1
Author: Christoph Hellwig <hch@xxxxxx>
Date:   Mon Jun 8 15:37:16 2009 +0200

    xfs: remove SYNC_BDFLUSH
    
    SYNC_BDFLUSH is a leftover from IRIX and rather misnamed for todays
    code.  Make xfs_sync_fsdata and xfs_dq_sync use the SYNC_TRYLOCK flag
    for not blocking on logs just as the inode sync code already does.
    
    For xfs_sync_fsdata it's a trivial 1:1 replacement, but for xfs_qm_sync
    I use the opportunity to decouple the non-blocking lock case from the
    different flushing modes, similar to the inode sync code.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxxx>

commit b0710ccc6d9fa8fb908b5f6d1b0782a09d80e24f
Author: Christoph Hellwig <hch@xxxxxx>
Date:   Mon Jun 8 15:37:11 2009 +0200

    xfs: remove SYNC_IOWAIT
    
    We want to wait for all I/O to finish when we do data integrity syncs.  So
    there is no reason to keep SYNC_WAIT separate from SYNC_IOWAIT.  This
    causes a little change in behaviour for the ENOSPC flushing code which now
    does a second submission and wait of buffered I/O, but that should finish
    ASAP as we already did an asynchronous writeout earlier.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Josef 'Jeff' Sipek <jeffpc@xxxxxxxxxxxxxx>
    Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxxx>

commit 075fe1028699f6a280545dfc2cfc5ac82d555c8c
Author: Christoph Hellwig <hch@xxxxxx>
Date:   Mon Jun 8 15:35:48 2009 +0200

    xfs: split xfs_sync_inodes
    
    xfs_sync_inodes is used to write back either file data or inode metadata.
    In general we always do these separately, except for one fishy case in
    xfs_fs_put_super that does both.  So separate xfs_sync_inodes into
    separate xfs_sync_data and xfs_sync_attr functions.  In xfs_fs_put_super
    we first call the data sync and then the attr sync as that was the previous
    order.  The moved log force in that path doesn't make a difference because
    we will force the log again as part of the real unmount process.
    
    The filesystem readonly checks are not performed by the new function but
    instead moved into the callers, given that most callers alredy have it
    further up in the stack.  Also add debug checks that we do not pass in
    incorrect flags in the new xfs_sync_data and xfs_sync_attr function and
    fix the one place that did pass in a wrong flag.
    
    Also remove a comment mentioning xfs_sync_inodes that has been incorrect
    for a while because we always take either the iolock or ilock in the
    sync path these days.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxxx>

commit fe588ed32867b42e0d906db558ca92fd9f8b128e
Author: Christoph Hellwig <hch@xxxxxx>
Date:   Mon Jun 8 15:35:27 2009 +0200

    xfs: use generic inode iterator in xfs_qm_dqrele_all_inodes
    
    Use xfs_inode_ag_iterator instead of opencoding the inode walk in the
    quota code.  Mark xfs_inode_ag_iterator and xfs_sync_inode_valid non-static
    to allow using them from the quota code.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Josef 'Jeff' Sipek <jeffpc@xxxxxxxxxxxxxx>
    Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxxx>

commit 75f3cb1393133682958db6f157e1b6473e5a366b
Author: Dave Chinner <david@xxxxxxxxxxxxx>
Date:   Mon Jun 8 15:35:14 2009 +0200

    xfs: introduce a per-ag inode iterator
    
    Given that we walk across the per-ag inode lists so often, it makes sense to
    introduce an iterator for this.
    
    Convert the sync and reclaim code to use this new iterator, quota code will
    follow in the next patch.
    
    Also change xfs_reclaim_inode to return -EGAIN instead of 1 for an inode
    already under reclaim.  This simplifies the AG iterator and doesn't
    matter for the only other caller.
    
    [hch: merged the lookup and execute callbacks back into one to get the
     pag_ici_lock locking correct and simplify the code flow]
    
    Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxxx>

commit abc1064742604e60a47a65fa3214dc1a84db093d
Author: Dave Chinner <david@xxxxxxxxxxxxx>
Date:   Mon Jun 8 15:35:12 2009 +0200

    xfs: remove unused parameter from xfs_reclaim_inodes
    
    The noblock parameter of xfs_reclaim_inodes is only ever set to zero. Remove
    it and all the conditional code that is never executed.
    
    Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxxx>

commit 1da8eecab5f866b4f5be43adbaadf18e259a8cc5
Author: Dave Chinner <david@xxxxxxxxxxxxx>
Date:   Mon Jun 8 15:35:07 2009 +0200

    xfs: factor out inode validation for sync
    
    Separate the validation of inodes found by the radix
    tree walk from the radix tree lookup.
    
    Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxxx>

commit 845b6d0cbbc2304e8a54ed4038272c55f85b2269
Author: Christoph Hellwig <hch@xxxxxx>
Date:   Mon Jun 8 15:35:05 2009 +0200

    xfs: split inode flushing from xfs_sync_inodes_ag
    
    In many cases we only want to sync inode metadata. Split out the inode
    flushing into a separate helper to prepare factoring the inode sync code.
    
    Based on a patch from Dave Chinner, but redone to keep the current behaviour
    exactly and leave changes to the flushing logic to another patch.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxxx>

commit 5a34d5cd096310133f9208db294021208a96660d
Author: Dave Chinner <david@xxxxxxxxxxxxx>
Date:   Mon Jun 8 15:35:03 2009 +0200

    xfs: split inode data writeback from xfs_sync_inodes_ag
    
    In many cases we only want to sync inode data. Start spliting the inode sync
    into data sync and inode sync by factoring out the inode data flush.
    
    [hch: minor cleanups]
    
    Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxxx>

commit 7d095257e321214e4cf359abd131ba1f09c60cba
Author: Christoph Hellwig <hch@xxxxxx>
Date:   Mon Jun 8 15:33:32 2009 +0200

    xfs: kill xfs_qmops
    
    Kill the quota ops function vector and replace it with direct calls or
    stubs in the CONFIG_XFS_QUOTA=n case.
    
    Make sure we check XFS_IS_QUOTA_RUNNING in the right spots.  We can remove
    the number of those checks because the XFS_TRANS_DQ_DIRTY flag can't be set
    otherwise.
    
    This brings us back closer to the way this code worked in IRIX and earlier
    Linux versions, but we keep a lot of the more useful factoring of common
    code.
    
    Eventually we should also kill xfs_qm_bhv.c, but that's left for a later
    patch.
    
    Reduces the size of the source code by about 250 lines and the size of
    XFS module by about 1.5 kilobytes with quotas enabled:
    
       text        data     bss     dec     hex filename
     615957        2960    3848  622765   980ad fs/xfs/xfs.o
     617231        3152    3848  624231   98667 fs/xfs/xfs.o.old
    
    Fallout:
    
     - xfs_qm_dqattach is split into xfs_qm_dqattach_locked which expects
       the inode locked and xfs_qm_dqattach which does the locking around it,
       thus removing XFS_QMOPT_ILOCKED.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxxx>

commit 0c5e1ce89f1eacc366ec421c0f5f681159479c28
Author: Christoph Hellwig <hch@xxxxxx>
Date:   Mon Jun 8 15:33:21 2009 +0200

    xfs: validate quota log items during log recovery
    
    Arkadiusz has seen really strange crashes in xfs_qm_dqcheck that
    I can only explain by a log item being too smal to actually fit the
    xfs_dqblk_t we're dereferencing all over xfs_qm_dqcheck.  So add
    graceful checks for NULL or too small quota items to the log recovery
    code.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxxx>

commit e1696834e8a15d7ef9ae8ffdffe00bac1399a2e3
Author: Christoph Hellwig <hch@xxxxxx>
Date:   Mon Jun 8 15:32:59 2009 +0200

    xfs: update max log size
    
    Commit a6634fba3dec4a92f0a2c4e30c80b634c0576ad5 in xfsprogs increased the
    maximum log size supported by mkfs.  Merged back the changes to xfs_fs.h
    so the growfs enforced the same limit and the headers are in sync.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxxx>

-----------------------------------------------------------------------

Summary of changes:
 fs/xfs/Kconfig                  |    1 +
 fs/xfs/Makefile                 |    5 +-
 fs/xfs/linux-2.6/xfs_acl.c      |  523 +++++++++++++++++++++++
 fs/xfs/linux-2.6/xfs_file.c     |    4 +-
 fs/xfs/linux-2.6/xfs_ioctl.c    |   48 +--
 fs/xfs/linux-2.6/xfs_ioctl32.c  |   12 +-
 fs/xfs/linux-2.6/xfs_iops.c     |   55 +--
 fs/xfs/linux-2.6/xfs_lrw.c      |    1 -
 fs/xfs/linux-2.6/xfs_quotaops.c |    4 +-
 fs/xfs/linux-2.6/xfs_super.c    |   49 ++-
 fs/xfs/linux-2.6/xfs_sync.c     |  479 +++++++++++----------
 fs/xfs/linux-2.6/xfs_sync.h     |   19 +-
 fs/xfs/linux-2.6/xfs_xattr.c    |   67 +---
 fs/xfs/quota/xfs_dquot.c        |    5 +-
 fs/xfs/quota/xfs_dquot.h        |    1 -
 fs/xfs/quota/xfs_dquot_item.c   |    1 -
 fs/xfs/quota/xfs_qm.c           |  168 ++++----
 fs/xfs/quota/xfs_qm.h           |   21 -
 fs/xfs/quota/xfs_qm_bhv.c       |   77 +----
 fs/xfs/quota/xfs_qm_stats.c     |    1 -
 fs/xfs/quota/xfs_qm_syscalls.c  |  113 ++----
 fs/xfs/quota/xfs_trans_dquot.c  |   66 ++--
 fs/xfs/xfs_acl.c                |  874 ---------------------------------------
 fs/xfs/xfs_acl.h                |   97 ++---
 fs/xfs/xfs_ag.h                 |    2 +
 fs/xfs/xfs_arch.h               |   32 --
 fs/xfs/xfs_attr.c               |   13 +-
 fs/xfs/xfs_bmap.c               |   33 +-
 fs/xfs/xfs_bmap_btree.c         |    4 +-
 fs/xfs/xfs_filestream.c         |    6 +-
 fs/xfs/xfs_fs.h                 |   11 +-
 fs/xfs/xfs_iget.c               |    8 +-
 fs/xfs/xfs_inode.c              |    1 -
 fs/xfs/xfs_inode.h              |    6 +
 fs/xfs/xfs_iomap.c              |   13 +-
 fs/xfs/xfs_log_recover.c        |   38 ++-
 fs/xfs/xfs_mount.c              |  105 ++++-
 fs/xfs/xfs_mount.h              |   84 +----
 fs/xfs/xfs_qmops.c              |  152 -------
 fs/xfs/xfs_quota.h              |  122 +++---
 fs/xfs/xfs_rename.c             |    3 +-
 fs/xfs/xfs_rw.c                 |    1 -
 fs/xfs/xfs_trans.c              |   15 +-
 fs/xfs/xfs_utils.c              |    2 +-
 fs/xfs/xfs_vnodeops.c           |  114 +++---
 fs/xfs/xfs_vnodeops.h           |    1 +
 46 files changed, 1347 insertions(+), 2110 deletions(-)
 create mode 100644 fs/xfs/linux-2.6/xfs_acl.c
 delete mode 100644 fs/xfs/xfs_acl.c
 delete mode 100644 fs/xfs/xfs_qmops.c


hooks/post-receive
-- 
XFS development tree

<Prev in Thread] Current Thread [Next in Thread>
  • [XFS updates] XFS development tree branch, master, updated. v2.6.30-rc4-1238-g35fd035, xfs <=