xref: /openbmc/linux/fs/btrfs/super.h (revision 7f0add25)
1c03b2207SJosef Bacik /* SPDX-License-Identifier: GPL-2.0 */
2c03b2207SJosef Bacik 
3c03b2207SJosef Bacik #ifndef BTRFS_SUPER_H
4c03b2207SJosef Bacik #define BTRFS_SUPER_H
5c03b2207SJosef Bacik 
6c03b2207SJosef Bacik int btrfs_parse_options(struct btrfs_fs_info *info, char *options,
7c03b2207SJosef Bacik 			unsigned long new_flags);
8c03b2207SJosef Bacik int btrfs_sync_fs(struct super_block *sb, int wait);
9c03b2207SJosef Bacik char *btrfs_get_subvol_name_from_objectid(struct btrfs_fs_info *fs_info,
10c03b2207SJosef Bacik 					  u64 subvol_objectid);
11c03b2207SJosef Bacik 
btrfs_sb(struct super_block * sb)12*7f0add25SJosef Bacik static inline struct btrfs_fs_info *btrfs_sb(struct super_block *sb)
13*7f0add25SJosef Bacik {
14*7f0add25SJosef Bacik 	return sb->s_fs_info;
15*7f0add25SJosef Bacik }
16*7f0add25SJosef Bacik 
btrfs_set_sb_rdonly(struct super_block * sb)17*7f0add25SJosef Bacik static inline void btrfs_set_sb_rdonly(struct super_block *sb)
18*7f0add25SJosef Bacik {
19*7f0add25SJosef Bacik 	sb->s_flags |= SB_RDONLY;
20*7f0add25SJosef Bacik 	set_bit(BTRFS_FS_STATE_RO, &btrfs_sb(sb)->fs_state);
21*7f0add25SJosef Bacik }
22*7f0add25SJosef Bacik 
btrfs_clear_sb_rdonly(struct super_block * sb)23*7f0add25SJosef Bacik static inline void btrfs_clear_sb_rdonly(struct super_block *sb)
24*7f0add25SJosef Bacik {
25*7f0add25SJosef Bacik 	sb->s_flags &= ~SB_RDONLY;
26*7f0add25SJosef Bacik 	clear_bit(BTRFS_FS_STATE_RO, &btrfs_sb(sb)->fs_state);
27*7f0add25SJosef Bacik }
28*7f0add25SJosef Bacik 
29c03b2207SJosef Bacik #endif
30