xfs
[Top] [All Lists]

Re: [PATCH] Fix off by one error in page_region_mask()

To: lachlan@xxxxxxx
Subject: Re: [PATCH] Fix off by one error in page_region_mask()
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Thu, 04 Dec 2008 22:53:08 -0600
Cc: xfs-oss <xfs@xxxxxxxxxxx>
In-reply-to: <49387CDE.2030904@xxxxxxx>
References: <49378B60.1060603@xxxxxxx> <4937FAED.7060503@xxxxxxxxxxx> <49387CDE.2030904@xxxxxxx>
User-agent: Thunderbird 2.0.0.18 (Macintosh/20081105)
Lachlan McIlroy wrote:
> Eric Sandeen wrote:
>> Lachlan McIlroy wrote:
>>> final is calculated to be the last bit to set (ie inclusive) but when we
>>> do the mask shifting final really needs to be first bit not to set.
>>>
>>> For example if first and final are both bit 0 (ie only first bit to be set)
>>> then mask is completely shifted and becomes all zeroes.
>>>
>>> Or if first is 0 and final is 63 then the mask is shifted one bit when it
>>> shouldn't be shifted at all.
>> Lachlan, what's the end result of this bug?  What's the broken behavior?
> 
> There was no observed bug - well nothing I can tie directly to this code.
> I found this by inspection while investigating the page bitmap stuff.
> We have a problem with ia64 going to 64K page size with filesystems that
> use a filesystem sector size of 512 bytes - we don't have the granularity
> we need in the bitmap.
> 
> I suppose it is possible this bug could indicate a page region is not up
> to date when it actually is and we might re-read something from disk and
> overwrite the more up to date in-memory version.

ah, ok.  So I've seen this corruption on 64k pages too, on ppc... but I
take it this patch doesn't fix it...

Thanks,
-Eric

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