Extended attributes limit in Linux
Sun_Blood
sblood at gmail.com
Sun Feb 2 09:31:33 CST 2014
On 2 feb 2014, at 16:22, Jeff Liu <jeff.liu at oracle.com> wrote:
>
> On 02/02 2014 23:12 PM, Jeff Liu wrote:
>>
>> On 02/02 2014 22:33 PM, Sun_Blood wrote:
> <snip>
>>>>> FYI, Example of output from one of the failing files. First from OS X
>>>>> and then same file after failed copy to XFS.
>>>>>
>>>>> OS X Maverik:
>>>>> file: "/Users/username/Pictures/iPhoto
>>>>> Library/Database/apdb/BigBlobs.apdb"
>>>>> type: "\0\0\0\0"
>>>>> creator: "\0\0\0\0"
>>>>> attributes: avbstclinmedz
>>>>> created: 01/25/2014 11:43:17
>>>>> modified: 01/28/2014 20:02:46
>>>>>
>>>>>
>>>>> Ubunutu
>>>>> getfattr: Removing leading '/' from absolute path names
>>>>> # file: srv/nas/home/apple_bak_rsync/username/Pictures/iPhoto
>>>>> Library/Database/BigBlobs.apdb
>>>>> user.com.apple.quarantine="0006;52e39545;iPhoto;”
>>>>
>>>>
>>>> Sorry, but I don't quite follow your thought. What do you show by this
>>>> output?
>>>> What do you mean? Could you describe in more details?
>>>>
>>>> Thanks,
>>>> Vyacheslav Dubeyko.
>>>
>>> Sorry late reply. The output is just to show what happen after I
>>> transfer a file from OS X to XFS that has EA bigger then 64k(I think).
>>> When I try for example to rsync this file from OS X to Linux XFS I get
>>> this error:
>>> rsync: rsync_xal_set:
>>> lsetxattr(""/srv/nas/home/apple_bak_rsync/xxxxxx/Pictures/iPhoto
>>> Library/Database/BigBlobs.apdb"","user.com.apple.FinderInfo") failed:
>>> Operation not permitted (1)
>>>
>>> But also rsync can give this error.
>>> rsync: rsync_xal_set:
>>> lsetxattr(""/srv/danne/extern2/1000_EXT/2013/2013-03-05/IMG_6872-Edit.tif"","user.com.apple.ResourceFork")
>>> failed: Argument list too long (7)
>>>
>>> Is this 2 errors related?
>>
>> Those errors are unrelated IMO, the first one is due to the permission rules but
>> I'm not sure the root cause, the second one is occurred as the EA value is larger
>> than 64K I guess.
>>
>>>
>>> I will make a bug report for rsync also that it should not try to copy
>>> files with EA bigger then the destination can handle. But it would be
>>> great if XFS could handle this files and be fully compatible with OS X
>>> backups.
>>
>> 64K size is not limited by XFS directly, it is limited by VFS setxattr syscall.
>> IOWs, EA set operation is not yet get into XFS when "Argument list too long" error
>> is returned, so I think you would ran into the same error on other file systems
>> which are support 64K EA value size as well.
>
> To be more precise, larger EA set operation would not works via setxattr(2) on Linux
> regardless of the underlying file systems :).
Correct I did a quick test on ext4 and got the same fault.
>
> Thanks,
> -Jeff
So to be able to support this type of EA that OS X produce we need a change in the Linux kernel? Because XFS does handle it and is not the problem here.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://oss.sgi.com/pipermail/xfs/attachments/20140202/13d4356b/attachment.html>
More information about the xfs
mailing list