Re: [PATCH] nfs: fix bdi_unregister() before sb kill

From: Jens Axboe
Date: Fri Sep 18 2009 - 16:22:55 EST


On Fri, Sep 18 2009, Peter Zijlstra wrote:
> On Fri, 2009-09-18 at 20:32 +0200, Jens Axboe wrote:
> > Peter, if you have
> > the time, it would be nice if you could check whether this one works for
> > you too.
>
> Doesn't make my machine happy :/

That looks like a double register. Irk, I see what it is... Can you try
this additional patch?

diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index 712950d..f722de1 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -2008,14 +2008,14 @@ struct nfs_sb_mountdata {
int mntflags;
};

-static int nfs_bdi_register(struct nfs_server *server)
+static int nfs_bdi_register(struct nfs_server *server, dev_t dev)
{
struct backing_dev_info *bdi = &server->backing_dev_info;
int err;

err = bdi_init(bdi);
if (!err) {
- err = bdi_register_dev(bdi, server->s_dev);
+ err = bdi_register_dev(bdi, dev);
if (!err)
return 0;
}
@@ -2030,7 +2030,7 @@ static int nfs_set_super(struct super_block *s, void *data)
struct nfs_server *server = sb_mntdata->server;
int ret;

- ret = nfs_bdi_register(server);
+ ret = nfs_bdi_register(server, s->s_dev);
if (ret)
return ret;


--
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/