xfs
[Top] [All Lists]

Re: [XFS BUG] xfs_growfs: XFS_IOC_FSGROWFSDATA xfsctl failed: Structure

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [XFS BUG] xfs_growfs: XFS_IOC_FSGROWFSDATA xfsctl failed: Structure needs cleaning
From: arno <arno@xxxxxxxxxxxxx>
Date: Thu, 19 Dec 2013 09:02:15 +0100
Cc: xfs@xxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20131218223312.GP31386@dastard>
References: <52B1B89A.8030401@xxxxxxxxxxxxx> <20131218223312.GP31386@dastard>
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0
On 18-Dec-13 11:33 PM, Dave Chinner wrote:
> On Wed, Dec 18, 2013 at 04:00:42PM +0100, arno wrote:
>> Hello,
>>
>> (Please keep me in CC, I'm not subscribed)
>>
>> Just got "xfs_growfs: XFS_IOC_FSGROWFSDATA xfsctl failed: Structure
>> needs cleaning" when trying to grow a logical Volume. Sorry, I lost the
>> xfs_growfs output.
>>
>> After collecting some info, I ran xfs_repair, and that seemed to fix it,
>> so no harm done. After fixing, the FS had the new, increased size, if
>> that matters.
> 
> This isn't the first time you've grown the filesystem, is it?

No, indeed it isn't.

> On older kernels, growfs could leave trailing garbage in the new
> secondary superblocks it created. This was fixed in kernel v3.8 by
> commit:
> 
> 1375cb6 xfs: growfs: don't read garbage for new secondary superblocks
> 
> This garbage is detected by other changes made in v3.8 that verify
> the secondary superblocks as they are read.
> 
> 9802182 xfs: verify superblocks as they are read from disk
> 
> So if you grew the filesystem on a kernel older than v3.8, growing
> it again on a v3.8+ kernel will detect the superblock corruption and
> throw this error.

I'm pretty sure that last time I grew it, it was with a pre v3.8-kernel.

> xfs_repair was recently fixed to detect the garbage in secondary
> superblocks and zero it:
> 
> cbd7508 xfs_repair: zero out unused parts of superblocks
> 
> So what you need to do is run xfs_repair built from the development
> git tree and run it on your filesystem. That will remove the garbage
> from the superblocks and make this problem go away forever.

Will do. Thanks!

-- 
Regards.
Arno.

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