Re: [PATCH] nilfs2: fix oops due to a bad aops initialization

From: Jens Axboe
Date: Wed Mar 30 2011 - 07:07:56 EST


On 2011-03-30 06:25, Ryusuke Konishi wrote:
> diff --git a/fs/nilfs2/page.c b/fs/nilfs2/page.c
> index 4d2a1ee..9d2dc6b 100644
> --- a/fs/nilfs2/page.c
> +++ b/fs/nilfs2/page.c
> @@ -495,12 +495,14 @@ unsigned nilfs_page_count_clean_buffers(struct page *page,
> void nilfs_mapping_init(struct address_space *mapping,
> struct backing_dev_info *bdi)
> {
> + static const struct address_space_operations empty_aops;
> +
> mapping->host = NULL;
> mapping->flags = 0;
> mapping_set_gfp_mask(mapping, GFP_NOFS);
> mapping->assoc_mapping = NULL;
> mapping->backing_dev_info = bdi;
> - mapping->a_ops = NULL;
> + mapping->a_ops = &empty_aops;
> }

Hmm wait, inode init should set the mapping aops to an empty type
already. Does the OOPS go away if you just remove the mapping->a_ops =
NULL assignment?

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/