Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f0947e5c authored by Jaegeuk Kim's avatar Jaegeuk Kim
Browse files

f2fs: fix i_name during f2fs_sync_file



As similar as the i_pino fix, i_name also should be fixed when i_nlink is 1.

The errorneous scenario is like this.

1. touch test1
2. link test1 test2
3. unlink test2
4. fsync test1

After this, i_name should be test1.

CC: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: default avatarJaegeuk Kim <jaegeuk.kim@samsung.com>
parent 1cd14caf
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -112,11 +112,13 @@ static int get_parent_ino(struct inode *inode, nid_t *pino)
	if (!dentry)
		return 0;

	inode = igrab(dentry->d_parent->d_inode);
	if (update_dent_inode(inode, &dentry->d_name)) {
		dput(dentry);
		return 0;
	}

	*pino = inode->i_ino;
	iput(inode);
	*pino = parent_ino(dentry);
	dput(dentry);
	return 1;
}