From: Dave Chinner <david@fromorbit.com>
To: Richard Yao <ryao@gentoo.org>
Cc: "J. Bruce Fields" <bfields@fieldses.org>,
linux-nfs@vger.kernel.org, linux-fsdevel@vger.kernel.org,
Christoph Hellwig <hch@infradead.org>
Subject: Re: Making an interface for alternative data streams
Date: Wed, 23 Mar 2016 08:29:31 +1100 [thread overview]
Message-ID: <20160322212931.GQ11812@dastard> (raw)
In-Reply-To: <34E9F5BC-E8D4-405E-926E-DF2058E31B5F@gentoo.org>
On Mon, Mar 21, 2016 at 10:01:35PM -0400, Richard Yao wrote:
>
> > On Mar 21, 2016, at 4:40 PM, J. Bruce Fields
> > <bfields@fieldses.org> wrote:
> >
> >> On Mon, Mar 21, 2016 at 04:19:17PM -0400, Richard Yao wrote:
> >> Maybe I should clarify that the idea is to allow
> >> read/write/list of extended attributes via read/write/readdir
> >> so that those that want extended attributes that are
> >> alternative data streams can have them. I do not want to see
> >> extended attributes and alternative data streams be different
> >> things.
> >
> > I think there are differences between the two that make this
> > awkward. Does anyone actually use alternative data stream for
> > anything that makes the effort worthwhile?
>
> For particularly large extended attributes, avoiding having to
> read the entire value into userspace, modify it and write it back
> is nice. I believe that XFS goes up to 64KB.
Sorry, but XFS xattrs are cannot be partially overwritten due to the
write atomicity requirement of xattrs (i.e. either the entire change
or none of the change is present after a crash). not to mention that
we'd have to completely re-implement extended attributes in XFS to
support them being used as ADS. That's simply not going to happen.
Extended attributes are *not data streams*. Stop trying to make them
data streams - the APIs and the implementations in the fileystems
are simply not designed to be used as seekable data streams.
If you want additional seekable data streams, then come up with a
filesystem namespace method of addressing these alternate data
streams as *separate files containing data*. That's all an ADS is -
a namespace hack to address multiple data files through a single
file name. That's the problem that needs solving and it has nothing
to do with xattrs.
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
next prev parent reply other threads:[~2016-03-22 21:29 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-21 18:11 Making an interface for alternative data streams Richard Yao
2016-03-21 18:18 ` Christoph Hellwig
2016-03-21 18:51 ` Richard Yao
2016-03-21 19:17 ` Richard Yao
2016-03-21 20:19 ` Richard Yao
2016-03-21 20:40 ` J. Bruce Fields
2016-03-21 22:36 ` Theodore Ts'o
2016-03-21 22:48 ` Cedric Blancher
2016-03-22 0:12 ` J. Bruce Fields
2016-03-22 1:02 ` Richard Yao
2016-03-22 2:21 ` Richard Yao
2016-03-22 16:15 ` Richard Sharpe
2016-03-22 20:08 ` J. Bruce Fields
2016-03-22 20:13 ` Richard Sharpe
2016-03-22 20:32 ` J. Bruce Fields
2016-03-22 21:42 ` Jeremy Allison
2016-03-23 4:13 ` Steve French
2016-03-23 4:19 ` Steve French
2016-03-23 14:45 ` Steve French
[not found] ` <CAH2r5muya2+hWQup99QcxKV9XE4T_pWW565+fqWeu1tAnXSxoQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-03-23 17:01 ` Jeremy Allison
2016-03-23 17:16 ` Steve French
2016-03-23 15:16 ` J. Bruce Fields
2016-03-22 2:01 ` Richard Yao
2016-03-22 21:29 ` Dave Chinner [this message]
2016-03-22 21:52 ` J. Bruce Fields
2016-03-22 22:50 ` Dave Chinner
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=20160322212931.GQ11812@dastard \
--to=david@fromorbit.com \
--cc=bfields@fieldses.org \
--cc=hch@infradead.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=ryao@gentoo.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