• Sheng Yong's avatar
    f2fs: do not set LOST_PINO for renamed dir · b855bf0e
    Sheng Yong authored
    After renaming a directory, fsck could detect unmatched pino. The scenario
    can be reproduced as the following:
    
    	$ mkdir /bar/subbar /foo
    	$ rename /bar/subbar /foo
    
    Then fsck will report:
    [ASSERT] (__chk_dots_dentries:1182)  --> Bad inode number[0x3] for '..', parent parent ino is [0x4]
    
    Rename sets LOST_PINO for old_inode. However, the flag cannot be cleared,
    since dir is written back with CP. So, let's get rid of LOST_PINO for a
    renamed dir and fix the pino directly at the end of rename.
    Signed-off-by: default avatarSheng Yong <shengyong1@huawei.com>
    Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
    b855bf0e
namei.c 25.8 KB