Comment 37 for bug 1007082

Stefan Bader (smb) wrote :

Just discussed this with Colin, somehow (given the hint about fsc), this change in v3.0 sounds suspiciously like it could be fixing the issue:

commit c902ce1bfb40d8b049bd2319b388b4b68b04bc27
Author: David Howells <email address hidden>
Date: Thu Jul 7 12:19:48 2011 +0100

    FS-Cache: Add a helper to bulk uncache pages on an inode

    Add an FS-Cache helper to bulk uncache pages on an inode. This will
    only work for the circumstance where the pages in the cache correspond
    1:1 with the pages attached to an inode's page cache.

    This is required for CIFS and NFS: When disabling inode cookie, we were
    returning the cookie and setting cifsi->fscache to NULL but failed to
    invalidate any previously mapped pages. This resulted in "Bad page
    state" errors and manifested in other kind of errors when running
    fsstress. Fix it by uncaching mapped pages when we disable the inode
    cookie.

    This patch should fix the following oops and "Bad page state" errors
    seen during fsstress testing.

Justin, if we provided a test kernel, would you be able to give that a try?