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
|