[PATCH] ramfs breaks without CONFIG_BLOCK

ramfs doesn't provide the .set_dirty_page a_op, and when the BLOCK layer is
not configured in, 'set_page_dirty' makes a call via a NULL pointer.

Signed-off-by: Dimitri Gorokhovik <dimitri.gorokhovik@free.fr>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Dimitri Gorokhovik 2006-12-29 16:48:24 -08:00 committed by Linus Torvalds
parent a3f99f8ba8
commit 131612dfe7
2 changed files with 6 additions and 2 deletions

View file

@ -25,11 +25,13 @@
*/ */
#include <linux/fs.h> #include <linux/fs.h>
#include <linux/mm.h>
const struct address_space_operations ramfs_aops = { const struct address_space_operations ramfs_aops = {
.readpage = simple_readpage, .readpage = simple_readpage,
.prepare_write = simple_prepare_write, .prepare_write = simple_prepare_write,
.commit_write = simple_commit_write .commit_write = simple_commit_write,
.set_page_dirty = __set_page_dirty_nobuffers,
}; };
const struct file_operations ramfs_file_operations = { const struct file_operations ramfs_file_operations = {

View file

@ -11,6 +11,7 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/fs.h> #include <linux/fs.h>
#include <linux/mm.h>
#include <linux/pagemap.h> #include <linux/pagemap.h>
#include <linux/highmem.h> #include <linux/highmem.h>
#include <linux/init.h> #include <linux/init.h>
@ -30,7 +31,8 @@ static int ramfs_nommu_setattr(struct dentry *, struct iattr *);
const struct address_space_operations ramfs_aops = { const struct address_space_operations ramfs_aops = {
.readpage = simple_readpage, .readpage = simple_readpage,
.prepare_write = simple_prepare_write, .prepare_write = simple_prepare_write,
.commit_write = simple_commit_write .commit_write = simple_commit_write,
.set_page_dirty = __set_page_dirty_nobuffers,
}; };
const struct file_operations ramfs_file_operations = { const struct file_operations ramfs_file_operations = {