mirror of https://gitee.com/openkylin/linux.git
[SUNRPC]: Use proc_create() to setup ->proc_fops first
Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
64758bd792
commit
2ce8f047d5
|
@ -316,31 +316,29 @@ static int create_cache_proc_entries(struct cache_detail *cd)
|
|||
cd->proc_ent->owner = cd->owner;
|
||||
cd->channel_ent = cd->content_ent = NULL;
|
||||
|
||||
p = create_proc_entry("flush", S_IFREG|S_IRUSR|S_IWUSR, cd->proc_ent);
|
||||
p = proc_create("flush", S_IFREG|S_IRUSR|S_IWUSR,
|
||||
cd->proc_ent, &cache_flush_operations);
|
||||
cd->flush_ent = p;
|
||||
if (p == NULL)
|
||||
goto out_nomem;
|
||||
p->proc_fops = &cache_flush_operations;
|
||||
p->owner = cd->owner;
|
||||
p->data = cd;
|
||||
|
||||
if (cd->cache_request || cd->cache_parse) {
|
||||
p = create_proc_entry("channel", S_IFREG|S_IRUSR|S_IWUSR,
|
||||
cd->proc_ent);
|
||||
p = proc_create("channel", S_IFREG|S_IRUSR|S_IWUSR,
|
||||
cd->proc_ent, &cache_file_operations);
|
||||
cd->channel_ent = p;
|
||||
if (p == NULL)
|
||||
goto out_nomem;
|
||||
p->proc_fops = &cache_file_operations;
|
||||
p->owner = cd->owner;
|
||||
p->data = cd;
|
||||
}
|
||||
if (cd->cache_show) {
|
||||
p = create_proc_entry("content", S_IFREG|S_IRUSR|S_IWUSR,
|
||||
cd->proc_ent);
|
||||
p = proc_create("content", S_IFREG|S_IRUSR|S_IWUSR,
|
||||
cd->proc_ent, &content_file_operations);
|
||||
cd->content_ent = p;
|
||||
if (p == NULL)
|
||||
goto out_nomem;
|
||||
p->proc_fops = &content_file_operations;
|
||||
p->owner = cd->owner;
|
||||
p->data = cd;
|
||||
}
|
||||
|
|
|
@ -229,9 +229,8 @@ do_register(const char *name, void *data, const struct file_operations *fops)
|
|||
rpc_proc_init();
|
||||
dprintk("RPC: registering /proc/net/rpc/%s\n", name);
|
||||
|
||||
ent = create_proc_entry(name, 0, proc_net_rpc);
|
||||
ent = proc_create(name, 0, proc_net_rpc, fops);
|
||||
if (ent) {
|
||||
ent->proc_fops = fops;
|
||||
ent->data = data;
|
||||
}
|
||||
return ent;
|
||||
|
|
Loading…
Reference in New Issue