xfs
[Top] [All Lists]

Re: [PATCH] (and bad attr2 bug) - pack xfs_sb_t for 64-bit arches

To: Eric Sandeen <sandeen@xxxxxxxxxxx>
Subject: Re: [PATCH] (and bad attr2 bug) - pack xfs_sb_t for 64-bit arches
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Sun, 19 Nov 2006 21:50:57 -0600
Cc: xfs@xxxxxxxxxxx
In-reply-to: <455CE1E3.7020703@xxxxxxxxxxx>
References: <455CB54F.8080901@xxxxxxxxxxx> <455CE1E3.7020703@xxxxxxxxxxx>
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Thunderbird 1.5 (X11/20060313)
Eric Sandeen wrote:
Eric Sandeen wrote:
see also https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=212201

Bugzilla Bug 212201: Cannot build sysem with XFS file system.

I turned on attr2 in FC6 at nathan's suggestion, for selinux goodness with more efficient xattr space usage.

But, many reports that this was totally broken in fc6, on x86_64.

ugh.  it's broken on x86 too, so it's not just the alignment/padding,
although that should be fixed for cross-arch mounts.

-Eric


here's a testcase to corrupt it FWIW.

Russell has a slightly different one derived from this.


#!/bin/sh

remount() {
        umount mnt
        xfs_db -r fsfile2 -c "inode 131" -c "p core.forkoff" -c "p u" -c "p a"
        mount -o loop fsfile2 mnt/
}

umount mnt/
rm -f fsfile2
mkfs.xfs -dfile,name=fsfile2,size=100m -iattr=2
mount -o loop fsfile2 mnt/
mkdir mnt/dir
setfattr -n user.rity.selinux -v user_foo:blah_foo:mnt_what:0 mnt/dir/
for I in `seq 10 20`; do touch mnt/file$I; done
for I in `seq 100 700`; do touch mnt/dir/file$I; done
remount
for I in `seq 1000 1400`; do touch mnt/dir/file$I; done
#remount # works if we do remount here
setfattr -n user.rity.selinux -v user_foo:blah_foo:mnt_what:0 mnt/dir/
echo "unmounting"
umount mnt/
xfs_db -r fsfile2 -c "inode 131" -c "p core.forkoff" -c "p u" -c "p a" -c "type text" -c "p"


Run it and you'll get the bmap root block from the wrong offset; it'll be "0"

-Eric


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