]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
f2fs: fix to account inline xattr correctly during recovery
authorChao Yu <yuchao0@huawei.com>
Mon, 7 Dec 2020 09:54:41 +0000 (17:54 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 8 Dec 2020 22:25:41 +0000 (14:25 -0800)
During recovery, we may missed to update inline xattr count correctly,
fix it.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/node.c

index e65d73293a3f635e8ca37c33944cd602f88d5829..3a24423ac65fdb0ed521b52e22370e60169d576d 100644 (file)
@@ -2594,9 +2594,15 @@ int f2fs_recover_inline_xattr(struct inode *inode, struct page *page)
 
        ri = F2FS_INODE(page);
        if (ri->i_inline & F2FS_INLINE_XATTR) {
-               set_inode_flag(inode, FI_INLINE_XATTR);
+               if (!f2fs_has_inline_xattr(inode)) {
+                       set_inode_flag(inode, FI_INLINE_XATTR);
+                       stat_inc_inline_xattr(inode);
+               }
        } else {
-               clear_inode_flag(inode, FI_INLINE_XATTR);
+               if (f2fs_has_inline_xattr(inode)) {
+                       stat_dec_inline_xattr(inode);
+                       clear_inode_flag(inode, FI_INLINE_XATTR);
+               }
                goto update_inode;
        }