|
@@ -144,6 +144,9 @@ 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
|
|
@@ -203,15 +206,10 @@ static inline bool btrfs_is_free_space_inode(struct inode *inode)
|
|
|
|
|
|
static inline int btrfs_inode_in_log(struct inode *inode, u64 generation)
|
|
|
{
|
|
|
- struct btrfs_root *root = BTRFS_I(inode)->root;
|
|
|
- int ret = 0;
|
|
|
-
|
|
|
- mutex_lock(&root->log_mutex);
|
|
|
if (BTRFS_I(inode)->logged_trans == generation &&
|
|
|
- BTRFS_I(inode)->last_sub_trans <= root->last_log_commit)
|
|
|
- ret = 1;
|
|
|
- mutex_unlock(&root->log_mutex);
|
|
|
- return ret;
|
|
|
+ BTRFS_I(inode)->last_sub_trans <= BTRFS_I(inode)->last_log_commit)
|
|
|
+ return 1;
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
#endif
|