Linux NFS development
 help / color / mirror / Atom feed
From: Jeff Layton <jlayton@kernel.org>
To: Chuck Lever <chuck.lever@oracle.com>
Cc: Cedric Blancher <cedric.blancher@gmail.com>,
	Linux NFS Mailing List <linux-nfs@vger.kernel.org>
Subject: Re: <DOT>foo gets NFSv4 HIDDEN attribute by default by nfsd? Re: How to set the NFSv4 "HIDDEN" attribute on Linux?
Date: Mon, 27 Nov 2023 08:33:20 -0500	[thread overview]
Message-ID: <8929f9cb12bff93d0020621a371b193ed95e7cad.camel@kernel.org> (raw)
In-Reply-To: <ZWN7cghjEZHD92Ad@tissot.1015granger.net>

On Sun, 2023-11-26 at 12:08 -0500, Chuck Lever wrote:
> On Sat, Nov 25, 2023 at 09:52:36AM -0500, Jeff Layton wrote:
> > On Fri, 2023-11-24 at 12:43 -0500, Chuck Lever wrote:
> > > On Thu, Nov 23, 2023 at 11:24:10PM +0100, Cedric Blancher wrote:
> > > > Also, it is legal for a nfsd to give the DOT files (/.foo) the HIDDEN
> > > > attribute by default? Right now on Windows they show up because NFSv4
> > > > HIDDEN is not set, and it is annoying.
> > > 
> > > I suppose an NFS server could do this, but I'm not aware of any
> > > other multi-protocol file server (eg, Oracle ZFS or NetApp) that
> > > does.
> > > 
> > > Dot-files are obscured on POSIX systems by the NFS clients and their
> > > user space (ls and graphical file navigators). I don't see why the
> > > Windows NFS client can't be similarly architected. Or perhaps it
> > > could fabricate the HIDDEN attribute for such files itself.
> > 
> > Question. GETATTR operates on filehandles, which are roughly analogous
> > to inode with Linux nfsd:
> > 
> > $ touch visible
> > $ ln visible .hidden
> > 
> > Is the resulting inode and filehandle now considered HIDDEN or not?
> > 
> > These kinds of issues are endemic when trying to map MS Windows concepts
> > onto Linux (and vice-versa).
> 
> The semantics of dot-files and HIDDEN are not the same, truly.
> 
> Interestingly, Samba supports a "hide dot files" option:
> 
>   https://www.samba.org/samba/docs/using_samba/ch08.html
> 
> It also implements a regular expression mechanism for faking HIDDEN
> based on filename matching. Apparently the Samba folks don't believe
> the difference between a HIDDEN inode and an obscured  directory
> entry is important. Or perhaps they do this to work around missing
> local file system support for storing the HIDDEN attribute.
> 
> I think I still prefer implementing an actual file attribute to
> store the setting per-file. HIDDEN seems like a characteristic that
> should be controlled by the file owner or the (client) application
> that is managing a view of the file's parent directory, and not by a
> server's administrator.
> 
> 

Right. Samba has to emulate Windows semantics there, which are very
different around whether a dentry is visible to applications.

In principle, you could add a STATX_ATTR_HIDDEN flag for this, and leave
it up to the filesystem as to whether it should be set. Then if you were
exporting something like NTFS you could pass it through properly. I
don't see that as terribly useful though.
-- 
Jeff Layton <jlayton@kernel.org>

  reply	other threads:[~2023-11-27 13:33 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-18  6:24 How to set the NFSv4 "HIDDEN" attribute on Linux? Cedric Blancher
2023-11-18 11:56 ` Jeff Layton
2023-11-19 16:51   ` Cedric Blancher
2023-11-20 11:46     ` Jeff Layton
2023-11-20 14:44       ` Chuck Lever III
2023-11-22 22:41         ` Cedric Blancher
2023-11-22 22:42       ` Cedric Blancher
2023-11-23 22:24         ` <DOT>foo gets NFSv4 HIDDEN attribute by default by nfsd? " Cedric Blancher
2023-11-23 22:46           ` Rick Macklem
2023-11-24 17:43           ` Chuck Lever
2023-11-25 14:52             ` Jeff Layton
2023-11-26 17:08               ` Chuck Lever
2023-11-27 13:33                 ` Jeff Layton [this message]
2023-11-30 10:28               ` Cedric Blancher
2023-11-30 14:17                 ` Jeff Layton
2023-11-24 17:30         ` Chuck Lever

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=8929f9cb12bff93d0020621a371b193ed95e7cad.camel@kernel.org \
    --to=jlayton@kernel.org \
    --cc=cedric.blancher@gmail.com \
    --cc=chuck.lever@oracle.com \
    --cc=linux-nfs@vger.kernel.org \
    /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