Re: 2.6.10-rc2-mm1: oops when accessing reiser4 fs's (maybe fixprovided)

From: Vladimir Saveliev
Date: Wed Nov 17 2004 - 02:11:46 EST


Hello

On Tue, 2004-11-16 at 21:53, Mathieu Segaud wrote:
> I tried 2.6.10-rc2-mm1 and the last reiser4 updates gave some (many many)
> oopses flooding my screen :).
> I tried reverting reiser4-fix-deadlock.patch and oopses are gone.
>
Would you please instead try the attached patch?

> I tried this one because thru the quick traces on my screen, I saw a reference
> to get_current_context.
> The speed of the traces and the unasibility of the box prevented me from
> making differences between "real" oopses and BUG_ON(), sorry for that...
>
> If you want some traces I can provide them ASAP (e.g. tomorrow)



# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
# 2004/11/15 16:23:47+03:00 vs@xxxxxxxxxxxxxxxxxxxxx
# unix_file_filemap_nopage: missing context creation is added
#
# plugin/file/file.c
# 2004/11/15 16:23:45+03:00 vs@xxxxxxxxxxxxxxxxxxxxx +5 -1
# unix_file_filemap_nopage: missing context creation is added
#
diff -Nru a/plugin/file/file.c b/plugin/file/file.c
--- a/plugin/file/file.c 2004-11-17 09:36:11 +03:00
+++ b/plugin/file/file.c 2004-11-17 09:36:11 +03:00
@@ -1961,8 +1961,10 @@
{
struct page *page;
struct inode *inode;
-
+ reiser4_context ctx;
+
inode = area->vm_file->f_dentry->d_inode;
+ init_context(&ctx, inode->i_sb);

/* block filemap_nopage if copy on capture is processing with a node of this file */
down_read(&reiser4_inode_data(inode)->coc_sem);
@@ -1972,6 +1974,8 @@

drop_nonexclusive_access(unix_file_inode_data(inode));
up_read(&reiser4_inode_data(inode)->coc_sem);
+
+ reiser4_exit_context(&ctx);
return page;
}