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
--Mark.
_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs