[XFS updates] XFS development tree branch, master, updated. v3.2-rc1-29-g7ae4440

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
  7ae4440 xfs: remove XFS_QMOPT_DQSUSER
  97e7ade xfs: kill xfs_qm_idtodq
  49d35a5 xfs: merge xfs_qm_dqinit_core into the only caller
  78e5589 xfs: add a xfs_dqhold helper
  ab680bb xfs: simplify xfs_qm_dqattach_grouphint
  bf72de3 xfs: nest qm_dqfrlist_lock inside the dquot qlock
  9267855 xfs: flatten the dquot lock ordering
  be7ffc3 xfs: implement lazy removal for the dquot freelist
  80a376b xfs: remove XFS_DQ_INACTIVE
  497507b xfs: cleanup xfs_qm_dqlookup
  800b484 xfs: cleanup dquot locking helpers
  a7ef9bd xfs: remove the sync_mode argument to xfs_qm_dqflush_all
  34625c6 xfs: remove xfs_qm_sync
  f2fba55 xfs: make sure to really flush all dquots in xfs_qm_quotacheck
  fdedf28 xfs: untangle SYNC_WAIT and SYNC_TRYLOCK meanings for xfs_qm_dqflush
  b393421 xfs: remove the lid_size field in struct log_item_desc
  0244b96 xfs: cleanup the transaction commit path a bit
  93b8a58 xfs: remove the deprecated nodelaylog option
      from  9f9c19ec1a59422c7687b11847ed3408128aa0d6 (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 7ae4440723a413c7a52edd27f654c34680dd4ea2
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Tue Dec 6 21:58:25 2011 +0000

    xfs: remove XFS_QMOPT_DQSUSER
    
    Just read the id 0 dquot from disk directly in xfs_qm_init_quotainfo instead
    of going through dqget and requiring a special flag to not add the dquot to
    any lists.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
    Signed-off-by: Ben Myers <bpm@xxxxxxx>

commit 97e7ade506cdd7157d8b64c77696c082fb997476
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Tue Dec 6 21:58:24 2011 +0000

    xfs: kill xfs_qm_idtodq
    
    This function doesn't help the code flow, so merge the dquot allocation and
    transaction handling into xfs_qm_dqread.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
    Signed-off-by: Ben Myers <bpm@xxxxxxx>

commit 49d35a5cf115d9273edb8aa7e527502411b77712
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Tue Dec 6 21:58:23 2011 +0000

    xfs: merge xfs_qm_dqinit_core into the only caller
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
    Signed-off-by: Ben Myers <bpm@xxxxxxx>

commit 78e55892d65ea69fbf252e086375d0d8f081b6c8
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Tue Dec 6 21:58:22 2011 +0000

    xfs: add a xfs_dqhold helper
    
    Factor the common pattern of:
    
    	xfs_dqlock(dqp);
    	XFS_DQHOLD(dqp);
    	xfs_dqunlock(dqp);
    
    into a new helper, and remove XFS_DQHOLD now that only one other caller
    is left.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
    Signed-off-by: Ben Myers <bpm@xxxxxxx>

commit ab680bb739ca0e969148951c2e127f6683dcb933
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Tue Dec 6 21:58:20 2011 +0000

    xfs: simplify xfs_qm_dqattach_grouphint
    
    No need to play games with the qlock now that the freelist lock nests inside
    it.  Also clean up various outdated comments.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
    Signed-off-by: Ben Myers <bpm@xxxxxxx>

commit bf72de3194e73fa210a904b0bd951135286bb385
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Tue Dec 6 21:58:19 2011 +0000

    xfs: nest qm_dqfrlist_lock inside the dquot qlock
    
    Allow xfs_qm_dqput to work without trylock loops by nesting the freelist lock
    inside the dquot qlock.  In turn that requires trylocks in the reclaim path
    instead, but given it's a classic tradeoff between fast and slow path, and
    we follow the model of the inode and dentry caches.
    
    Document our new lock order now that it has settled.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
    Signed-off-by: Ben Myers <bpm@xxxxxxx>

commit 92678554abfc2a2f2727ad168da87d8d434ac904
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Tue Dec 6 21:58:18 2011 +0000

    xfs: flatten the dquot lock ordering
    
    Introduce a new XFS_DQ_FREEING flag that tells lookup and mplist walks
    to skip a dquot that is beeing freed, and use this avoid the trylock
    on the hash and mplist locks in xfs_qm_dqreclaim_one.  Also simplify
    xfs_dqpurge by moving the inodes to a dispose list after marking them
    XFS_DQ_FREEING and avoid the locker ordering constraints.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
    Signed-off-by: Ben Myers <bpm@xxxxxxx>

commit be7ffc38a80a78e6b68d0f51fae8e8d57b55324c
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Tue Dec 6 21:58:17 2011 +0000

    xfs: implement lazy removal for the dquot freelist
    
    Do not remove dquots from the freelist when we grab a reference to them in
    xfs_qm_dqlookup, but leave them on the freelist util scanning notices that
    they have a reference.  This speeds up the lookup fastpath, and greatly
    simplifies the lock ordering constraints.  Note that the same scheme is
    used by the VFS inode and dentry caches.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
    Signed-off-by: Ben Myers <bpm@xxxxxxx>

commit 80a376bfb7f8ff8f1942cb1bdd0052e908918252
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Tue Dec 6 21:58:16 2011 +0000

    xfs: remove XFS_DQ_INACTIVE
    
    Free dquots when purging them during umount instead of keeping them around
    on the freelist in a degraded state.  The out of order locking in
    xfs_qm_dqpurge will be removed again later in this series.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
    Signed-off-by: Ben Myers <bpm@xxxxxxx>

commit 497507b9ee63499d364ad7149c584285cd925dfc
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Tue Dec 6 21:58:15 2011 +0000

    xfs: cleanup xfs_qm_dqlookup
    
    Rearrange the code to avoid the conditional locking around the flist_locked
    variable.  This means we lose a (rather pointless) assert, and hold the
    freelist lock a bit longer for one corner case.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
    Signed-off-by: Ben Myers <bpm@xxxxxxx>

commit 800b484ec0262946262ad20561a8081fd31f4a6f
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Tue Dec 6 21:58:14 2011 +0000

    xfs: cleanup dquot locking helpers
    
    Mark the trivial lock wrappers as inline, and make the naming consistent
    for all of them.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
    Signed-off-by: Ben Myers <bpm@xxxxxxx>

commit a7ef9bd79f488c643edfda7dedcbdb0a1b8e7552
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Tue Dec 6 21:58:13 2011 +0000

    xfs: remove the sync_mode argument to xfs_qm_dqflush_all
    
    It always is zero, and removing it will make future changes easier.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
    Signed-off-by: Ben Myers <bpm@xxxxxxx>

commit 34625c661b01dab193c7e8a0151a63553e97cfdf
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Tue Dec 6 21:58:12 2011 +0000

    xfs: remove xfs_qm_sync
    
    Now that we can't have any dirty dquots around that aren't in the AIL we
    can get rid of the explicit dquot syncing from xfssyncd and xfs_fs_sync_fs
    and instead rely on AIL pushing to write out any quota updates.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
    Signed-off-by: Ben Myers <bpm@xxxxxxx>

commit f2fba558d3c80dcd10bbadbb8f05c78dc2860b95
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Tue Dec 6 21:58:11 2011 +0000

    xfs: make sure to really flush all dquots in xfs_qm_quotacheck
    
    Make sure we do not skip any dquots when flushing them out after a
    quotacheck to make sure that we will never have any dirty dquots on a
    live filesystem.  At this point no dquot should be pinnable, but lets
    be pedantic about it.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
    Signed-off-by: Ben Myers <bpm@xxxxxxx>

commit fdedf28b9492d69976110d12cc0d02d33c8ea7ea
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Tue Dec 6 21:58:10 2011 +0000

    xfs: untangle SYNC_WAIT and SYNC_TRYLOCK meanings for xfs_qm_dqflush
    
    Only skip pinned dquots if SYNC_TRYLOCK is specified, and adjust the callers
    to keep the behaviour unchanged.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
    Signed-off-by: Ben Myers <bpm@xxxxxxx>

commit b39342134a6ec72778ffc2ddbd3c0faa10c64676
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Tue Dec 6 21:58:09 2011 +0000

    xfs: remove the lid_size field in struct log_item_desc
    
    Outside the now removed nodelaylog code this field is only used for
    asserts and can be safely removed now.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
    Signed-off-by: Ben Myers <bpm@xxxxxxx>

commit 0244b9603df38bf19155b761689e1a816fc50b0a
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Tue Dec 6 21:58:08 2011 +0000

    xfs: cleanup the transaction commit path a bit
    
    Now that the nodelaylog mode is gone we can simplify the transaction commit
    path a bit by removing the xfs_trans_commit_cil routine.  Restoring the
    process flags is merged into xfs_trans_commit which already does it for
    the error path, and allocating the log vectors is merged into
    xlog_cil_format_items, which already fills them with data, thus avoiding
    one loop over all log items.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
    Signed-off-by: Ben Myers <bpm@xxxxxxx>

commit 93b8a5854f247138e401471a9c3b82ccb62ff608
Author: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date:   Tue Dec 6 21:58:07 2011 +0000

    xfs: remove the deprecated nodelaylog option
    
    The delaylog mode has been the default for a long time, and the nodelaylog
    option has been scheduled for removal in Linux 3.3.  Remove it and code
    only used by it now that we have opened the 3.3 window.
    
    Signed-off-by: Christoph Hellwig <hch@xxxxxx>
    Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
    Signed-off-by: Ben Myers <bpm@xxxxxxx>

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

Summary of changes:
 fs/xfs/xfs_dquot.c      |  500 ++++++++++++++++-------------------------------
 fs/xfs/xfs_dquot.h      |   39 +++-
 fs/xfs/xfs_dquot_item.c |    5 +-
 fs/xfs/xfs_inode_item.c |    2 -
 fs/xfs/xfs_log.c        |   79 ++------
 fs/xfs/xfs_log.h        |    8 +-
 fs/xfs/xfs_log_cil.c    |   96 ++++++----
 fs/xfs/xfs_mount.h      |    1 -
 fs/xfs/xfs_qm.c         |  442 ++++++++++--------------------------------
 fs/xfs/xfs_qm.h         |    6 -
 fs/xfs/xfs_quota.h      |   12 +-
 fs/xfs/xfs_super.c      |   26 +--
 fs/xfs/xfs_sync.c       |    6 +-
 fs/xfs/xfs_trace.h      |    2 -
 fs/xfs/xfs_trans.c      |  475 +--------------------------------------------
 fs/xfs/xfs_trans.h      |    3 +-
 16 files changed, 399 insertions(+), 1303 deletions(-)


hooks/post-receive
-- 
XFS development tree

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs


[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux