public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Neil Brown <neilb@suse.de>
To: Jeff Layton <jlayton@samba.org>
Cc: Steve French <smfrench@gmail.com>, Jeremy Allison <jra@samba.org>,
	utz lehmann <lkml123@s2y4n2c.de>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Volker.Lendecke@sernet.de, David Howells <dhowells@redhat.com>,
	Jan Engelhardt <jengelh@medozas.de>,
	linux-cifs@vger.kernel.org, linux-nfs@vger.kernel.org,
	samba-technical@lists.samba.org, linux-kernel@vger.kernel.org,
	viro@zeniv.linux.org.uk, linux-fsde@jasper.es
Subject: Re: [PATCH 02/18] xstat: Add a pair of system calls to make extended  file stats available [ver #6]
Date: Sat, 7 Aug 2010 21:04:22 +1000	[thread overview]
Message-ID: <20100807210422.0b8ce265@notabene> (raw)
In-Reply-To: <20100807063400.6bd1776f@tlielax.poochiereds.net>

On Sat, 7 Aug 2010 06:34:00 -0400
Jeff Layton <jlayton@samba.org> wrote:

> On Sat, 7 Aug 2010 13:32:40 +1000
> Neil Brown <neilb@suse.de> wrote:
> 
> > So we are left with an attribute that is needed for windows compatibility,
> > and so just needs to be understood by samba and wine.  Some filesystems might
> > support it efficiently, others might require the use of generic
> > extended-attributes, still others might not support it at all (I guess you
> > store it in some 'tdb' and hope it works well enough).
> > 
> > Core-linux doesn't really need to know about this - there just needs to be a
> > channel to pass it between samba/wine and the filesystem. xattr still seems
> > the best mechanism to pass this stuff around.  Team-samba can negotiate with
> > fs developers to optimise/accelerate certain attributes, and linux-VFS
> > doesn't need to know or care (except maybe to provide generic non-blocking or
> > multiple-access interfaces).
> > 
> 
> IIUC, you're saying that we should basically just have samba stuff the
> current time into an xattr when it creates the file and leave the
> filesystems alone. If so, I disagree here.

I'm not quite saying that (though there is a temptation).  Some attributes
are initialised by the filesystem rather than by common code.  i_uid is a
simple example.  I have no problem with the filesystem initialising the
storage that is used for this well-known-EA to the current time at creation.
This would be part of what team-samba negotiated with FS developers.

> 
> The problem with treating this as *just* an xattr is that it doesn't
> account for files that are created outside of samba but are then shared
> out by it.

If something is created in a different universe, then brought into this one -
when is its date of birth?  The moment of creation, or the moment of entry
into this universe?   If both universes have a common time line (altough
with a 10 year offset) then I guess the former, though I think it is a bit of
a philosophical point.... :-)

> 
> To handle this correctly, I believe it needs to be initialized by the
> kernel to the current time whenever an inode is created, even if samba
> doesn't create it. After that, it can be treated as just another xattr.
> 
Yes, I suspect that would be ideal, and trivial for the fs to implement (it
has to initialise it to something after all).

i.e. I agree.

NeilBrown

  reply	other threads:[~2010-08-07 11:04 UTC|newest]

Thread overview: 132+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-15  2:17 [PATCH 00/18] Extended file stat functions [ver #6] David Howells
2010-07-15  2:17 ` [PATCH 01/18] Mark arguments to certain syscalls as being const " David Howells
2010-07-15  2:17 ` [PATCH 02/18] xstat: Add a pair of system calls to make extended file stats available " David Howells
2010-07-15 20:35   ` Arnd Bergmann
2010-07-15 21:53     ` David Howells
2010-07-16 10:46       ` Arnd Bergmann
2010-07-16 15:10         ` David Howells
2010-07-16  6:22   ` Mark Harris
2010-07-16 10:24     ` David Howells
2010-07-16 11:02       ` Arnd Bergmann
2010-07-16 12:38         ` David Howells
2010-07-16 13:32           ` Arnd Bergmann
2010-07-17  5:51           ` Mark Harris
2010-07-17  9:00             ` Arnd Bergmann
2010-07-17  9:49             ` David Howells
2010-07-18  8:48   ` Christoph Hellwig
2010-07-19 14:05     ` David Howells
2010-07-22 10:52     ` Jan Engelhardt
2010-07-22 12:25       ` David Howells
2010-07-19 15:17   ` Linus Torvalds
2010-07-19 16:15     ` David Howells
2010-07-19 16:51       ` Linus Torvalds
2010-07-19 17:26         ` David Howells
2010-07-19 17:46           ` Linus Torvalds
2010-07-20  8:28             ` Andreas Dilger
2010-07-22 10:35   ` Jan Engelhardt
2010-07-22 12:14     ` David Howells
2010-07-22 12:17       ` Volker Lendecke
2010-07-22 13:05         ` Jan Engelhardt
2010-07-22 15:14         ` Linus Torvalds
2010-07-22 15:36           ` Volker Lendecke
2010-07-22 15:47             ` Linus Torvalds
2010-07-22 16:06               ` Greg Freemyer
2010-07-22 16:07                 ` Greg Freemyer
2010-07-22 16:25               ` Jan Engelhardt
2010-07-22 16:27               ` Jeremy Allison
2010-07-22 16:40                 ` Linus Torvalds
2010-07-22 16:58                   ` Trond Myklebust
2010-07-22 18:02                     ` Jeremy Allison
2010-07-22 18:04                       ` Volker Lendecke
2010-07-22 18:07                         ` Jeremy Allison
2010-07-22 18:59                         ` Trond Myklebust
2010-07-30 17:55                           ` Phil Pishioneri
2010-07-30 18:11                             ` Trond Myklebust
2010-07-30 18:19                               ` Phil Pishioneri
2010-07-31 18:41                               ` Andreas Dilger
2010-07-31 18:48                                 ` Jan Engelhardt
2010-07-31 19:03                                 ` Trond Myklebust
2010-07-31 21:20                                   ` Jan Engelhardt
2010-08-01 13:17                               ` Jeff Layton
2010-07-22 18:05                       ` Jan Engelhardt
2010-07-22 18:07                         ` Jeremy Allison
2010-07-22 19:18                       ` John Stoffel
2010-07-22 17:03                   ` Jan Engelhardt
2010-07-22 17:16                     ` Trond Myklebust
2010-07-22 17:36                       ` Jan Engelhardt
2010-07-22 17:24                     ` Linus Torvalds
2010-07-22 18:15                       ` Jeremy Allison
2010-07-22 18:21                       ` Benny Halevy
2010-07-22 18:45                         ` Greg Freemyer
2010-07-22 19:53                           ` Benny Halevy
2010-07-22 18:41                       ` Greg Freemyer
2010-07-28  1:15                       ` Neil Brown
2010-07-28 17:28                         ` David Howells
2010-07-28 23:04                           ` Neil Brown
2010-07-29 16:15                             ` David Howells
2010-08-03  1:13                               ` Neil Brown
2010-07-30 18:38                             ` J. Bruce Fields
2010-08-01 13:40                             ` Jeff Layton
2010-08-02 14:09                               ` Greg Freemyer
2010-08-02 14:42                                 ` Jeff Layton
2010-07-22 17:12                   ` Jim Rees
2010-07-22 17:32                     ` Linus Torvalds
2010-07-23  1:03                   ` tridge
2010-07-23  1:21                     ` Ted Ts'o
2010-07-23  2:12                       ` tridge
2010-07-23  9:14                       ` Björn Jacke
2010-07-30 21:22                   ` utz lehmann
2010-07-31  8:08                     ` Jan Engelhardt
2010-07-31 14:43                       ` utz lehmann
2010-07-31 16:53                     ` David Howells
2010-07-31 18:05                       ` utz lehmann
2010-07-31 19:26                         ` David Howells
2010-08-01 13:25                     ` Jeff Layton
2010-08-05 23:52                       ` Jeremy Allison
2010-08-06  3:38                         ` Neil Brown
2010-08-06  3:55                           ` Steve French
2010-08-06 11:18                             ` Jeff Layton
2010-08-06 23:30                             ` Neil Brown
2010-08-06 23:58                               ` Steve French
2010-08-07  0:29                                 ` Neil Brown
2010-08-07  2:42                                   ` Steve French
2010-08-07  2:54                                     ` Steve French
2010-08-07  3:32                                       ` Neil Brown
2010-08-07 10:34                                         ` Jeff Layton
2010-08-07 11:04                                           ` Neil Brown [this message]
2010-08-08 12:12                           ` Jeremy Allison
2010-08-08 12:53                             ` Jeff Layton
2010-08-08 13:05                               ` Jeremy Allison
2010-08-13 12:54                                 ` J. Bruce Fields
2010-08-13 17:54                                   ` Jeremy Allison
2010-08-13 18:09                                     ` Steve French
2010-08-13 19:06                                     ` Jan Engelhardt
2010-08-13 19:19                                       ` Jeremy Allison
2010-08-16 18:04                                         ` J. Bruce Fields
2010-08-16 18:08                                     ` J. Bruce Fields
2010-08-16 19:07                                       ` Jeremy Allison
2010-08-08 23:07                             ` Neil Brown
2010-07-22 15:46           ` Jan Engelhardt
2010-07-22 16:06             ` David Howells
2010-07-15  2:17 ` [PATCH 03/18] AFS: Use i_generation not i_version for the vnode uniquifier " David Howells
2010-07-15  2:17 ` [PATCH 04/18] xstat: AFS: Return extended attributes " David Howells
2010-07-15  2:17 ` [PATCH 05/18] xstat: eCryptFS: " David Howells
2010-07-15  2:17 ` [PATCH 06/18] xstat: Ext4: " David Howells
2010-07-15  2:17 ` [PATCH 07/18] xstat: NFS: " David Howells
2010-07-15  2:17 ` [PATCH 08/18] xstat: CIFS: " David Howells
2010-07-15  2:17 ` [PATCH 09/18] xstat: Make special system filesystems return FS_SPECIAL_FL " David Howells
2010-07-18  8:49   ` Christoph Hellwig
2010-07-19 14:09     ` David Howells
2010-07-27 13:41       ` David Howells
2010-07-15  2:17 ` [PATCH 10/18] xstat: Make network filesystems return FS_REMOTE_FL " David Howells
2010-07-15  2:17 ` [PATCH 11/18] xstat: Make automounter filesystems return FS_AUTOMOUNT_FL " David Howells
2010-07-15  2:17 ` [PATCH 12/18] xstat: Add a dentry op to handle automounting rather than abusing follow_link() " David Howells
2010-07-18  8:50   ` Christoph Hellwig
2010-07-19 14:10     ` David Howells
2010-07-15  2:17 ` [PATCH 13/18] xstat: AFS: Use d_automount() " David Howells
2010-07-15  2:17 ` [PATCH 14/18] xstat: NFS: " David Howells
2010-07-15  2:17 ` [PATCH 15/18] xstat: CIFS: " David Howells
2010-07-15  2:17 ` [PATCH 16/18] xstat: Remove the automount through follow_link() kludge code from pathwalk " David Howells
2010-07-15  2:17 ` [PATCH 17/18] xstat: Add an AT_NO_AUTOMOUNT flag to suppress terminal automount " David Howells
2010-07-15  2:17 ` [PATCH 18/18] xstat: Provide a mechanism to gather extra results for [f]xstat() " David Howells
2010-07-18  8:51   ` Christoph Hellwig

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=20100807210422.0b8ce265@notabene \
    --to=neilb@suse.de \
    --cc=Volker.Lendecke@sernet.de \
    --cc=dhowells@redhat.com \
    --cc=jengelh@medozas.de \
    --cc=jlayton@samba.org \
    --cc=jra@samba.org \
    --cc=linux-cifs@vger.kernel.org \
    --cc=linux-fsde@jasper.es \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=lkml123@s2y4n2c.de \
    --cc=samba-technical@lists.samba.org \
    --cc=smfrench@gmail.com \
    --cc=torvalds@linux-foundation.org \
    --cc=viro@zeniv.linux.org.uk \
    /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