Bugzilla – Bug 506361
xfs_growfs does not work and throws error "XFS_IOC_FSGROWFSDATA xfsctl failed: Invalid argument"
Last modified: 2009-07-23 22:09:04 UTC
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1b4) Gecko/20090426 SUSE/3.5b4-4.1 Firefox/3.5b4 trying to grow an XFS I get # xfs_growfs /mnt meta-data=/dev/sda1 isize=256 agcount=52, agsize=76288719 blks = sectsz=512 attr=1 data = bsize=4096 blocks=3905982455, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 log =internal bsize=4096 blocks=32768, version=1 = sectsz=512 sunit=0 blks, lazy-count=0 realtime =none extsz=4096 blocks=0, rtextents=0 xfs_growfs: XFS_IOC_FSGROWFSDATA xfsctl failed: Invalid argument This is on an openSUSE 11.1, 64 bit, using kernel 2.6.27.21-41-default from http://download.opensuse.org/repositories/Kernel:/SL111_BRANCH/openSUSE_11.1/x86_64/ . If this is the same error as in http://oss.sgi.com/archives/xfs/2009-02/msg00028.html then the fix is already commited to 2.6.28-rc3: commit 471d59103167c84f17b9bcfee22ed10b44ff206e Author: sandeen@xxxxxxxxxxx <sandeen@xxxxxxxxxxx> Date: Tue Nov 25 21:20:10 2008 -0600 [XFS] Add compat handlers for data & rt growfs ioctls The args for XFS_IOC_FSGROWFSDATA and XFS_IOC_FSGROWFSRTA have padding on the end on intel, so add arg copyin functions, and then just call the growfs ioctl helpers. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Lachlan McIlroy <lachlan@xxxxxxx> Can this fix be added to the next openSUSE 11.1 kernel update? Reproducible: Always Steps to Reproduce: 1. expand an existing RAID array and logical drive/volume 2. mount the expanded LD to /mnt 3. try to expand the filesystem: xfs_growfs /mnt Actual Results: # xfs_growfs /mnt meta-data=/dev/sda1 isize=256 agcount=52, agsize=76288719 blks = sectsz=512 attr=1 data = bsize=4096 blocks=3905982455, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 log =internal bsize=4096 blocks=32768, version=1 = sectsz=512 sunit=0 blks, lazy-count=0 realtime =none extsz=4096 blocks=0, rtextents=0 xfs_growfs: XFS_IOC_FSGROWFSDATA xfsctl failed: Invalid argument
Today I tried several newer kernels, all gave me the same error: 1. kernel 2.6.27.23-15-default from http://download.opensuse.org/repositories/Kernel:/SL111_BRANCH/openSUSE_11.1/x86_64/ c3m:~ # uname -a Linux c3m 2.6.27.23-15-default #1 SMP 2009-05-22 08:44:35 +0200 x86_64 x86_64 x86_64 GNU/Linux c3m:~ # xfs_growfs /mnt meta-data=/dev/sda1 isize=256 agcount=52, agsize=76288719 blks = sectsz=512 attr=1 data = bsize=4096 blocks=3905982455, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 log =internal bsize=4096 blocks=32768, version=1 = sectsz=512 sunit=0 blks, lazy-count=0 realtime =none extsz=4096 blocks=0, rtextents=0 xfs_growfs: XFS_IOC_FSGROWFSDATA xfsctl failed: Invalid argument ********************************* 2. kernel 2.6.29-g5d80f8e5-114-default from http://download.opensuse.org/repositories/Kernel:/Vanilla/openSUSE_11.1/x86_64/ c3m:~ # uname -a Linux c3m 2.6.29-g5d80f8e5-114-default #1 SMP 5d80f8e5a9dc9c9a94d4aeaa567e219a808b8a4a x86_64 x86_64 x86_64 GNU/Linux c3m:~ # xfs_growfs /mnt meta-data=/dev/sda1 isize=256 agcount=52, agsize=76288719 blks = sectsz=512 attr=1 data = bsize=4096 blocks=3905982455, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 log =internal bsize=4096 blocks=32768, version=1 = sectsz=512 sunit=0 blks, lazy-count=0 realtime =none extsz=4096 blocks=0, rtextents=0 xfs_growfs: XFS_IOC_FSGROWFSDATA xfsctl failed: Invalid argument ********************************* 3. kernel 2.6.30-rc6-git3-25-default from http://download.opensuse.org/repositories/Kernel:/HEAD/openSUSE_Factory/x86_64/ c3m:~ # uname -a Linux c3m 2.6.30-rc6-git3-25-default #1 SMP 2009-05-22 15:47:06 +0200 x86_64 x86_64 x86_64 GNU/Linux c3m:~ # mount /dev/disk/by-id/scsi-3600d02300070a9c30ffb202f83b35100-part1 /mnt c3m:~ # xfs_growfs /mnt meta-data=/dev/sda1 isize=256 agcount=52, agsize=76288719 blks = sectsz=512 attr=1 data = bsize=4096 blocks=3905982455, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 log =internal bsize=4096 blocks=32768, version=1 = sectsz=512 sunit=0 blks, lazy-count=0 realtime =none extsz=4096 blocks=0, rtextents=0 xfs_growfs: XFS_IOC_FSGROWFSDATA xfsctl failed: Invalid argument Am I hitting a new error or is the fix still not included in 2.6.29 and 2.6.30-rc6 ?
I can confirm now that this is a new error. The error was found and fixed by Eric Sandeen. See thread at http://oss.sgi.com/archives/xfs/2009-05/msg00201.html and bugfix at http://oss.sgi.com/archives/xfs/2009-05/msg00208.html . Will this fix be included soon in openSUSE's kernel(s) ?
I've committed the patch to the repo. It will be a part of the next update.
Update released for: aufs-kmp-debug, aufs-kmp-trace, brocade-bfa-kmp-debug, brocade-bfa-kmp-trace, dazuko-kmp-debug, dazuko-kmp-trace, drbd-kmp-debug, drbd-kmp-trace, intel-iamt-heci-kmp-debug, intel-iamt-heci-kmp-trace, iscsitarget-kmp-debug, iscsitarget-kmp-trace, kernel-debug, kernel-debug-base, kernel-debug-debuginfo, kernel-debug-debugsource, kernel-debug-extra, kernel-default, kernel-default-base, kernel-default-debuginfo, kernel-default-debugsource, kernel-default-extra, kernel-docs, kernel-kdump, kernel-kdump-debuginfo, kernel-kdump-debugsource, kernel-pae, kernel-pae-base, kernel-pae-debuginfo, kernel-pae-debugsource, kernel-pae-extra, kernel-ppc64, kernel-ppc64-base, kernel-ppc64-debuginfo, kernel-ppc64-debugsource, kernel-ppc64-extra, kernel-ps3, kernel-ps3-debuginfo, kernel-ps3-debugsource, kernel-source, kernel-source-debuginfo, kernel-syms, kernel-trace, kernel-trace-base, kernel-trace-debuginfo, kernel-trace-debugsource, kernel-trace-extra, kernel-vanilla, kernel-vanilla-debuginfo, kernel-vanilla-debugsource, kernel-xen, kernel-xen-base, kernel-xen-debuginfo, kernel-xen-debugsource, kernel-xen-extra, kqemu-kmp-debug, kqemu-kmp-trace, kvm-kmp-trace, lirc-kmp-trace, ofed-kmp-debug, ofed-kmp-trace, oracleasm-kmp-debug, oracleasm-kmp-trace, pcfclock-kmp-debug, pcfclock-kmp-trace, virtualbox-ose-kmp-debug, virtualbox-ose-kmp-trace, vmware-kmp-debug, vmware-kmp-trace Products: openSUSE 11.1 (debug, i586, ppc, x86_64)
A sle11 / opensuse 11.1 kernel update with bug mentioned/fixed was just released, version 2.6.27.25-0.1.1.
Update released for: cluster-network-kmp-default, ext4dev-kmp-default, kernel-default, kernel-default-base, kernel-default-debuginfo, kernel-default-debugsource, kernel-default-extra, kernel-default-man, kernel-source, kernel-source-debuginfo, kernel-syms, ocfs2-kmp-default Products: SLE-DEBUGINFO 11 (s390x) SLE-HAE 11 (s390x) SLE-SERVER 11 (s390x)