All of lore.kernel.org
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@fieldses.org>
To: Christoph Anton Mitterer <calestyo@scientia.net>
Cc: linux-nfs@vger.kernel.org
Subject: Re: XATTRs in NFS?
Date: Sun, 27 Oct 2013 15:15:12 -0400	[thread overview]
Message-ID: <20131027191512.GA31322@fieldses.org> (raw)
In-Reply-To: <1382807547.29041.12.camel@heisenberg.scientia.net>

Please don't trim the cc list.

On Sat, Oct 26, 2013 at 07:12:27PM +0200, Christoph Anton Mitterer wrote:
> On Fri, 2013-10-25 at 10:08 -0400, J. Bruce Fields wrote:
> > Can you give any more details about your use case?  (E.g. is there an
> > article describing this system somewhere?)
> Okay let me try to explain the motivation more elaborately.
> 
> The general idea is getting data integrity, i.e. being able to see
> whether some files are in a valid state.
> 
> This is similar to what e.g. btrfs/zfs provide at (IIRC block/extent
> level) with checksuming.
> But a) btrfs is not yet fully production ready (IMHO) and zfs in Linux
> has it's (license) issues and more important b) the checksuming there
> happens always and automatically as soon as some valid filesystem
> operations occur on the files.
> 
> So what you basically notice are errors on the physical medium (or at
> least on block layers below the filesystem).
> 
> 
> You won't notice many other cases of file "corruptions":
> 
> - when you have programs which do subtly manipulate the files and you
> don't notice,...e.g. some image organisation programs store their
> meta-data crap in the Exif/XMP fields, even when you don't actively tell
> them to do so (and sometimes even when the files are read-only)
> 
> - when there are e.g. kernel bugs (in some other places of the kernel)
> and you copy the files around. Some years ago I found a bug (not the
> solution) where single bit errors happened more or less randomly every
> 40-100 GB of writing data. In the end it was found to be a IOMMU related
> bug and a single one liner of flushing some buffers cleared the problem.
> Since such errors would happen already at earlier stages, when writing
> such files btrfs/zfs would simply write the checksums of the corrupted
> data.

Was this problem actually caught using checksums stored in xattrs, or
did the problem predate your use of xattrs?

> So the idea of my integrity data is, that I really manually say "now the
> data is in the state where I consider it to be consistent and I want to
> have checksums stored and attached to the files, for exactly that
> state", e.g. after I have read out some images from the SD card (perhaps
> even twice with the cache cleared and the results diffed) and placed in
> my archive.
> Afterwards I can regularly verify the whole archive and if at some stage
> corruptions as the above would have happened, I can simply take the
> respective files from backups.

How long have you been using this for?  How many problems has it caught?
How often do you checksum or verify files, and how expensive is that?

--b.

> 
> 
> Obviously that cannot be stored *in* the files,... and a database
> solution fails since, it wouldn't track the changes when I move files
> around within the archive.
> 
> 
> So IMHO the best solution were XATTRs, which do work fine for that
> purpose... just the problem that I can't have it via NFS ;)
> 
> 
> Cheers,
> Chris.



  reply	other threads:[~2013-10-27 19:15 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
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 [this message]
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=20131027191512.GA31322@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=calestyo@scientia.net \
    --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 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.