OSDN Git Service

FROMLIST: f2fs: expose some sectors to user in inline data or dentry case
authorJaegeuk Kim <jaegeuk@kernel.org>
Fri, 13 Oct 2017 17:27:45 +0000 (10:27 -0700)
committerJaegeuk Kim <jaegeuk@google.com>
Fri, 13 Oct 2017 18:34:32 +0000 (11:34 -0700)
(from https://patchwork.kernel.org/patch/10005409/)

If there's some data written through inline data or dentry, we need to shouw
st_blocks. This fixes reporting zero blocks even though there is small written
data.

Bug: 67651285
Bug: 67600404
Change-Id: I9ad5cb137eb627b9fd22740d2ab98e0221433c95
Cc: stable@vger.kernel.org
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/file.c

index 531379f..a9e1655 100644 (file)
@@ -665,6 +665,11 @@ int f2fs_getattr(struct vfsmount *mnt,
 {
        struct inode *inode = d_inode(dentry);
        generic_fillattr(inode, stat);
+
+       /* we need to show initial sectors used for inline_data/dentries */
+       if (f2fs_has_inline_data(inode) || f2fs_has_inline_dentry(inode))
+               stat->blocks += (stat->size + 511) >> 9;
+
        return 0;
 }