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