[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100917135942.33844110.akpm@linux-foundation.org>
Date: Fri, 17 Sep 2010 13:59:42 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Anton Blanchard <anton@...ba.org>
Cc: Nitin Gupta <ngupta@...are.org>,
Pekka Enberg <penberg@...helsinki.fi>,
Minchan Kim <minchan.kim@...il.com>, Greg KH <greg@...ah.com>,
Linux Driver Project <devel@...verdev.osuosl.org>,
linux-mm <linux-mm@...ck.org>,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 03/10] Use percpu stats
On Wed, 1 Sep 2010 13:51:35 +1000
Anton Blanchard <anton@...ba.org> wrote:
>
> Hi,
>
> > Also remove references to removed stats (ex: good_comress).
>
> I'm getting an oops when running mkfs on zram:
>
> NIP [d0000000030e0340] .zram_inc_stat+0x58/0x84 [zram]
> [c00000006d58f720] [d0000000030e091c] .zram_make_request+0xa8/0x6a0 [zram]
> [c00000006d58f840] [c00000000035795c] .generic_make_request+0x390/0x434
> [c00000006d58f950] [c000000000357b14] .submit_bio+0x114/0x140
> [c00000006d58fa20] [c000000000361778] .blkdev_issue_discard+0x1ac/0x250
> [c00000006d58fb10] [c000000000361f68] .blkdev_ioctl+0x358/0x7fc
> [c00000006d58fbd0] [c0000000001c1c1c] .block_ioctl+0x6c/0x90
> [c00000006d58fc70] [c0000000001984c4] .do_vfs_ioctl+0x660/0x6d4
> [c00000006d58fd70] [c0000000001985a0] .SyS_ioctl+0x68/0xb0
>
> Since disksize no longer starts as 0 it looks like we can call
> zram_make_request before the device has been initialised. The patch below
> fixes the immediate problem but this would go away if we move the
> initialisation function elsewhere (as suggested in another thread).
>
> Signed-off-by: Anton Blanchard <anton@...ba.org>
> ---
>
> Index: powerpc.git/drivers/staging/zram/zram_drv.c
> ===================================================================
> --- powerpc.git.orig/drivers/staging/zram/zram_drv.c 2010-09-01 12:35:14.286515175 +1000
> +++ powerpc.git/drivers/staging/zram/zram_drv.c 2010-09-01 12:35:24.167930504 +1000
> @@ -441,6 +441,12 @@ static int zram_make_request(struct requ
> int ret = 0;
> struct zram *zram = queue->queuedata;
>
> + if (unlikely(!zram->init_done)) {
> + set_bit(BIO_UPTODATE, &bio->bi_flags);
> + bio_endio(bio, 0);
> + return 0;
> + }
> +
> if (unlikely(!valid_io_request(zram, bio))) {
> zram_inc_stat(zram, ZRAM_STAT_INVALID_IO);
> bio_io_error(bio);
So... what happened with this and your other bugfix in
zram_reset_device()?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists