Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
331bc71c
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
331bc71c
编写于
10月 14, 2018
作者:
T
Trond Myklebust
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
SUNRPC: Convert the auth cred cache to use refcount_t
Signed-off-by:
N
Trond Myklebust
<
trond.myklebust@hammerspace.com
>
上级
79b18181
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
9 addition
and
9 deletion
+9
-9
include/linux/sunrpc/auth.h
include/linux/sunrpc/auth.h
+1
-1
net/sunrpc/auth.c
net/sunrpc/auth.c
+1
-1
net/sunrpc/auth_generic.c
net/sunrpc/auth_generic.c
+1
-1
net/sunrpc/auth_gss/auth_gss.c
net/sunrpc/auth_gss/auth_gss.c
+2
-2
net/sunrpc/auth_null.c
net/sunrpc/auth_null.c
+2
-2
net/sunrpc/auth_unix.c
net/sunrpc/auth_unix.c
+2
-2
未找到文件。
include/linux/sunrpc/auth.h
浏览文件 @
331bc71c
...
@@ -100,7 +100,7 @@ struct rpc_auth {
...
@@ -100,7 +100,7 @@ struct rpc_auth {
* differ from the flavor in
* differ from the flavor in
* au_ops->au_flavor in gss
* au_ops->au_flavor in gss
* case) */
* case) */
atomic
_t
au_count
;
/* Reference counter */
refcount
_t
au_count
;
/* Reference counter */
struct
rpc_cred_cache
*
au_credcache
;
struct
rpc_cred_cache
*
au_credcache
;
/* per-flavor data */
/* per-flavor data */
...
...
net/sunrpc/auth.c
浏览文件 @
331bc71c
...
@@ -284,7 +284,7 @@ EXPORT_SYMBOL_GPL(rpcauth_create);
...
@@ -284,7 +284,7 @@ EXPORT_SYMBOL_GPL(rpcauth_create);
void
void
rpcauth_release
(
struct
rpc_auth
*
auth
)
rpcauth_release
(
struct
rpc_auth
*
auth
)
{
{
if
(
!
atomic
_dec_and_test
(
&
auth
->
au_count
))
if
(
!
refcount
_dec_and_test
(
&
auth
->
au_count
))
return
;
return
;
auth
->
au_ops
->
destroy
(
auth
);
auth
->
au_ops
->
destroy
(
auth
);
}
}
...
...
net/sunrpc/auth_generic.c
浏览文件 @
331bc71c
...
@@ -274,7 +274,7 @@ static const struct rpc_authops generic_auth_ops = {
...
@@ -274,7 +274,7 @@ static const struct rpc_authops generic_auth_ops = {
static
struct
rpc_auth
generic_auth
=
{
static
struct
rpc_auth
generic_auth
=
{
.
au_ops
=
&
generic_auth_ops
,
.
au_ops
=
&
generic_auth_ops
,
.
au_count
=
ATOMIC_INIT
(
0
),
.
au_count
=
REFCOUNT_INIT
(
1
),
};
};
static
bool
generic_key_to_expire
(
struct
rpc_cred
*
cred
)
static
bool
generic_key_to_expire
(
struct
rpc_cred
*
cred
)
...
...
net/sunrpc/auth_gss/auth_gss.c
浏览文件 @
331bc71c
...
@@ -1058,7 +1058,7 @@ gss_create_new(const struct rpc_auth_create_args *args, struct rpc_clnt *clnt)
...
@@ -1058,7 +1058,7 @@ gss_create_new(const struct rpc_auth_create_args *args, struct rpc_clnt *clnt)
auth
->
au_flavor
=
flavor
;
auth
->
au_flavor
=
flavor
;
if
(
gss_pseudoflavor_to_datatouch
(
gss_auth
->
mech
,
flavor
))
if
(
gss_pseudoflavor_to_datatouch
(
gss_auth
->
mech
,
flavor
))
auth
->
au_flags
|=
RPCAUTH_AUTH_DATATOUCH
;
auth
->
au_flags
|=
RPCAUTH_AUTH_DATATOUCH
;
atomic
_set
(
&
auth
->
au_count
,
1
);
refcount
_set
(
&
auth
->
au_count
,
1
);
kref_init
(
&
gss_auth
->
kref
);
kref_init
(
&
gss_auth
->
kref
);
err
=
rpcauth_init_credcache
(
auth
);
err
=
rpcauth_init_credcache
(
auth
);
...
@@ -1187,7 +1187,7 @@ gss_auth_find_or_add_hashed(const struct rpc_auth_create_args *args,
...
@@ -1187,7 +1187,7 @@ gss_auth_find_or_add_hashed(const struct rpc_auth_create_args *args,
if
(
strcmp
(
gss_auth
->
target_name
,
args
->
target_name
))
if
(
strcmp
(
gss_auth
->
target_name
,
args
->
target_name
))
continue
;
continue
;
}
}
if
(
!
atomic
_inc_not_zero
(
&
gss_auth
->
rpc_auth
.
au_count
))
if
(
!
refcount
_inc_not_zero
(
&
gss_auth
->
rpc_auth
.
au_count
))
continue
;
continue
;
goto
out
;
goto
out
;
}
}
...
...
net/sunrpc/auth_null.c
浏览文件 @
331bc71c
...
@@ -21,7 +21,7 @@ static struct rpc_cred null_cred;
...
@@ -21,7 +21,7 @@ static struct rpc_cred null_cred;
static
struct
rpc_auth
*
static
struct
rpc_auth
*
nul_create
(
const
struct
rpc_auth_create_args
*
args
,
struct
rpc_clnt
*
clnt
)
nul_create
(
const
struct
rpc_auth_create_args
*
args
,
struct
rpc_clnt
*
clnt
)
{
{
atomic
_inc
(
&
null_auth
.
au_count
);
refcount
_inc
(
&
null_auth
.
au_count
);
return
&
null_auth
;
return
&
null_auth
;
}
}
...
@@ -119,7 +119,7 @@ struct rpc_auth null_auth = {
...
@@ -119,7 +119,7 @@ struct rpc_auth null_auth = {
.
au_flags
=
RPCAUTH_AUTH_NO_CRKEY_TIMEOUT
,
.
au_flags
=
RPCAUTH_AUTH_NO_CRKEY_TIMEOUT
,
.
au_ops
=
&
authnull_ops
,
.
au_ops
=
&
authnull_ops
,
.
au_flavor
=
RPC_AUTH_NULL
,
.
au_flavor
=
RPC_AUTH_NULL
,
.
au_count
=
ATOMIC_INIT
(
0
),
.
au_count
=
REFCOUNT_INIT
(
1
),
};
};
static
static
...
...
net/sunrpc/auth_unix.c
浏览文件 @
331bc71c
...
@@ -34,7 +34,7 @@ unx_create(const struct rpc_auth_create_args *args, struct rpc_clnt *clnt)
...
@@ -34,7 +34,7 @@ unx_create(const struct rpc_auth_create_args *args, struct rpc_clnt *clnt)
{
{
dprintk
(
"RPC: creating UNIX authenticator for client %p
\n
"
,
dprintk
(
"RPC: creating UNIX authenticator for client %p
\n
"
,
clnt
);
clnt
);
atomic
_inc
(
&
unix_auth
.
au_count
);
refcount
_inc
(
&
unix_auth
.
au_count
);
return
&
unix_auth
;
return
&
unix_auth
;
}
}
...
@@ -239,7 +239,7 @@ struct rpc_auth unix_auth = {
...
@@ -239,7 +239,7 @@ struct rpc_auth unix_auth = {
.
au_flags
=
RPCAUTH_AUTH_NO_CRKEY_TIMEOUT
,
.
au_flags
=
RPCAUTH_AUTH_NO_CRKEY_TIMEOUT
,
.
au_ops
=
&
authunix_ops
,
.
au_ops
=
&
authunix_ops
,
.
au_flavor
=
RPC_AUTH_UNIX
,
.
au_flavor
=
RPC_AUTH_UNIX
,
.
au_count
=
ATOMIC_INIT
(
0
),
.
au_count
=
REFCOUNT_INIT
(
1
),
};
};
static
static
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录