diff options
author | Kinglong Mee <kinglongmee@gmail.com> | 2017-03-10 09:28:46 +0100 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2017-03-22 03:34:33 +0100 |
commit | d03ba4cc3fa639916a86b61c5a3d817cb6aa91a0 (patch) | |
tree | 65d15f6dbdaf2f527e8ae3fce3947317c0afb137 /fs/f2fs/file.c | |
parent | f2fs: cover update_free_nid_bitmap with nid_list_lock (diff) | |
download | linux-d03ba4cc3fa639916a86b61c5a3d817cb6aa91a0.tar.xz linux-d03ba4cc3fa639916a86b61c5a3d817cb6aa91a0.zip |
f2fs: cleanup the disk level filename updating
As discuss with Jaegeuk and Chao,
"Once checkpoint is done, f2fs doesn't need to update there-in filename at all."
The disk-level filename is used only one case,
1. create a file A under a dir
2. sync A
3. godown
4. umount
5. mount (roll_forward)
Only the rename/cross_rename changes the filename, if it happens,
a. between step 1 and 2, the sync A will caused checkpoint, so that,
the roll_forward at step 5 never happens.
b. after step 2, the roll_forward happens, file A will roll forward
to the result as after step 1.
So that, any updating the disk filename is useless, just cleanup it.
Signed-off-by: Kinglong Mee <kinglongmee@gmail.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/file.c')
-rw-r--r-- | fs/f2fs/file.c | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index 77ebd6b9323c..78ece6e4779c 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -110,20 +110,12 @@ static int get_parent_ino(struct inode *inode, nid_t *pino) { struct dentry *dentry; - if (file_enc_name(inode)) - return 0; - inode = igrab(inode); dentry = d_find_any_alias(inode); iput(inode); if (!dentry) return 0; - if (update_dent_inode(inode, inode, &dentry->d_name)) { - dput(dentry); - return 0; - } - *pino = parent_ino(dentry); dput(dentry); return 1; |