-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi,
here are some more infos about this bug. First thing I noted that xfs_growfs read /proc/self/mounts as default, not /etc/mtab as the man page suggests. So I used "-t /etc/mtab", but with the same result: my partition is not recognized. I debugged the program and set a breakpoint at the paths.c:fs_table_lookup() function: Breakpoint 2, fs_table_lookup (dir=0xafb3735a "/dev/hda1", flags=1) Then, I printed the fs_table[i] entry, and the sbuf (gdb) n 54 if (sbuf.st_dev == fs_table[i].fs_datadev) (gdb) p fs_table[i] $1 = {fs_name = 0x80939a8 "/dev/hda1", fs_datadev = 769, fs_log = 0x0, fs_logdev = 0, fs_rt = 0x0, fs_rtdev = 0, fs_dir = 0x8093998 "/", fs_flags = 1, fs_prid = 0} (gdb) p sbuf $2 = {st_dev = 13, __pad1 = 0, __st_ino = 7665, st_mode = 25008, st_nlink = 1, st_uid = 0, st_gid = 6, st_rdev = 769, __pad2 = 0, st_size = 0, st_blksize = 4096, st_blocks = 0, st_atim = {tv_sec = 1150746572, tv_nsec = 0}, st_mtim = { tv_sec = 1150746553, tv_nsec = 231185576}, st_ctim = {tv_sec = 1150746553, tv_nsec = 0}, st_ino = 7665} I saw that fs_table[i].fs_datadev=769, which seems to match sbuf.st_rdev, but not sbuf.st_dev. I replaced sbuf.st_dev with sbuf.st_rdev and it found the partition: $ xfs_growfs -n -t/etc/mtab /dev/hda1 meta-data=/dev/hda1 isize=256 agcount=8, agsize=6023 blks = sectsz=512 attr=0 data = bsize=4096 blocks=48184, imaxpct=25 = sunit=0 swidth=0 blks, unwritten=1 naming =version 2 bsize=4096 log =internal bsize=4096 blocks=1200, version=1 = sectsz=512 sunit=0 blks realtime =none extsz=65536 blocks=0, rtextents=0 Attached is the patch I made. I don't if it breaks any other platforms, but on my box it runs now :) Regards, Bastian - -- ,''`. Bastian Kleineidam : :' : GnuPG Schlüssel `. `' gpg --keyserver wwwkeys.pgp.net --recv-keys 32EC6F3E `- -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFEmvaZeBwlBDLsbz4RAg//AJ99RzXAPEBis49godRehdx9CW5PKwCgtK9N 7a2Tyloox6CXSqwqxJrT3rY= =W9yQ -----END PGP SIGNATURE-----
--- libxcmd/paths.c_ 2006-06-22 21:50:21.128187788 +0200 +++ libxcmd/paths.c 2006-06-22 21:50:07.359265175 +0200 @@ -35,7 +35,7 @@ struct fs_path *fs_path; char *mtab_file; -#define PROC_MOUNTS "/proc/self/mounts" +#define PROC_MOUNTS "/etc/mtab" struct fs_path * fs_table_lookup( @@ -51,7 +51,7 @@ for (i = 0; i < fs_count; i++) { if ((flags & fs_table[i].fs_flags) == 0) continue; - if (sbuf.st_dev == fs_table[i].fs_datadev) + if (sbuf.st_rdev == fs_table[i].fs_datadev) return &fs_table[i]; } return NULL;