Re: Extended attributes limit in Linux

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

Thanks,
-Jeff

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs




[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux