xfs
[Top] [All Lists]

Re: Extended attributes limit in Linux

To: Jeff Liu <jeff.liu@xxxxxxxxxx>
Subject: Re: Extended attributes limit in Linux
From: Vyacheslav Dubeyko <slava@xxxxxxxxxxx>
Date: Fri, 31 Jan 2014 16:52:03 +0400
Cc: Sun_Blood <sblood@xxxxxxxxx>, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dubeyko.com; s=default; h=Mime-Version:Content-Transfer-Encoding:Content-Type:References:In-Reply-To:Date:Cc:To:From:Subject:Message-ID; bh=JQCmllCXfBlgEZRK/gjlKx28Oe8Cvi62wdnXt27Ja7M=; b=llWVYj1Iz8IA6cRGrpUwaSHrh5CWF2BhwkId8EiQNxhaICnUGRUFZs1M8USLHw2rcLiHVxnI8bClNDzHhwMtPs2Ve1K7Z0MYNz3d51FLfRSn6pZweoXUCUoK1TRnN0Mf;
In-reply-to: <52EB960D.607@xxxxxxxxxx>
References: <CAMN6oR=a0G6O-3CVVkTwhYKavJTa543U3MLezCM8KW1ASZcPnA@xxxxxxxxxxxxxx> <52EB64DC.4020603@xxxxxxxxxx> <1391165083.4275.7.camel@ubuntu> <52EB960D.607@xxxxxxxxxx>
On Fri, 2014-01-31 at 20:24 +0800, Jeff Liu wrote:
> On 01/31 2014 18:44 PM, Vyacheslav Dubeyko wrote:
> > 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.
> 
> I just verified above limits on Mac OS X, that's true.
> 
> sh-3.2# a=`perl -e 'print "A"x131072'`
> sh-3.2# xattr -w user.comment ${a} xattr_test
> 
> sh-3.2# a=`perl -e 'print "A"x131073'`
> sh-3.2# xattr -w user.comment ${a} xattr_test
> xattr: [Errno 7] Argument list too long: 'xattr'
> 
> Hence, that would be a problem to preserve EA with large value size on Linux.
> 

I checked the same under Mac OS X 10.6.8 (Snow Leopard). And I have
failed on 3803 bytes size of xattr. So, I suppose that you have Mac OS X
Lion. And EAs is larger under Lion yet.

What version of Mac OS X have you?

Thanks,
Vyacheslav Dubeyko.


<Prev in Thread] Current Thread [Next in Thread>