|
@@ -772,7 +772,10 @@ static int f2fs_rename(struct inode *old_dir, struct dentry *old_dentry,
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
down_write(&F2FS_I(old_inode)->i_sem);
|
|
down_write(&F2FS_I(old_inode)->i_sem);
|
|
|
- file_lost_pino(old_inode);
|
|
|
|
|
|
|
+ if (!old_dir_entry || whiteout)
|
|
|
|
|
+ file_lost_pino(old_inode);
|
|
|
|
|
+ else
|
|
|
|
|
+ F2FS_I(old_inode)->i_pino = new_dir->i_ino;
|
|
|
up_write(&F2FS_I(old_inode)->i_sem);
|
|
up_write(&F2FS_I(old_inode)->i_sem);
|
|
|
|
|
|
|
|
old_inode->i_ctime = current_time(old_inode);
|
|
old_inode->i_ctime = current_time(old_inode);
|