mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 04:34:03 +02:00
NFS: Use common error handling code in nfs_alloc_server()
Use an additional label so that a bit of exception handling can be better reused at the end of this function implementation. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Signed-off-by: Anna Schumaker <anna.schumaker@hammerspace.com>
This commit is contained in:
parent
d189f22430
commit
284ea3fb4f
|
|
@ -1049,10 +1049,8 @@ struct nfs_server *nfs_alloc_server(void)
|
|||
return NULL;
|
||||
|
||||
server->s_sysfs_id = ida_alloc(&s_sysfs_ids, GFP_KERNEL);
|
||||
if (server->s_sysfs_id < 0) {
|
||||
kfree(server);
|
||||
return NULL;
|
||||
}
|
||||
if (server->s_sysfs_id < 0)
|
||||
goto free_server;
|
||||
|
||||
server->client = server->client_acl = ERR_PTR(-EINVAL);
|
||||
|
||||
|
|
@ -1075,8 +1073,7 @@ struct nfs_server *nfs_alloc_server(void)
|
|||
server->io_stats = nfs_alloc_iostats();
|
||||
if (!server->io_stats) {
|
||||
ida_free(&s_sysfs_ids, server->s_sysfs_id);
|
||||
kfree(server);
|
||||
return NULL;
|
||||
goto free_server;
|
||||
}
|
||||
|
||||
server->change_attr_type = NFS4_CHANGE_TYPE_IS_UNDEFINED;
|
||||
|
|
@ -1090,6 +1087,10 @@ struct nfs_server *nfs_alloc_server(void)
|
|||
rpc_init_wait_queue(&server->uoc_rpcwaitq, "NFS UOC");
|
||||
|
||||
return server;
|
||||
|
||||
free_server:
|
||||
kfree(server);
|
||||
return NULL;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(nfs_alloc_server);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user