diff options
-rw-r--r-- | fs/btrfs/tree-log.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c index d1947af67bcd..40b9efd20e43 100644 --- a/fs/btrfs/tree-log.c +++ b/fs/btrfs/tree-log.c | |||
@@ -3394,7 +3394,10 @@ static int btrfs_log_inode(struct btrfs_trans_handle *trans, | |||
3394 | 3394 | ||
3395 | 3395 | ||
3396 | /* today the code can only do partial logging of directories */ | 3396 | /* today the code can only do partial logging of directories */ |
3397 | if (inode_only == LOG_INODE_EXISTS || S_ISDIR(inode->i_mode)) | 3397 | if (S_ISDIR(inode->i_mode) || |
3398 | (!test_bit(BTRFS_INODE_NEEDS_FULL_SYNC, | ||
3399 | &BTRFS_I(inode)->runtime_flags) && | ||
3400 | inode_only == LOG_INODE_EXISTS)) | ||
3398 | max_key.type = BTRFS_XATTR_ITEM_KEY; | 3401 | max_key.type = BTRFS_XATTR_ITEM_KEY; |
3399 | else | 3402 | else |
3400 | max_key.type = (u8)-1; | 3403 | max_key.type = (u8)-1; |