Hello,

> I've just had some warnings show up in my kernel log. I don't know if
> they're related to the troubles I've been having (I fscked after the
> last panic).

please apply the following patch:

re-add to reiser4_releasepage mistakenly removed page_count check.
extra page reference is used to protect page from detaching from the 
jnode.

Signed-off-by: Alexander Zarochentsev <[EMAIL PROTECTED]>
---
 fs/reiser4/as_ops.c |    5 +++++
 1 file changed, 5 insertions(+)

Index: linux-2.6-git/fs/reiser4/as_ops.c
===================================================================
--- linux-2.6-git.orig/fs/reiser4/as_ops.c
+++ linux-2.6-git/fs/reiser4/as_ops.c
@@ -350,6 +350,11 @@ int reiser4_releasepage(struct page *pag
        if (PageDirty(page))
                return 0;
 
+       /* extra page reference is used by reiser4 to protect
+        * jnode<->page link from this ->releasepage(). */
+       if (page_count(page) > 3)
+               return 0;
+
        /* releasable() needs jnode lock, because it looks at the jnode fields
         * and we need jload_lock here to avoid races with jload(). */
        spin_lock_jnode(node);



Reply via email to