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 8f639dd xfs: reimplement fdatasync support f5d8d5c xfs: split in-core and on-disk inode log item fields 339a5f5 xfs: make xfs_inode_item_size idempotent 8a9c998 xfs: log timestamp updates 281627d xfs: log file size updates at I/O completion time 84803fb xfs: log file size updates as part of unwritten extent conversion 6923e68 xfs: do not require an ioend for new EOF calculation aa6bf01 xfs: use per-filesystem I/O completion workqueues from 4b217ed9e30f94b6e8e5e262020ef0ceab6113af (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 8f639ddea0c4978ae9b4e46ea041c9e5afe0ee8d Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Wed Feb 29 09:53:55 2012 +0000 xfs: reimplement fdatasync support Add an in-memory only flag to say we logged timestamps only, and use it to check if fdatasync can optimize away the log force. Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Mark Tinguely <tinguely@xxxxxxx> Signed-off-by: Ben Myers <bpm@xxxxxxx> commit f5d8d5c4bf29c9f7754d9cbe5e27c785106ba872 Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Wed Feb 29 09:53:54 2012 +0000 xfs: split in-core and on-disk inode log item fields Add a new ili_fields member to the inode log item to isolate the in-memory flags from the ones that actually go to the log. This will allow tracking timestamp-only updates for fdatasync and O_DSYNC in the next patch and prepares for divorcing the on-disk log format from the in-memory log item a little further down the road. Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Mark Tinguely <tinguely@xxxxxxx> Signed-off-by: Ben Myers <bpm@xxxxxxx> commit 339a5f5dd9d3ac3d68a594d81507e1eab77ed223 Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Wed Feb 29 09:53:53 2012 +0000 xfs: make xfs_inode_item_size idempotent Move all code messing with the inode log item flags into xfs_inode_item_format to make sure xfs_inode_item_size really only calculates the the number of vectors, but doesn't modify any state of the inode item. Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Mark Tinguely <tinguely@xxxxxxx> Signed-off-by: Ben Myers <bpm@xxxxxxx> commit 8a9c9980f24f6d86e0ec0150ed35fba45d0c9f88 Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Wed Feb 29 09:53:52 2012 +0000 xfs: log timestamp updates Timestamps on regular files are the last metadata that XFS does not update transactionally. Now that we use the delaylog mode exclusively and made the log scode scale extremly well there is no need to bypass that code for timestamp updates. Logging all updates allows to drop a lot of code, and will allow for further performance improvements later on. Note that this patch drops optimized handling of fdatasync - it will be added back in a separate commit. Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Mark Tinguely <tinguely@xxxxxxx> Signed-off-by: Ben Myers <bpm@xxxxxxx> commit 281627df3eb55e1b729b9bb06fff5ff112929646 Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Tue Mar 13 08:41:05 2012 +0000 xfs: log file size updates at I/O completion time Do not use unlogged metadata updates and the VFS dirty bit for updating the file size after writeback. In addition to causing various problems with updates getting delayed for far too long this also drags in the unscalable VFS dirty tracking, and is one of the few remaining unlogged metadata updates. Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Mark Tinguely <tinguely@xxxxxxx> Signed-off-by: Ben Myers <bpm@xxxxxxx> commit 84803fb78237014cbbc86c0f012b273a199f4691 Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Wed Feb 29 09:53:50 2012 +0000 xfs: log file size updates as part of unwritten extent conversion If we convert and unwritten extent past the current i_size log the size update as part of the extent manipulation transactions instead of doing an unlogged metadata update later. Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Mark Tinguely <tinguely@xxxxxxx> Signed-off-by: Ben Myers <bpm@xxxxxxx> commit 6923e686f19cb7017fc9777a10e06c2e2b2a2936 Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Wed Feb 29 09:53:49 2012 +0000 xfs: do not require an ioend for new EOF calculation Replace xfs_ioend_new_eof with a new inline xfs_new_eof helper that doesn't require and ioend, and is available also outside of xfs_aops.c. Also make the code a bit more clear by using a normal if statement instead of a slightly misleading MIN(). Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Mark Tinguely <tinguely@xxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ben Myers <bpm@xxxxxxx> commit aa6bf01d391935a8929333bc2e243084ea0c58db Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Wed Feb 29 09:53:48 2012 +0000 xfs: use per-filesystem I/O completion workqueues The new concurrency managed workqueues are cheap enough that we can create per-filesystem instead of global workqueues. This allows us to remove the trylock or defer scheme on the ilock, which is not helpful once we have outstanding log reservations until finishing a size update. Also allow the default concurrency on this workqueues so that I/O completions blocking on the ilock for one inode do not block process for another inode. Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Mark Tinguely <tinguely@xxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ben Myers <bpm@xxxxxxx> ----------------------------------------------------------------------- Summary of changes: fs/xfs/xfs_aops.c | 183 +++++++++++++++++++----------- fs/xfs/xfs_aops.h | 4 +- fs/xfs/xfs_buf.c | 17 --- fs/xfs/xfs_dfrag.c | 24 ++-- fs/xfs/xfs_file.c | 84 +++----------- fs/xfs/xfs_iget.c | 1 - fs/xfs/xfs_inode.c | 94 ++++++---------- fs/xfs/xfs_inode.h | 19 +++- fs/xfs/xfs_inode_item.c | 291 +++++++++++++++++----------------------------- fs/xfs/xfs_inode_item.h | 16 ++- fs/xfs/xfs_iomap.c | 19 +++- fs/xfs/xfs_iops.c | 58 --------- fs/xfs/xfs_itable.c | 21 +--- fs/xfs/xfs_mount.h | 3 + fs/xfs/xfs_super.c | 147 ++++++++++++------------ fs/xfs/xfs_sync.c | 36 ------ fs/xfs/xfs_sync.h | 2 - fs/xfs/xfs_trace.h | 2 +- fs/xfs/xfs_trans_inode.c | 8 +- 19 files changed, 421 insertions(+), 608 deletions(-) hooks/post-receive -- XFS development tree _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs