Re: [PATCH 0/1] xfs: xfs_inactive fails to cleanup symlinks with attributes

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

 



On 6/6/13 4:29 PM, Mark Tinguely wrote:
> On 06/06/13 16:13, Dave Chinner wrote:
>> On Thu, Jun 06, 2013 at 02:17:15PM -0500, Mark Tinguely wrote:
>>> On 06/06/13 11:10, Mark Tinguely wrote:
>>>> Found this bug testing extended attributes.
>>>>
>>>> # make a big symbolic link that is in the inode core and mostly fills it.
>>>> # CRC enabled filesystem will use a 68 byte smaller link in the test.
>>>>
>>>> ln -s 1234567890/1234567890/1234567890/1234567890/1234567890/1234567890/1234567890/1234567890/1234567890/1234567890/1234567890/0123456/a a
>>>>
>>>> # the extended attribute will bump the symbolic link to a remote extent
>>>> # I think only one of these attribute is needed, but they are so fun...
>>>> attr  -Rs 1234567890ad a<   /dev/null
>>>> attr  -Rs 1234567890ae a<   /dev/null
>>>> attr  -Rs 1234567890af a<   /dev/null
>>>>
>>>
>>> oops. the following steps are also needed - I took them out because I
>>> thought they were unecessary:
>>>
>>> # remove the attributes:
>>> attr  -Rr 1234567890ad a
>>> attr  -Rr 1234567890ae a
>>> attr  -Rr 1234567890af a
>>>
>>> now we will assert
>>
>> I cannot reproduce this on a current TOT kernel with or without
>> CRCs:
>>
>> # mkfs.xfs -f /dev/vdb
>> meta-data=/dev/vdb               isize=256    agcount=4, agsize=720896 blks
>>           =                       sectsz=512   attr=2, projid32bit=1
>>           =                       crc=0
>> data     =                       bsize=4096   blocks=2883584, imaxpct=25
>>           =                       sunit=0      swidth=0 blks
>> naming   =version 2              bsize=4096   ascii-ci=0
>> log      =internal log           bsize=4096   blocks=2560, version=2
>>           =                       sectsz=512   sunit=0 blks, lazy-count=1
>> realtime =none                   extsz=4096   blocks=0, rtextents=0
>> # mount /dev/vdb /mnt/scratch/
>> # cd /mnt/scratch/
>> # ln -s 1234567890/1234567890/1234567890/1234567890/1234567890/1234567890/1234567890/1234567890/1234567890/1234567890/1234567890/0123456/a a
>> # attr  -Rs 1234567890ad a<   /dev/null
>> Attribute "1234567890ad" set to a 0 byte value for a:
>>
>> # attr  -Rs 1234567890ae a<   /dev/null
>> Attribute "1234567890ae" set to a 0 byte value for a:
>>
>> # attr  -Rs 1234567890af a<   /dev/null
>> Attribute "1234567890af" set to a 0 byte value for a:
>>
>> # attr  -Rr 1234567890ad a
>> # attr  -Rr 1234567890ae a
>> # attr  -Rr 1234567890af a
>> # sync
>> # cd ~
>> # umount /mnt/scratch
>> #
>>
>> No assert. Can you write an xfstest that reproduces the problem and
>> post the patch?
>>
>> Cheers,
>>
>> Dave.
> 
> Yes, these instructions are for a *256* byte inode with top of tree code.
> 
> A 512 byte inode will need a bigger link. The link must nearly fill the literal area. Patch has been supplied:
> 
>   http://oss.sgi.com/archives/xfs/2013-06/msg00110.html

I think he meant a patch for xfstests ;)

-Eric

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

_______________________________________________
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