aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_inode_item.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2012-02-29 04:53:52 -0500
committerBen Myers <bpm@sgi.com>2012-03-13 18:01:15 -0400
commit8a9c9980f24f6d86e0ec0150ed35fba45d0c9f88 (patch)
treedf976343a603bad7e6bdc20db31c64f752312434 /fs/xfs/xfs_inode_item.h
parent281627df3eb55e1b729b9bb06fff5ff112929646 (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.h5
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
149static inline int xfs_inode_clean(xfs_inode_t *ip) 149static 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
156extern void xfs_inode_item_init(struct xfs_inode *, struct xfs_mount *); 155extern void xfs_inode_item_init(struct xfs_inode *, struct xfs_mount *);