diff options
author | Christoph Hellwig <hch@infradead.org> | 2012-02-29 04:53:52 -0500 |
---|---|---|
committer | Ben Myers <bpm@sgi.com> | 2012-03-13 18:01:15 -0400 |
commit | 8a9c9980f24f6d86e0ec0150ed35fba45d0c9f88 (patch) | |
tree | df976343a603bad7e6bdc20db31c64f752312434 /fs/xfs/xfs_inode_item.h | |
parent | 281627df3eb55e1b729b9bb06fff5ff112929646 (diff) |
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@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_inode_item.h')
-rw-r--r-- | fs/xfs/xfs_inode_item.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/xfs/xfs_inode_item.h b/fs/xfs/xfs_inode_item.h index d3dee61e6d91..25784b066568 100644 --- a/fs/xfs/xfs_inode_item.h +++ b/fs/xfs/xfs_inode_item.h | |||
@@ -148,9 +148,8 @@ typedef struct xfs_inode_log_item { | |||
148 | 148 | ||
149 | static inline int xfs_inode_clean(xfs_inode_t *ip) | 149 | static inline int xfs_inode_clean(xfs_inode_t *ip) |
150 | { | 150 | { |
151 | return (!ip->i_itemp || | 151 | return !ip->i_itemp || |
152 | !(ip->i_itemp->ili_format.ilf_fields & XFS_ILOG_ALL)) && | 152 | !(ip->i_itemp->ili_format.ilf_fields & XFS_ILOG_ALL); |
153 | !ip->i_update_core; | ||
154 | } | 153 | } |
155 | 154 | ||
156 | extern void xfs_inode_item_init(struct xfs_inode *, struct xfs_mount *); | 155 | extern void xfs_inode_item_init(struct xfs_inode *, struct xfs_mount *); |