lkml.org 
[lkml]   [2018]   [Nov]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 167/361] f2fs: fix to recover inodes crtime during POR
    Date
    4.19-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Chao Yu <yuchao0@huawei.com>

    [ Upstream commit 5cd1f387a13b5188b4edb4c834310302a85a6ea2 ]

    Testcase to reproduce this bug:
    1. mkfs.f2fs -O extra_attr -O inode_crtime /dev/sdd
    2. mount -t f2fs /dev/sdd /mnt/f2fs
    3. touch /mnt/f2fs/file
    4. xfs_io -f /mnt/f2fs/file -c "fsync"
    5. godown /mnt/f2fs
    6. umount /mnt/f2fs
    7. mount -t f2fs /dev/sdd /mnt/f2fs
    8. xfs_io -f /mnt/f2fs/file -c "statx -r"

    stat.btime.tv_sec = 0
    stat.btime.tv_nsec = 0

    This patch fixes to recover inode creation time fields during
    mount.

    Signed-off-by: Chao Yu <yuchao0@huawei.com>
    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    fs/f2fs/node.c | 7 +++++++
    1 file changed, 7 insertions(+)

    --- a/fs/f2fs/node.c
    +++ b/fs/f2fs/node.c
    @@ -2560,6 +2560,13 @@ retry:
    F2FS_FITS_IN_INODE(src, le16_to_cpu(src->i_extra_isize),
    i_projid))
    dst->i_projid = src->i_projid;
    +
    + if (f2fs_sb_has_inode_crtime(sbi->sb) &&
    + F2FS_FITS_IN_INODE(src, le16_to_cpu(src->i_extra_isize),
    + i_crtime_nsec)) {
    + dst->i_crtime = src->i_crtime;
    + dst->i_crtime_nsec = src->i_crtime_nsec;
    + }
    }

    new_ni = old_ni;

    \
     
     \ /
      Last update: 2018-11-11 23:28    [W:5.194 / U:0.540 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site