From: Daniel Pinto Date: Mon, 10 Oct 2022 11:32:12 +0000 (+0100) Subject: fs/ntfs3: Make hidedotfiles mount option work when renaming files X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=66223324cba4290ba45c612fe1e31a265636ad2d;p=linux.git fs/ntfs3: Make hidedotfiles mount option work when renaming files Currently, the hidedotfiles mount option only has an effect when creating new files. Removing or adding the starting dot when moving or renaming files does not update the hidden attribute. Make hidedotfiles also set or uset the hidden attribute when a file gains or loses its starting dot by being moved or renamed. Signed-off-by: Daniel Pinto Signed-off-by: Konstantin Komarov --- diff --git a/fs/ntfs3/frecord.c b/fs/ntfs3/frecord.c index ce5e8f3b1acab..392efa0270f85 100644 --- a/fs/ntfs3/frecord.c +++ b/fs/ntfs3/frecord.c @@ -3023,6 +3023,15 @@ int ni_add_name(struct ntfs_inode *dir_ni, struct ntfs_inode *ni, !valid_windows_name(sbi, (struct le_str *)&de_name->name_len)) return -EINVAL; + /* If option "hidedotfiles" then set hidden attribute for dot files. */ + if (ni->mi.sbi->options->hide_dot_files) { + if (de_name->name_len > 0 && + le16_to_cpu(de_name->name[0]) == '.') + ni->std_fa |= FILE_ATTRIBUTE_HIDDEN; + else + ni->std_fa &= ~FILE_ATTRIBUTE_HIDDEN; + } + mi_get_ref(&ni->mi, &de->ref); mi_get_ref(&dir_ni->mi, &de_name->home);