staging: erofs: localize erofs_workgroup_get
Staticize erofs_workgroup_get since no external user out of utils.c directly calls erofs_workgroup_get. Signed-off-by: Gao Xiang <gaoxiang25@huawei.com> Reviewed-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
61c9314fdd
commit
d60eff4396
@ -252,28 +252,7 @@ static inline int erofs_wait_on_workgroup_freezed(struct erofs_workgroup *grp)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static inline int erofs_workgroup_get(struct erofs_workgroup *grp, int *ocnt)
|
|
||||||
{
|
|
||||||
int o;
|
|
||||||
|
|
||||||
repeat:
|
|
||||||
o = erofs_wait_on_workgroup_freezed(grp);
|
|
||||||
|
|
||||||
if (unlikely(o <= 0))
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
if (unlikely(atomic_cmpxchg(&grp->refcount, o, o + 1) != o))
|
|
||||||
goto repeat;
|
|
||||||
|
|
||||||
*ocnt = o;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#define __erofs_workgroup_get(grp) atomic_inc(&(grp)->refcount)
|
|
||||||
#define __erofs_workgroup_put(grp) atomic_dec(&(grp)->refcount)
|
|
||||||
|
|
||||||
extern int erofs_workgroup_put(struct erofs_workgroup *grp);
|
extern int erofs_workgroup_put(struct erofs_workgroup *grp);
|
||||||
|
|
||||||
extern struct erofs_workgroup *erofs_find_workgroup(
|
extern struct erofs_workgroup *erofs_find_workgroup(
|
||||||
struct super_block *sb, pgoff_t index, bool *tag);
|
struct super_block *sb, pgoff_t index, bool *tag);
|
||||||
|
|
||||||
|
@ -31,6 +31,25 @@ struct page *erofs_allocpage(struct list_head *pool, gfp_t gfp)
|
|||||||
static atomic_long_t erofs_global_shrink_cnt;
|
static atomic_long_t erofs_global_shrink_cnt;
|
||||||
|
|
||||||
#ifdef CONFIG_EROFS_FS_ZIP
|
#ifdef CONFIG_EROFS_FS_ZIP
|
||||||
|
#define __erofs_workgroup_get(grp) atomic_inc(&(grp)->refcount)
|
||||||
|
#define __erofs_workgroup_put(grp) atomic_dec(&(grp)->refcount)
|
||||||
|
|
||||||
|
static int erofs_workgroup_get(struct erofs_workgroup *grp, int *ocnt)
|
||||||
|
{
|
||||||
|
int o;
|
||||||
|
|
||||||
|
repeat:
|
||||||
|
o = erofs_wait_on_workgroup_freezed(grp);
|
||||||
|
|
||||||
|
if (unlikely(o <= 0))
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
if (unlikely(atomic_cmpxchg(&grp->refcount, o, o + 1) != o))
|
||||||
|
goto repeat;
|
||||||
|
|
||||||
|
*ocnt = o;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
struct erofs_workgroup *erofs_find_workgroup(
|
struct erofs_workgroup *erofs_find_workgroup(
|
||||||
struct super_block *sb, pgoff_t index, bool *tag)
|
struct super_block *sb, pgoff_t index, bool *tag)
|
||||||
|
Reference in New Issue
Block a user