Lines Matching defs:sbi
52 struct zonefs_sb_info *sbi = ZONEFS_SB(sb);
72 atomic_inc(&sbi->s_active_seq_files);
81 atomic_dec(&sbi->s_active_seq_files);
145 struct zonefs_sb_info *sbi = ZONEFS_SB(inode->i_sb);
148 atomic_dec(&sbi->s_active_seq_files);
156 struct zonefs_sb_info *sbi = ZONEFS_SB(sb);
163 spin_lock(&sbi->s_lock);
171 if (sbi->s_used_blocks > nr_blocks)
172 sbi->s_used_blocks -= nr_blocks;
174 sbi->s_used_blocks = 0;
176 sbi->s_used_blocks +=
178 if (sbi->s_used_blocks > sbi->s_blocks)
179 sbi->s_used_blocks = sbi->s_blocks;
182 spin_unlock(&sbi->s_lock);
263 struct zonefs_sb_info *sbi = ZONEFS_SB(sb);
309 (sbi->s_mount_opts & ZONEFS_MNTOPT_ERRORS_ZOL)) {
317 (sbi->s_mount_opts & ZONEFS_MNTOPT_ERRORS_ZRO)) {
324 } else if (sbi->s_mount_opts & ZONEFS_MNTOPT_ERRORS_RO &&
336 if ((sbi->s_mount_opts & ZONEFS_MNTOPT_EXPLICIT_OPEN) &&
344 if ((sbi->s_mount_opts & ZONEFS_MNTOPT_ERRORS_RO) && !sb_rdonly(sb)) {
443 struct zonefs_sb_info *sbi = ZONEFS_SB(sb);
450 spin_lock(&sbi->s_lock);
452 buf->f_blocks = sbi->s_blocks;
453 if (WARN_ON(sbi->s_used_blocks > sbi->s_blocks))
456 buf->f_bfree = buf->f_blocks - sbi->s_used_blocks;
460 if (sbi->s_zgroup[t].g_nr_zones)
461 buf->f_files += sbi->s_zgroup[t].g_nr_zones + 1;
465 spin_unlock(&sbi->s_lock);
467 buf->f_fsid = uuid_to_fsid(sbi->s_uuid.b);
488 struct zonefs_sb_info *sbi = ZONEFS_SB(sb);
504 sbi->s_mount_opts &= ~ZONEFS_MNTOPT_ERRORS_MASK;
505 sbi->s_mount_opts |= ZONEFS_MNTOPT_ERRORS_RO;
508 sbi->s_mount_opts &= ~ZONEFS_MNTOPT_ERRORS_MASK;
509 sbi->s_mount_opts |= ZONEFS_MNTOPT_ERRORS_ZRO;
512 sbi->s_mount_opts &= ~ZONEFS_MNTOPT_ERRORS_MASK;
513 sbi->s_mount_opts |= ZONEFS_MNTOPT_ERRORS_ZOL;
516 sbi->s_mount_opts &= ~ZONEFS_MNTOPT_ERRORS_MASK;
517 sbi->s_mount_opts |= ZONEFS_MNTOPT_ERRORS_REPAIR;
520 sbi->s_mount_opts |= ZONEFS_MNTOPT_EXPLICIT_OPEN;
532 struct zonefs_sb_info *sbi = ZONEFS_SB(root->d_sb);
534 if (sbi->s_mount_opts & ZONEFS_MNTOPT_ERRORS_RO)
536 if (sbi->s_mount_opts & ZONEFS_MNTOPT_ERRORS_ZRO)
538 if (sbi->s_mount_opts & ZONEFS_MNTOPT_ERRORS_ZOL)
540 if (sbi->s_mount_opts & ZONEFS_MNTOPT_ERRORS_REPAIR)
645 struct zonefs_sb_info *sbi = ZONEFS_SB(sb);
660 ino = z->z_sector >> sbi->s_zone_sectors_shift;
695 struct zonefs_sb_info *sbi = ZONEFS_SB(sb);
707 inode->i_size = sbi->s_zgroup[ztype].g_nr_zones;
710 inode->i_private = &sbi->s_zgroup[ztype];
726 struct zonefs_sb_info *sbi = ZONEFS_SB(sb);
738 if (sbi->s_zgroup[ztype].g_nr_zones &&
770 struct zonefs_sb_info *sbi = ZONEFS_SB(sb);
781 if (!sbi->s_zgroup[ZONEFS_ZTYPE_CNV].g_nr_zones)
807 struct zonefs_sb_info *sbi = ZONEFS_SB(sb);
831 ino = z->z_sector >> sbi->s_zone_sectors_shift;
876 struct zonefs_sb_info *sbi = ZONEFS_SB(sb);
893 if (sbi->s_features & ZONEFS_F_AGGRCNV) {
895 if (!(sbi->s_zgroup[ZONEFS_ZTYPE_CNV].g_nr_zones) ||
897 sbi->s_zgroup[ZONEFS_ZTYPE_CNV].g_nr_zones++;
901 sbi->s_zgroup[ZONEFS_ZTYPE_CNV].g_nr_zones++;
906 sbi->s_zgroup[ZONEFS_ZTYPE_SEQ].g_nr_zones++;
958 struct zonefs_sb_info *sbi = ZONEFS_SB(sb);
959 struct zonefs_zone_group *zgroup = &sbi->s_zgroup[ztype];
998 (sbi->s_features & ZONEFS_F_AGGRCNV)) {
1018 !(sbi->s_features & ZONEFS_F_AGGRCNV)) {
1030 z->z_mode = S_IFREG | sbi->s_perm;
1031 z->z_uid = sbi->s_uid;
1032 z->z_gid = sbi->s_gid;
1042 sbi->s_blocks += z->z_capacity >> sb->s_blocksize_bits;
1043 sbi->s_used_blocks += z->z_wpoffset >> sb->s_blocksize_bits;
1077 struct zonefs_sb_info *sbi = ZONEFS_SB(sb);
1080 if (!sbi)
1084 kvfree(sbi->s_zgroup[ztype].g_zones);
1085 sbi->s_zgroup[ztype].g_zones = NULL;
1129 struct zonefs_sb_info *sbi = ZONEFS_SB(sb);
1164 sbi->s_features = le64_to_cpu(super->s_features);
1165 if (sbi->s_features & ~ZONEFS_F_DEFINED_FEATURES) {
1167 sbi->s_features);
1171 if (sbi->s_features & ZONEFS_F_UID) {
1172 sbi->s_uid = make_kuid(current_user_ns(),
1174 if (!uid_valid(sbi->s_uid)) {
1180 if (sbi->s_features & ZONEFS_F_GID) {
1181 sbi->s_gid = make_kgid(current_user_ns(),
1183 if (!gid_valid(sbi->s_gid)) {
1189 if (sbi->s_features & ZONEFS_F_PERM)
1190 sbi->s_perm = le32_to_cpu(super->s_perm);
1197 import_uuid(&sbi->s_uuid, super->s_uuid);
1216 struct zonefs_sb_info *sbi = ZONEFS_SB(sb);
1221 if (!sbi->s_zgroup[ztype].g_nr_zones)
1228 sbi->s_zgroup[ztype].g_inode = dir_inode;
1236 struct zonefs_sb_info *sbi = ZONEFS_SB(sb);
1239 if (!sbi)
1243 if (sbi->s_zgroup[ztype].g_inode) {
1244 iput(sbi->s_zgroup[ztype].g_inode);
1245 sbi->s_zgroup[ztype].g_inode = NULL;
1257 struct zonefs_sb_info *sbi;
1273 sbi = kzalloc(sizeof(*sbi), GFP_KERNEL);
1274 if (!sbi)
1277 spin_lock_init(&sbi->s_lock);
1278 sb->s_fs_info = sbi;
1290 sbi->s_zone_sectors_shift = ilog2(bdev_zone_sectors(sb->s_bdev));
1291 sbi->s_uid = GLOBAL_ROOT_UID;
1292 sbi->s_gid = GLOBAL_ROOT_GID;
1293 sbi->s_perm = 0640;
1294 sbi->s_mount_opts = ZONEFS_MNTOPT_ERRORS_RO;
1296 atomic_set(&sbi->s_wro_seq_files, 0);
1297 sbi->s_max_wro_seq_files = bdev_max_open_zones(sb->s_bdev);
1298 atomic_set(&sbi->s_active_seq_files, 0);
1299 sbi->s_max_active_seq_files = bdev_max_active_zones(sb->s_bdev);
1311 if (!sbi->s_max_wro_seq_files &&
1312 !sbi->s_max_active_seq_files &&
1313 sbi->s_mount_opts & ZONEFS_MNTOPT_EXPLICIT_OPEN) {
1316 sbi->s_mount_opts &= ~ZONEFS_MNTOPT_EXPLICIT_OPEN;
1338 if (sbi->s_zgroup[ztype].g_nr_zones) {
1377 struct zonefs_sb_info *sbi = ZONEFS_SB(sb);
1386 kfree(sbi);