[PATCH 2/2] xfs_fsr: create extent-based attr to grow forkoff
Eric Sandeen
sandeen at sandeen.net
Wed Oct 9 22:24:19 CDT 2013
On Oct 9, 2013, at 10:21 PM, Dave Chinner <david at fromorbit.com> wrote:
>
>> On Wed, Oct 09, 2013 at 10:11:29PM -0500, Eric Sandeen wrote:
>>> On 3/30/12 10:01 AM, Eric Sandeen wrote:
>>> In some cases the target file may have a non-local attribute,
>>> but the temp file gets assigned a local attribute on creation,
>>> due to selinux, for example.
>>>
>>> In this case, the large-ish selinux attr will create a forkoff
>>> in the temp file smaller than the forkoff in the target file,
>>> because the FMT_EXTENTS attr takes up less space. There is
>>> no mechanism to grow the forkoff to match, so we can end up
>>> failing to swap these 2 inodes if the result is not enough
>>> data space in the temp inode as a result.
>>>
>>> After testing the target file for a non-local extent, and
>>> checking to see if the forkoff needs to be grown on the first
>>> pass, we can add a large attr to knock all attributes of the
>>> temp file out of local format, and grow the fork offset.
>>>
>>> This passes xfstest 227, and also resolves issues seen on
>>> a metadata image provided by Gabriel.
>>>
>>> Reported-by: Gabriel VLASIU <gabriel at vlasiu.net>
>>> Signed-off-by: Eric Sandeen <sandeen at redhat.com>
>>> ---
>>
>> Ping #2? This was a real bug once, IIRC. Probably still is...
>>
>> Patch 1/2 helped identify the problem, so ping on that too I guess.
>
> Can you repost all these old patches as a new series to make it easy
> to apply and test them?
>
Ok, good idea.
Eric
> Cheers,
>
> Dave.
> --
> Dave Chinner
> david at fromorbit.com
>
More information about the xfs
mailing list