From: Vyacheslav Dubeyko <slava@dubeyko.com>
To: Jeff Liu <jeff.liu@oracle.com>
Cc: Sun_Blood <sblood@gmail.com>, xfs@oss.sgi.com
Subject: Re: Extended attributes limit in Linux
Date: Fri, 31 Jan 2014 14:44:43 +0400 [thread overview]
Message-ID: <1391165083.4275.7.camel@ubuntu> (raw)
In-Reply-To: <52EB64DC.4020603@oracle.com>
On Fri, 2014-01-31 at 16:54 +0800, Jeff Liu wrote:
> Hello,
>
> On 01/31 2014 15:40 PM, Sun_Blood wrote:
> > Hello,
> >
> > If I understands it correctly XFS don't have a limit to the size of
> > extended attributes(EA) but Linux impose a limit at 64k.
> > What I am trying to do is build a backup server that our Apple computers
> > will use together with rsync to backup files to. The problem I face is
> > that Apple HFS+ don't have a limit to EA so it has files with more then
> > 64k of EA in it.
Technical Note TN1150:
"In an HFS Plus B-tree, the node size is determined by a field
(nodeSize) in the header node. The node size must be a power from 512
through 32,768."
So, as minimum, xattrs unable to be a larger than node size.
But xattrs' size has limitation anyway:
https://github.com/darwin-on-arm/xnu/blob/master/bsd/hfs/hfs.h#L849
/* Maximum extended attribute size supported for all extended attributes except
* resource fork and finder info.
*/
#define HFS_XATTR_MAXSIZE (128 * 1024)
So, I need to check and correct slightly HFS+ xattrs support code.
Because, I used 3082 bytes limitation value.
Thanks,
Vyacheslav Dubeyko.
> >
> > The Linux Kernel has a limit imposed to it in include/linux/limits.h
> >
> > #defineXATTR_SIZE_MAX 65536 /* size of an extended attribute value
> > (64k) */
> >
> > #defineXATTR_LIST_MAX 65536 /* size of extended attribute namelist
> > (64k) */
> >
>
> Yes, 64k is the VFS limit per EA value size.
> > Changing this values feels unsafe because they will be system wide.
> >
> > Is the any possibility to combine Linux + XFS to make a backup that
> > works with EA or is this more a question for kernel.org <http://kernel.org>?
>
> So if an EA value size on HFS+ is larger than 64k, I suspect it would failed to preserve
> on Linux+XFS... But if a file has multiple EAs, and each EA's value size is <= 64K, it
> would be works IMO.
>
> Thanks,
> -Jeff
>
> _______________________________________________
> xfs mailing list
> xfs@oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2014-01-31 10:45 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-31 7:40 Extended attributes limit in Linux Sun_Blood
2014-01-31 8:54 ` Jeff Liu
2014-01-31 10:44 ` Vyacheslav Dubeyko [this message]
2014-01-31 12:24 ` Jeff Liu
2014-01-31 12:52 ` Vyacheslav Dubeyko
2014-01-31 13:39 ` Jeff Liu
2014-01-31 14:21 ` Vyacheslav Dubeyko
2014-01-31 14:33 ` Jeff Liu
2014-01-31 19:25 ` Sun_Blood
2014-02-01 14:08 ` Vyacheslav Dubeyko
2014-02-02 14:33 ` Sun_Blood
2014-02-02 15:12 ` Jeff Liu
2014-02-02 15:22 ` Jeff Liu
2014-02-02 15:31 ` Sun_Blood
2014-02-03 1:15 ` Chris Murphy
2014-02-03 7:14 ` Sun_Blood
2014-02-03 20:51 ` Chris Murphy
2014-02-02 21:37 ` Dave Chinner
2014-02-03 7:19 ` Sun_Blood
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=1391165083.4275.7.camel@ubuntu \
--to=slava@dubeyko.com \
--cc=jeff.liu@oracle.com \
--cc=sblood@gmail.com \
--cc=xfs@oss.sgi.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