All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
To: <ntfs3@lists.linux.dev>
Cc: <linux-kernel@vger.kernel.org>, <linux-fsdevel@vger.kernel.org>
Subject: [PATCH 2/3] fs/ntfs3: Add hidedotfiles option
Date: Mon, 12 Sep 2022 19:40:00 +0300	[thread overview]
Message-ID: <1194d7b9-658f-b724-93d4-2f2b02b569ca@paragon-software.com> (raw)
In-Reply-To: <59960918-0adb-6d53-2d77-8172e666bf40@paragon-software.com>

With this option all files with filename[0] == '.'
will have FILE_ATTRIBUTE_HIDDEN attribute.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
---
  fs/ntfs3/inode.c   | 4 ++++
  fs/ntfs3/ntfs_fs.h | 1 +
  fs/ntfs3/super.c   | 5 +++++
  3 files changed, 10 insertions(+)

diff --git a/fs/ntfs3/inode.c b/fs/ntfs3/inode.c
index 51363d4e8636..40b8565815a2 100644
--- a/fs/ntfs3/inode.c
+++ b/fs/ntfs3/inode.c
@@ -1257,6 +1257,10 @@ struct inode *ntfs_create_inode(struct user_namespace *mnt_userns,
  		fa = FILE_ATTRIBUTE_ARCHIVE;
  	}
  
+	/* If option "hidedotfiles" then set hidden attribute for dot files. */
+	if (sbi->options->hide_dot_files && name->name[0] == '.')
+		fa |= FILE_ATTRIBUTE_HIDDEN;
+
  	if (!(mode & 0222))
  		fa |= FILE_ATTRIBUTE_READONLY;
  
diff --git a/fs/ntfs3/ntfs_fs.h b/fs/ntfs3/ntfs_fs.h
index 2c791222c4e2..cd680ada50ab 100644
--- a/fs/ntfs3/ntfs_fs.h
+++ b/fs/ntfs3/ntfs_fs.h
@@ -97,6 +97,7 @@ struct ntfs_mount_options {
  	unsigned sparse : 1; /* Create sparse files. */
  	unsigned showmeta : 1; /* Show meta files. */
  	unsigned nohidden : 1; /* Do not show hidden files. */
+	unsigned hide_dot_files : 1; /* Set hidden flag on dot files. */
  	unsigned force : 1; /* RW mount dirty volume. */
  	unsigned noacsrules : 1; /* Exclude acs rules. */
  	unsigned prealloc : 1; /* Preallocate space when file is growing. */
diff --git a/fs/ntfs3/super.c b/fs/ntfs3/super.c
index 86ff55133faf..067a0e9cf590 100644
--- a/fs/ntfs3/super.c
+++ b/fs/ntfs3/super.c
@@ -247,6 +247,7 @@ enum Opt {
  	Opt_force,
  	Opt_sparse,
  	Opt_nohidden,
+	Opt_hide_dot_files,
  	Opt_showmeta,
  	Opt_acl,
  	Opt_iocharset,
@@ -266,6 +267,7 @@ static const struct fs_parameter_spec ntfs_fs_parameters[] = {
  	fsparam_flag_no("force",		Opt_force),
  	fsparam_flag_no("sparse",		Opt_sparse),
  	fsparam_flag_no("hidden",		Opt_nohidden),
+	fsparam_flag_no("hidedotfiles",		Opt_hide_dot_files),
  	fsparam_flag_no("acl",			Opt_acl),
  	fsparam_flag_no("showmeta",		Opt_showmeta),
  	fsparam_flag_no("prealloc",		Opt_prealloc),
@@ -357,6 +359,9 @@ static int ntfs_fs_parse_param(struct fs_context *fc,
  	case Opt_nohidden:
  		opts->nohidden = result.negated ? 1 : 0;
  		break;
+	case Opt_hide_dot_files:
+		opts->hide_dot_files = result.negated ? 1 : 0;
+		break;
  	case Opt_acl:
  		if (!result.negated)
  #ifdef CONFIG_NTFS3_FS_POSIX_ACL
-- 
2.37.0



  parent reply	other threads:[~2022-09-12 16:40 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-12 16:37 [PATCH 0/3] fs/ntfs3: Refactoring and hidedotfiles option Konstantin Komarov
2022-09-12 16:39 ` [PATCH 1/3] fs/ntfs3: Add comments about cluster size Konstantin Komarov
2022-09-12 16:40 ` Konstantin Komarov [this message]
2022-10-03 22:51   ` [PATCH 2/3] fs/ntfs3: Add hidedotfiles option Daniel Pinto
2022-09-12 16:40 ` [PATCH 3/3] fs/ntfs3: Change destroy_inode to free_inode Konstantin Komarov

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=1194d7b9-658f-b724-93d4-2f2b02b569ca@paragon-software.com \
    --to=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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.