summary refs log tree commit diff
path: root/fs/xfs/xfs_log.h
diff options
context:
space:
mode:
authorDave Chinner <david@fromorbit.com>2013-06-27 16:04:53 +1000
committerBen Myers <bpm@sgi.com>2013-06-27 13:34:12 -0500
commit3ebe7d2d73179c4874aee4f32e043eb5acd9fa0f (patch)
tree39bf0b8fac593d4051ebfbc7011a26423a8f90a4 /fs/xfs/xfs_log.h
parent5f6bed76c0c85cb4d04885a5de00b629deee550b (diff)
downloadlinux-3ebe7d2d73179c4874aee4f32e043eb5acd9fa0f.tar.gz
xfs: Inode create log items
Introduce the inode create log item type for logical inode create logging.
Instead of logging the changes in buffers, pass the range to be
initialised through the log by a new transaction type.  This reduces
the amount of log space required to record initialisation during
allocation from about 128 bytes per inode to a small fixed amount
per inode extent to be initialised.

This requires a new log item type to track it through the log
and the AIL. This is a relatively simple item - most callbacks are
noops as this item has the same life cycle as the transaction.

Signed-off-by: Dave Chinner <david@fromorbit.com>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>

Diffstat (limited to 'fs/xfs/xfs_log.h')
-rw-r--r--fs/xfs/xfs_log.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/xfs/xfs_log.h b/fs/xfs/xfs_log.h
index b20918c554aa..fb630e496c12 100644
--- a/fs/xfs/xfs_log.h
+++ b/fs/xfs/xfs_log.h
@@ -88,7 +88,8 @@ static inline xfs_lsn_t	_lsn_cmp(xfs_lsn_t lsn1, xfs_lsn_t lsn2)
 #define XLOG_REG_TYPE_UNMOUNT		17
 #define XLOG_REG_TYPE_COMMIT		18
 #define XLOG_REG_TYPE_TRANSHDR		19
-#define XLOG_REG_TYPE_MAX		19
+#define XLOG_REG_TYPE_ICREATE		20
+#define XLOG_REG_TYPE_MAX		20
 
 typedef struct xfs_log_iovec {
 	void		*i_addr;	/* beginning address of region */