Lines Matching full:who

42 static int thaw_super_locked(struct super_block *sb, enum freeze_holder who);
1928 static inline int freeze_inc(struct super_block *sb, enum freeze_holder who) in freeze_inc() argument
1930 WARN_ON_ONCE((who & ~FREEZE_FLAGS)); in freeze_inc()
1931 WARN_ON_ONCE(hweight32(who & FREEZE_HOLDERS) > 1); in freeze_inc()
1933 if (who & FREEZE_HOLDER_KERNEL) in freeze_inc()
1935 if (who & FREEZE_HOLDER_USERSPACE) in freeze_inc()
1940 static inline int freeze_dec(struct super_block *sb, enum freeze_holder who) in freeze_dec() argument
1942 WARN_ON_ONCE((who & ~FREEZE_FLAGS)); in freeze_dec()
1943 WARN_ON_ONCE(hweight32(who & FREEZE_HOLDERS) > 1); in freeze_dec()
1945 if ((who & FREEZE_HOLDER_KERNEL) && sb->s_writers.freeze_kcount) in freeze_dec()
1947 if ((who & FREEZE_HOLDER_USERSPACE) && sb->s_writers.freeze_ucount) in freeze_dec()
1952 static inline bool may_freeze(struct super_block *sb, enum freeze_holder who) in may_freeze() argument
1954 WARN_ON_ONCE((who & ~FREEZE_FLAGS)); in may_freeze()
1955 WARN_ON_ONCE(hweight32(who & FREEZE_HOLDERS) > 1); in may_freeze()
1957 if (who & FREEZE_HOLDER_KERNEL) in may_freeze()
1958 return (who & FREEZE_MAY_NEST) || in may_freeze()
1960 if (who & FREEZE_HOLDER_USERSPACE) in may_freeze()
1961 return (who & FREEZE_MAY_NEST) || in may_freeze()
1969 * @who: context that wants to freeze
1975 * @who should be:
1980 * The @who argument distinguishes between the kernel and userspace trying to
2021 int freeze_super(struct super_block *sb, enum freeze_holder who) in freeze_super() argument
2033 if (may_freeze(sb, who)) in freeze_super()
2034 ret = !!WARN_ON_ONCE(freeze_inc(sb, who) == 1); in freeze_super()
2054 WARN_ON_ONCE(freeze_inc(sb, who) > 1); in freeze_super()
2101 WARN_ON_ONCE(freeze_inc(sb, who) > 1); in freeze_super()
2116 static int thaw_super_locked(struct super_block *sb, enum freeze_holder who) in thaw_super_locked() argument
2127 if (freeze_dec(sb, who)) in thaw_super_locked()
2142 freeze_inc(sb, who); in thaw_super_locked()
2163 * @who: context that wants to freeze
2168 * @who should be:
2177 int thaw_super(struct super_block *sb, enum freeze_holder who) in thaw_super() argument
2183 return thaw_super_locked(sb, who); in thaw_super()