linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Pinto <danielpinto52@gmail.com>
To: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	ntfs3@lists.linux.dev, linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH 2/4] fs/ntfs3: make hidedotfiles mount option work when renaming files
Date: Fri, 7 Oct 2022 13:38:52 +0100	[thread overview]
Message-ID: <39664539-d881-9129-8213-ac6fad4e575b@gmail.com> (raw)
In-Reply-To: <536f13a9-0890-7e69-65e9-5fe1a30e04ef@gmail.com>

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 unset the hidden attribute when a file
gains or loses its starting dot by being moved or renamed.

Signed-off-by: Daniel Pinto <danielpinto52@gmail.com>
---
 fs/ntfs3/frecord.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/fs/ntfs3/frecord.c b/fs/ntfs3/frecord.c
index 70a80f9412f7..41a20d71562a 100644
--- a/fs/ntfs3/frecord.c
+++ b/fs/ntfs3/frecord.c
@@ -3018,6 +3018,15 @@ int ni_add_name(struct ntfs_inode *dir_ni, struct ntfs_inode *ni,
 	struct ATTR_FILE_NAME *de_name = (struct ATTR_FILE_NAME *)(de + 1);
 	u16 de_key_size = le16_to_cpu(de->key_size);
 
+	/* 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);

  parent reply	other threads:[~2022-10-07 12:39 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-07 12:32 [PATCH 0/4] fs/ntfs3: Fix and rename hidedotfiles mount option Daniel Pinto
2022-10-07 12:36 ` [PATCH 1/4] fs/ntfs3: fix hidedotfiles mount option by reversing, behaviour Daniel Pinto
2022-10-07 12:38 ` Daniel Pinto [this message]
2022-10-07 12:40 ` [PATCH 3/4] fs/ntfs3: add hidedotfiles to the list of enabled mount options Daniel Pinto
2022-10-07 12:43 ` [PATCH 4/4] fs/ntfs3: rename hidedotfiles mount option to hide_dot_files Daniel Pinto
     [not found] ` <CAKBF=ps4CUA3crkzUUn8J-0WC-6bGb3Z9PPugzebTajGJ+=rSA@mail.gmail.com>
2022-10-10 11:50   ` [PATCH 0/4] fs/ntfs3: Fix and rename hidedotfiles mount option Daniel Pinto

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=39664539-d881-9129-8213-ac6fad4e575b@gmail.com \
    --to=danielpinto52@gmail.com \
    --cc=almaz.alexandrovich@paragon-software.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ntfs3@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).