Lines Matching refs:who
42 static int thaw_super_locked(struct super_block *sb, enum freeze_holder who);
1963 static inline int freeze_inc(struct super_block *sb, enum freeze_holder who)
1965 WARN_ON_ONCE((who & ~FREEZE_FLAGS));
1966 WARN_ON_ONCE(hweight32(who & FREEZE_HOLDERS) > 1);
1968 if (who & FREEZE_HOLDER_KERNEL)
1970 if (who & FREEZE_HOLDER_USERSPACE)
1975 static inline int freeze_dec(struct super_block *sb, enum freeze_holder who)
1977 WARN_ON_ONCE((who & ~FREEZE_FLAGS));
1978 WARN_ON_ONCE(hweight32(who & FREEZE_HOLDERS) > 1);
1980 if ((who & FREEZE_HOLDER_KERNEL) && sb->s_writers.freeze_kcount)
1982 if ((who & FREEZE_HOLDER_USERSPACE) && sb->s_writers.freeze_ucount)
1987 static inline bool may_freeze(struct super_block *sb, enum freeze_holder who)
1989 WARN_ON_ONCE((who & ~FREEZE_FLAGS));
1990 WARN_ON_ONCE(hweight32(who & FREEZE_HOLDERS) > 1);
1992 if (who & FREEZE_HOLDER_KERNEL)
1993 return (who & FREEZE_MAY_NEST) ||
1995 if (who & FREEZE_HOLDER_USERSPACE)
1996 return (who & FREEZE_MAY_NEST) ||
2004 * @who: context that wants to freeze
2010 * @who should be:
2015 * The @who argument distinguishes between the kernel and userspace trying to
2056 int freeze_super(struct super_block *sb, enum freeze_holder who)
2068 if (may_freeze(sb, who))
2069 ret = !!WARN_ON_ONCE(freeze_inc(sb, who) == 1);
2089 WARN_ON_ONCE(freeze_inc(sb, who) > 1);
2136 WARN_ON_ONCE(freeze_inc(sb, who) > 1);
2151 static int thaw_super_locked(struct super_block *sb, enum freeze_holder who)
2162 if (freeze_dec(sb, who))
2177 freeze_inc(sb, who);
2198 * @who: context that wants to freeze
2203 * @who should be:
2212 int thaw_super(struct super_block *sb, enum freeze_holder who)
2218 return thaw_super_locked(sb, who);