提交 922eeac3 编写于 作者: W Weston Andros Adamson 提交者: Trond Myklebust

SUNRPC: remove BUG_ON in __rpc_clnt_handle_event

Print a KERN_INFO message before rpc_d_lookup_sb returns NULL, like
other error paths in that function.
Signed-off-by: NWeston Andros Adamson <dros@netapp.com>
Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
上级 26269348
...@@ -132,8 +132,10 @@ static struct dentry *rpc_setup_pipedir_sb(struct super_block *sb, ...@@ -132,8 +132,10 @@ static struct dentry *rpc_setup_pipedir_sb(struct super_block *sb,
int error; int error;
dir = rpc_d_lookup_sb(sb, dir_name); dir = rpc_d_lookup_sb(sb, dir_name);
if (dir == NULL) if (dir == NULL) {
pr_info("RPC: pipefs directory doesn't exist: %s\n", dir_name);
return dir; return dir;
}
for (;;) { for (;;) {
q.len = snprintf(name, sizeof(name), "clnt%x", (unsigned int)clntid++); q.len = snprintf(name, sizeof(name), "clnt%x", (unsigned int)clntid++);
name[sizeof(name) - 1] = '\0'; name[sizeof(name) - 1] = '\0';
...@@ -192,7 +194,8 @@ static int __rpc_clnt_handle_event(struct rpc_clnt *clnt, unsigned long event, ...@@ -192,7 +194,8 @@ static int __rpc_clnt_handle_event(struct rpc_clnt *clnt, unsigned long event,
case RPC_PIPEFS_MOUNT: case RPC_PIPEFS_MOUNT:
dentry = rpc_setup_pipedir_sb(sb, clnt, dentry = rpc_setup_pipedir_sb(sb, clnt,
clnt->cl_program->pipe_dir_name); clnt->cl_program->pipe_dir_name);
BUG_ON(dentry == NULL); if (!dentry)
return -ENOENT;
if (IS_ERR(dentry)) if (IS_ERR(dentry))
return PTR_ERR(dentry); return PTR_ERR(dentry);
clnt->cl_dentry = dentry; clnt->cl_dentry = dentry;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册