diff options
| author | Miao Xie <miaox@cn.fujitsu.com> | 2014-02-20 14:08:56 +0400 | 
|---|---|---|
| committer | Josef Bacik <jbacik@fb.com> | 2014-03-10 23:16:42 +0400 | 
| commit | bb14a59b619d3a9993c3fa04bb10347db35ca550 (patch) | |
| tree | 5c2af85d47ef6eab469a4e33eb4f5a2820bdf077 | |
| parent | 7483e1a4464999c72b231af0efe39cb31fd73f14 (diff) | |
| download | linux-bb14a59b619d3a9993c3fa04bb10347db35ca550.tar.xz | |
Btrfs: use signed integer instead of unsigned long integer for log transid
The log trans id is initialized to be 0 every time we create a log tree,
and the log tree need be re-created after a new transaction is started,
it means the log trans id is unlikely to be a huge number, so we can use
signed integer instead of unsigned long integer to save a bit space.
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Josef Bacik <jbacik@fb.com>
| -rw-r--r-- | fs/btrfs/btrfs_inode.h | 14 | ||||
| -rw-r--r-- | fs/btrfs/ctree.h | 4 | ||||
| -rw-r--r-- | fs/btrfs/tree-log.c | 4 | 
3 files changed, 11 insertions, 11 deletions
diff --git a/fs/btrfs/btrfs_inode.h b/fs/btrfs/btrfs_inode.h index 8fed2125689e..c9a24444ec9a 100644 --- a/fs/btrfs/btrfs_inode.h +++ b/fs/btrfs/btrfs_inode.h @@ -109,14 +109,17 @@ struct btrfs_inode {  	u64 last_trans;  	/* -	 * log transid when this inode was last modified +	 * transid that last logged this inode  	 */ -	u64 last_sub_trans; +	u64 logged_trans;  	/* -	 * transid that last logged this inode +	 * log transid when this inode was last modified  	 */ -	u64 logged_trans; +	int last_sub_trans; + +	/* a local copy of root's last_log_commit */ +	int last_log_commit;  	/* total number of bytes pending delalloc, used by stat to calc the  	 * real block usage of the file @@ -155,9 +158,6 @@ struct btrfs_inode {  	/* flags field from the on disk inode */  	u32 flags; -	/* a local copy of root's last_log_commit */ -	unsigned long last_log_commit; -  	/*  	 * Counters to keep track of the number of extent item's we may use due  	 * to delalloc and such.  outstanding_extents is the number of extent diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index dac6653d4cce..70c03f5f0953 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -1721,8 +1721,8 @@ struct btrfs_root {  	atomic_t log_writers;  	atomic_t log_commit[2];  	atomic_t log_batch; -	unsigned long log_transid; -	unsigned long last_log_commit; +	int log_transid; +	int last_log_commit;  	pid_t log_start_pid;  	bool log_multiple_pids; diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c index 285c168391f3..128a904ceac0 100644 --- a/fs/btrfs/tree-log.c +++ b/fs/btrfs/tree-log.c @@ -2362,7 +2362,7 @@ static int update_log_root(struct btrfs_trans_handle *trans,  }  static int wait_log_commit(struct btrfs_trans_handle *trans, -			   struct btrfs_root *root, unsigned long transid) +			   struct btrfs_root *root, int transid)  {  	DEFINE_WAIT(wait);  	int index = transid % 2; @@ -2434,7 +2434,7 @@ int btrfs_sync_log(struct btrfs_trans_handle *trans,  	int ret;  	struct btrfs_root *log = root->log_root;  	struct btrfs_root *log_root_tree = root->fs_info->log_root_tree; -	unsigned long log_transid = 0; +	int log_transid = 0;  	struct blk_plug plug;  	mutex_lock(&root->log_mutex);  | 
