linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chuck Lever <chuck.lever@oracle.com>
To: Ric Wheeler <ricwheeler@gmail.com>
Cc: "J. Bruce Fields" <bfields@fieldses.org>,
	Christoph Anton Mitterer <calestyo@scientia.net>,
	linux-nfs@vger.kernel.org
Subject: Re: XATTRs in NFS?
Date: Fri, 25 Oct 2013 11:32:07 -0400	[thread overview]
Message-ID: <8F7D9C5D-7E2F-459E-872C-2F4299943716@oracle.com> (raw)
In-Reply-To: <526A8D9A.8090008@gmail.com>


On Oct 25, 2013, at 11:26 AM, Ric Wheeler <ricwheeler@gmail.com> wrote:

> On 10/25/2013 10:08 AM, J. Bruce Fields wrote:
>> On Thu, Oct 24, 2013 at 07:22:30PM +0200, Christoph Anton Mitterer wrote:
>>> On Thu, 2013-10-24 at 16:30 +0000, Myklebust, Trond wrote:
>>>> Those programs need to recompute the checksum data anyway in order to
>>>> verify and/or update it. Checksums that are computed by some third
>>>> party application have exactly zero value for integrity checking.
>>> No that's exactly the point,... the applications should _NOT_ set those
>>> checksums, especially not automagically (since then you'd never notice
>>> when just some application is buggy or writes/modifies when you don't
>>> expect it to do so).
>>> The idea is that there is on application (in my case it's just a
>>> script), which sets the integrity data and verifies it.
>>> 
>>> This works very well for e.g. large data archives, where you most of the
>>> time (but not always) only read files, write new files or move around
>>> existing ones - but only rarely modify existing file's contents.
>>> 
>>> 
>>> I do this already like that on local filesystems, which works very
>>> nicely with XATTRs... but now I want to move this on a central data
>>> cluster (where clients connect to via NFS)... and here the problems
>>> start... when I add new data to the archive (from the clients) I cannot
>>> have XATTRs attached, nor can I verify them form the clients.
>> Can you give any more details about your use case?  (E.g. is there an
>> article describing this system somewhere?)
>> 
>> Just curious.--b.
>> 
> 
> I think that having xattrs in NFS would be very useful over time. A lot of user space tools have been made aware of them, we are certainly lagging all (almost all?) local file system here and it can cause a data loss when you copy a file from a local file system to an NFS server.
> 
> It certainly violates the principle of least surprise that the xattrs are lost when move through NFS!
> 
> Typical use cases I have seen include storing things like metadata that tracks what application created the file, tags to let you know when the last time the file was verified by a data integrity scrubber, tags that hold a checksum/crypto has of the file contents along with the date of that signature.
> 
> Doing a file system service does not mean that we have to be personally interested in all of the odd things that our users might use features for, but at this point, xattrs are water under the bridge and NFS not supporting them makes us look bad :)

Trond's point is that it still would be a very heavy lift for us.

Local file systems can support whatever they like, since they are Linux-only.

NFS has to interoperate with other operating systems that may or may not support xattrs, or may have something that looks like an xattr, but really is subtly incompatible.

Therefore we must have a standard for storing and accessing xattrs locally (POSIX) and a standard for expressing their name and content on the wire (IETF NFS) before we can consider an implementation.

So we would like to see some very clear evidence that it's worth the effort.  Until then, Linux distributors are free to implement NFS xattr support outside the standard NFS protocol (like the Solaris NFSv3 ACL protocol) and support this themselves, perhaps as proof that "if you build it, they will come."

-- 
Chuck Lever
chuck[dot]lever[at]oracle[dot]com





  reply	other threads:[~2013-10-25 15:32 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-23 20:37 XATTRs in NFS? Christoph Anton Mitterer
2013-10-24  8:45 ` Myklebust, Trond
2013-10-24 14:13   ` Christoph Anton Mitterer
2013-10-24 14:32     ` Myklebust, Trond
2013-10-24 15:07       ` Simo Sorce
2013-10-24 15:11         ` Myklebust, Trond
2013-10-24 15:16           ` Simo Sorce
2013-10-24 15:23             ` Jeff Layton
2013-10-24 15:29               ` Matt W. Benjamin
2013-10-24 15:53               ` Myklebust, Trond
2013-10-24 16:10               ` Christoph Anton Mitterer
2013-10-24 15:27             ` Myklebust, Trond
2013-10-24 16:01       ` Christoph Anton Mitterer
2013-10-24 16:30         ` Myklebust, Trond
2013-10-24 17:22           ` Christoph Anton Mitterer
2013-10-25 14:08             ` J. Bruce Fields
2013-10-25 15:26               ` Ric Wheeler
2013-10-25 15:32                 ` Chuck Lever [this message]
2013-10-26 18:00                   ` Christoph Anton Mitterer
2013-10-26 13:20                 ` Myklebust, Trond
     [not found]                   ` <OF01D9818B.36018C0F-ON88257C10.00608BC0-88257C10.006139C6@LocalDomain>
2013-10-26 17:46                     ` Marc Eshel
2013-10-27 12:48                       ` Myklebust, Trond
2013-10-28  0:14                         ` Christoph Anton Mitterer
2013-10-28  0:19                           ` Myklebust, Trond
2013-10-28  0:23                             ` Christoph Anton Mitterer
2013-10-28 13:25                         ` James Morris
2013-10-28 15:41                           ` Ric Wheeler
2013-10-26 17:12               ` Christoph Anton Mitterer
2013-10-27 19:15                 ` J. Bruce Fields
2013-10-27 21:57                   ` Christoph Anton Mitterer
2013-10-28  0:17                     ` Myklebust, Trond
2013-10-28  0:27                       ` Christoph Anton Mitterer
2013-10-28  0:44                         ` Myklebust, Trond
2013-10-28  1:04                           ` Christoph Anton Mitterer
2013-10-28 15:40                           ` Ric Wheeler
2013-10-28 16:15                             ` Christoph Anton Mitterer
2013-10-28 17:49                               ` Myklebust, Trond
2013-10-28 18:00                                 ` Ric Wheeler
2013-10-28 18:08                                   ` Dr Fields James Bruce
2013-10-28 18:31                                     ` Ric Wheeler
2013-10-28 20:44                                       ` Marc Eshel
2013-10-28 20:49                                         ` [nfsv4] " Spencer Shepler
2013-10-28 20:55                                         ` Haynes, Tom
2013-10-28 21:02                                           ` J. Bruce Fields
2013-10-28 21:04                                             ` Chuck Lever
2013-10-28 21:28                                               ` Marc Eshel
     [not found]                                               ` <OF3A48E6D9.7BB93CB0-ON88257C12.0075527E-88257C12.0075F065@LocalDomain>
2013-10-28 22:28                                                 ` XATTRs in NFS Marc Eshel
2013-10-28 22:41                                                   ` Marc Eshel
     [not found]                                                     ` <5272742D.7000905@redhat.com>
2013-10-31 20:54                                                       ` Anand Avati
2013-10-31 21:36                                                         ` [nfsv4] " Nico Williams
2013-10-28 23:02                                                   ` Nico Williams
2013-10-28 21:28                                             ` [nfsv4] XATTRs in NFS? Marc Eshel
     [not found]                                     ` <526EC3F7.3090601@gmail.com>
2013-10-29  0:22                                       ` Fwd: " Anand Avati
2013-10-29  0:39                                         ` Christoph Anton Mitterer
2013-10-29  0:53                                           ` Myklebust, Trond
2013-10-29  1:04                                             ` Christoph Anton Mitterer
2013-10-29  0:49                                         ` Myklebust, Trond
2013-10-29  1:00                                           ` Ric Wheeler
2013-10-29  1:26                                             ` Myklebust, Trond
2013-10-29  1:24                                               ` Anand Avati
2013-10-29  1:52                                                 ` Myklebust, Trond
2013-10-29  2:22                                                   ` Anand Avati
2013-10-29  1:39                                               ` Christoph Anton Mitterer
2013-10-29  2:28                                                 ` Myklebust, Trond
2013-10-29  4:27                                                   ` Marc Eshel
2013-10-28 21:34                                   ` Matt W. Benjamin
2013-10-28 18:15                                 ` Christoph Anton Mitterer
     [not found] <155020130.44.1382627021008.JavaMail.root@thunderbeast.private.linuxbox.com>
2013-10-24 15:05 ` Matt W. Benjamin
2013-10-24 15:08   ` Myklebust, Trond
2013-10-24 15:10     ` Matt W. Benjamin
     [not found] <739187808.295.1382744200733.JavaMail.root@thunderbeast.private.linuxbox.com>
2013-10-25 23:52 ` Matt W. Benjamin
2013-10-26  5:18   ` J. Bruce Fields
2013-10-26 11:36     ` Matt W. Benjamin
     [not found] <432349691.14.1382795633967.JavaMail.root@thunderbeast.private.linuxbox.com>
2013-10-26 14:01 ` Matt W. Benjamin
2013-10-27 12:31   ` Myklebust, Trond
2013-10-27 16:56     ` Christoph Hellwig
2013-10-27 17:50       ` Simo Sorce
2013-10-27 18:07       ` Myklebust, Trond
2013-10-27 18:30         ` Simo Sorce
2013-10-27 18:41           ` Myklebust, Trond
2013-10-27 22:20             ` Christoph Anton Mitterer
2013-10-28  0:32               ` Myklebust, Trond
2013-10-28  9:53         ` Hellwig Christoph
2013-10-27 21:22     ` Matt W. Benjamin

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=8F7D9C5D-7E2F-459E-872C-2F4299943716@oracle.com \
    --to=chuck.lever@oracle.com \
    --cc=bfields@fieldses.org \
    --cc=calestyo@scientia.net \
    --cc=linux-nfs@vger.kernel.org \
    --cc=ricwheeler@gmail.com \
    /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).