X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=fs%2Fnfs%2Fclient.c;h=a7ce15d3c24835a0f66c76f7d5141b7552d2d389;hb=b7c46d151cb82856a429709d1227ba1648028232;hp=e350bd6a2334b3df05fc0ed5b2a151de804ef931;hpb=3aee0605a41399063c0ad396f1f4267108f210d3;p=~andy%2Flinux diff --git a/fs/nfs/client.c b/fs/nfs/client.c index e350bd6a233..a7ce15d3c24 100644 --- a/fs/nfs/client.c +++ b/fs/nfs/client.c @@ -933,10 +933,6 @@ static int nfs_probe_fsinfo(struct nfs_server *server, struct nfs_fh *mntfh, str goto out_error; nfs_server_set_fsinfo(server, &fsinfo); - error = bdi_init(&server->backing_dev_info); - if (error) - goto out_error; - /* Get some general file system info */ if (server->namelen == 0) { @@ -995,6 +991,12 @@ static struct nfs_server *nfs_alloc_server(void) return NULL; } + if (bdi_init(&server->backing_dev_info)) { + nfs_free_iostats(server->io_stats); + kfree(server); + return NULL; + } + return server; }