Am Montag, 22. September 2008 schrieb Trond Myklebust:
For your convenience, important parts inlined here:
From Aarons message: Tue, 9 Sep 2008 12:46:44 -0700 in this thread. << EOM
Of the bisected offending commit:
commit e261f51f25b98c213e0b3d7f2109b117d714f69d
Author: Trond Myklebust <Trond.Myklebust@netapp.com>
Date: Tue Dec 5 00:35:41 2006 -0500
NFS: Make nfs_updatepage() mark the page as dirty.
This will ensure that we can call set_page_writeback() from within
nfs_writepage(), which is always called with the page lock set.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
It seems to be this hunk which introduces the problem:
@@ -628,7 +667,6 @@ static struct nfs_page * nfs_update_request(struct
nfs_open_context* ctx,
return ERR_PTR(error);
}
spin_unlock(&nfsi->req_lock);
- nfs_mark_request_dirty(new);
return new;
}
spin_unlock(&nfsi->req_lock);
If I add that function call back in... the problem disappears. I don't
know if this just papers over the real problem though?
EOM
This commit happened between 2.6.19 and 2.6.20, btw.
Ahh, I see, that explains, why you didn't responded earlier.
Hopefully, this helps you to remember the purpose of that change.
Cheers,
Pete
--