|
@@ -2214,7 +2214,7 @@ static int nfs_get_sb(struct file_system_type *fs_type,
|
|
|
} else {
|
|
|
error = nfs_bdi_register(server);
|
|
|
if (error)
|
|
|
- goto error_splat_super;
|
|
|
+ goto error_splat_bdi;
|
|
|
}
|
|
|
|
|
|
if (!s->s_root) {
|
|
@@ -2256,6 +2256,9 @@ out_err_nosb:
|
|
|
error_splat_root:
|
|
|
dput(mntroot);
|
|
|
error_splat_super:
|
|
|
+ if (server && !s->s_root)
|
|
|
+ bdi_unregister(&server->backing_dev_info);
|
|
|
+error_splat_bdi:
|
|
|
deactivate_locked_super(s);
|
|
|
goto out;
|
|
|
}
|
|
@@ -2326,7 +2329,7 @@ static int nfs_xdev_get_sb(struct file_system_type *fs_type, int flags,
|
|
|
} else {
|
|
|
error = nfs_bdi_register(server);
|
|
|
if (error)
|
|
|
- goto error_splat_super;
|
|
|
+ goto error_splat_bdi;
|
|
|
}
|
|
|
|
|
|
if (!s->s_root) {
|
|
@@ -2363,6 +2366,9 @@ out_err_noserver:
|
|
|
return error;
|
|
|
|
|
|
error_splat_super:
|
|
|
+ if (server && !s->s_root)
|
|
|
+ bdi_unregister(&server->backing_dev_info);
|
|
|
+error_splat_bdi:
|
|
|
deactivate_locked_super(s);
|
|
|
dprintk("<-- nfs_xdev_get_sb() = %d [splat]\n", error);
|
|
|
return error;
|
|
@@ -2578,7 +2584,7 @@ static int nfs4_remote_get_sb(struct file_system_type *fs_type,
|
|
|
} else {
|
|
|
error = nfs_bdi_register(server);
|
|
|
if (error)
|
|
|
- goto error_splat_super;
|
|
|
+ goto error_splat_bdi;
|
|
|
}
|
|
|
|
|
|
if (!s->s_root) {
|
|
@@ -2616,6 +2622,9 @@ out_free:
|
|
|
error_splat_root:
|
|
|
dput(mntroot);
|
|
|
error_splat_super:
|
|
|
+ if (server && !s->s_root)
|
|
|
+ bdi_unregister(&server->backing_dev_info);
|
|
|
+error_splat_bdi:
|
|
|
deactivate_locked_super(s);
|
|
|
goto out;
|
|
|
}
|
|
@@ -2811,7 +2820,7 @@ static int nfs4_xdev_get_sb(struct file_system_type *fs_type, int flags,
|
|
|
} else {
|
|
|
error = nfs_bdi_register(server);
|
|
|
if (error)
|
|
|
- goto error_splat_super;
|
|
|
+ goto error_splat_bdi;
|
|
|
}
|
|
|
|
|
|
if (!s->s_root) {
|
|
@@ -2847,6 +2856,9 @@ out_err_noserver:
|
|
|
return error;
|
|
|
|
|
|
error_splat_super:
|
|
|
+ if (server && !s->s_root)
|
|
|
+ bdi_unregister(&server->backing_dev_info);
|
|
|
+error_splat_bdi:
|
|
|
deactivate_locked_super(s);
|
|
|
dprintk("<-- nfs4_xdev_get_sb() = %d [splat]\n", error);
|
|
|
return error;
|
|
@@ -2893,7 +2905,7 @@ static int nfs4_remote_referral_get_sb(struct file_system_type *fs_type,
|
|
|
} else {
|
|
|
error = nfs_bdi_register(server);
|
|
|
if (error)
|
|
|
- goto error_splat_super;
|
|
|
+ goto error_splat_bdi;
|
|
|
}
|
|
|
|
|
|
if (!s->s_root) {
|
|
@@ -2929,6 +2941,9 @@ out_err_noserver:
|
|
|
return error;
|
|
|
|
|
|
error_splat_super:
|
|
|
+ if (server && !s->s_root)
|
|
|
+ bdi_unregister(&server->backing_dev_info);
|
|
|
+error_splat_bdi:
|
|
|
deactivate_locked_super(s);
|
|
|
dprintk("<-- nfs4_referral_get_sb() = %d [splat]\n", error);
|
|
|
return error;
|