Hi Linus,
A problem has been found for the XFS commit b394e43e995d08821588a22561c6a71a63b4ff27
and it needs to be reverted.
It has the potential for worse corruption than what it is meant to fix.
Please pull from the for-linus branch:
git pull git://oss.sgi.com:8090/xfs/xfs-2.6.git for-linus
Lachlan's description:
This fix is for a problem that has been in XFS since day one.
[XFS] Avoid replaying inode buffer initialisation log items if on-disk version is newer.
It tries to fix an issue where log replay is replaying an inode cluster
initialisation transaction that should not be replayed because the inode
cluster on disk is more up to date. Since we don't log file sizes (we
rely on inode flushing to get them to disk) then we can't just replay
all the transations in the log and expect the inode to be completely
restored. We lose file size updates. Unfortunately this fix is causing
more (serious) problems than it is fixing so please don't push this one
back just yet.
This will update the following files:
fs/xfs/xfs_buf_item.h | 5 ----
fs/xfs/xfs_log_recover.c | 51 ++-------------------------------------------
fs/xfs/xfs_trans_buf.c | 1 -
3 files changed, 3 insertions(+), 54 deletions(-)
through these commits:
commit 053c59a0a7234bac669992f5b8b933b7d7fc189d
Author: Tim Shimmin <[email protected]>
Date: Mon Oct 1 16:39:37 2007 +1000
Revert "[XFS] Avoid replaying inode buffer initialisation log items if on-disk version is newer."
This reverts commit b394e43e995d08821588a22561c6a71a63b4ff27.
SGI-PV: 969656
SGI-Modid: xfs-linux-melb:xfs-kern:29804a
Signed-off-by: Lachlan McIlroy <[email protected]>
Signed-off-by: Tim Shimmin <[email protected]>
--Tim
On Mon, 1 Oct 2007, Tim Shimmin wrote:
>
> Lachlan's description:
> This fix is for a problem that has been in XFS since day one.
> [XFS] Avoid replaying inode buffer initialisation log items if on-disk version is newer.
...
Why wasn't this in the commit logs? Now it just says it was reverted, with
no actual reasoning *why*. And it apparently wasn't so obvious that no
such reasoning is needed.
Gah. I ended up amending the commit and updating it with the comment.
Linus
Linus Torvalds wrote:
>
> On Mon, 1 Oct 2007, Tim Shimmin wrote:
>> Lachlan's description:
>> This fix is for a problem that has been in XFS since day one.
>> [XFS] Avoid replaying inode buffer initialisation log items if on-disk version is newer.
> ...
>
> Why wasn't this in the commit logs? Now it just says it was reverted, with
> no actual reasoning *why*. And it apparently wasn't so obvious that no
> such reasoning is needed.
>
> Gah. I ended up amending the commit and updating it with the comment.
>
> Linus
Yeah, sorry about that.
It occurred to me later on.
I initially converted the sgi-mod (undo mod) to a git commit and
then discovered git-revert and thought, hey I'll use that
instead but then forgot to add all the text into it.
D'oh. Thanks for the fixup.
--Tim