Lines Matching refs:sbi

27 	struct omfs_sb_info *sbi = OMFS_SB(sb);  in omfs_bread()  local
28 if (block >= sbi->s_num_blocks) in omfs_bread()
31 return sb_bread(sb, clus_to_blk(sbi, block)); in omfs_bread()
40 struct omfs_sb_info *sbi = OMFS_SB(dir->i_sb); in omfs_new_inode() local
46 err = omfs_allocate_range(dir->i_sb, sbi->s_mirrors, sbi->s_mirrors, in omfs_new_inode()
60 inode->i_size = sbi->s_sys_blocksize; in omfs_new_inode()
106 struct omfs_sb_info *sbi = OMFS_SB(inode->i_sb); in __omfs_write_inode() local
131 oi->i_head.h_body_size = cpu_to_be32(sbi->s_sys_blocksize - in __omfs_write_inode()
152 for (i = 1; i < sbi->s_mirrors; i++) { in __omfs_write_inode()
205 struct omfs_sb_info *sbi = OMFS_SB(sb); in omfs_iget() local
228 inode->i_uid = sbi->s_uid; in omfs_iget()
229 inode->i_gid = sbi->s_gid; in omfs_iget()
245 inode->i_mode = S_IFDIR | (S_IRWXUGO & ~sbi->s_dmask); in omfs_iget()
248 inode->i_size = sbi->s_sys_blocksize; in omfs_iget()
252 inode->i_mode = S_IFREG | (S_IRWXUGO & ~sbi->s_fmask); in omfs_iget()
269 struct omfs_sb_info *sbi = OMFS_SB(sb); in omfs_put_super() local
270 kfree(sbi->s_imap); in omfs_put_super()
271 kfree(sbi); in omfs_put_super()
278 struct omfs_sb_info *sbi = OMFS_SB(s); in omfs_statfs() local
282 buf->f_bsize = sbi->s_blocksize; in omfs_statfs()
283 buf->f_blocks = sbi->s_num_blocks; in omfs_statfs()
284 buf->f_files = sbi->s_num_blocks; in omfs_statfs()
299 struct omfs_sb_info *sbi = OMFS_SB(root->d_sb); in omfs_show_options() local
302 if (!uid_eq(sbi->s_uid, current_uid())) in omfs_show_options()
304 from_kuid_munged(&init_user_ns, sbi->s_uid)); in omfs_show_options()
305 if (!gid_eq(sbi->s_gid, current_gid())) in omfs_show_options()
307 from_kgid_munged(&init_user_ns, sbi->s_gid)); in omfs_show_options()
309 if (sbi->s_dmask == sbi->s_fmask) { in omfs_show_options()
310 if (sbi->s_fmask != cur_umask) in omfs_show_options()
311 seq_printf(m, ",umask=%o", sbi->s_fmask); in omfs_show_options()
313 if (sbi->s_dmask != cur_umask) in omfs_show_options()
314 seq_printf(m, ",dmask=%o", sbi->s_dmask); in omfs_show_options()
315 if (sbi->s_fmask != cur_umask) in omfs_show_options()
316 seq_printf(m, ",fmask=%o", sbi->s_fmask); in omfs_show_options()
341 struct omfs_sb_info *sbi = OMFS_SB(sb); in omfs_get_imap() local
346 bitmap_size = DIV_ROUND_UP(sbi->s_num_blocks, 8); in omfs_get_imap()
349 if (sbi->s_bitmap_ino == ~0ULL) in omfs_get_imap()
352 sbi->s_imap_size = array_size; in omfs_get_imap()
353 sbi->s_imap = kcalloc(array_size, sizeof(unsigned long *), GFP_KERNEL); in omfs_get_imap()
354 if (!sbi->s_imap) in omfs_get_imap()
357 block = clus_to_blk(sbi, sbi->s_bitmap_ino); in omfs_get_imap()
358 if (block >= sbi->s_num_blocks) in omfs_get_imap()
361 ptr = sbi->s_imap; in omfs_get_imap()
382 kfree(sbi->s_imap[count]); in omfs_get_imap()
384 kfree(sbi->s_imap); in omfs_get_imap()
386 sbi->s_imap = NULL; in omfs_get_imap()
387 sbi->s_imap_size = 0; in omfs_get_imap()
404 static int parse_options(char *options, struct omfs_sb_info *sbi) in parse_options() argument
423 sbi->s_uid = make_kuid(current_user_ns(), option); in parse_options()
424 if (!uid_valid(sbi->s_uid)) in parse_options()
430 sbi->s_gid = make_kgid(current_user_ns(), option); in parse_options()
431 if (!gid_valid(sbi->s_gid)) in parse_options()
437 sbi->s_fmask = sbi->s_dmask = option; in parse_options()
442 sbi->s_dmask = option; in parse_options()
447 sbi->s_fmask = option; in parse_options()
461 struct omfs_sb_info *sbi; in omfs_fill_super() local
465 sbi = kzalloc(sizeof(struct omfs_sb_info), GFP_KERNEL); in omfs_fill_super()
466 if (!sbi) in omfs_fill_super()
469 sb->s_fs_info = sbi; in omfs_fill_super()
471 sbi->s_uid = current_uid(); in omfs_fill_super()
472 sbi->s_gid = current_gid(); in omfs_fill_super()
473 sbi->s_dmask = sbi->s_fmask = current_umask(); in omfs_fill_super()
475 if (!parse_options((char *) data, sbi)) in omfs_fill_super()
500 sbi->s_num_blocks = be64_to_cpu(omfs_sb->s_num_blocks); in omfs_fill_super()
501 sbi->s_blocksize = be32_to_cpu(omfs_sb->s_blocksize); in omfs_fill_super()
502 sbi->s_mirrors = be32_to_cpu(omfs_sb->s_mirrors); in omfs_fill_super()
503 sbi->s_root_ino = be64_to_cpu(omfs_sb->s_root_block); in omfs_fill_super()
504 sbi->s_sys_blocksize = be32_to_cpu(omfs_sb->s_sys_blocksize); in omfs_fill_super()
505 mutex_init(&sbi->s_bitmap_lock); in omfs_fill_super()
507 if (sbi->s_num_blocks > OMFS_MAX_BLOCKS) { in omfs_fill_super()
509 (unsigned long long)sbi->s_num_blocks); in omfs_fill_super()
513 if (sbi->s_sys_blocksize > PAGE_SIZE) { in omfs_fill_super()
515 sbi->s_sys_blocksize); in omfs_fill_super()
519 if (sbi->s_blocksize < sbi->s_sys_blocksize || in omfs_fill_super()
520 sbi->s_blocksize > OMFS_MAX_BLOCK_SIZE) { in omfs_fill_super()
522 sbi->s_blocksize); in omfs_fill_super()
530 sb_set_blocksize(sb, sbi->s_sys_blocksize); in omfs_fill_super()
536 sbi->s_block_shift = get_bitmask_order(sbi->s_blocksize) - in omfs_fill_super()
537 get_bitmask_order(sbi->s_sys_blocksize); in omfs_fill_super()
545 sbi->s_bitmap_ino = be64_to_cpu(omfs_rb->r_bitmap); in omfs_fill_super()
546 sbi->s_clustersize = be32_to_cpu(omfs_rb->r_clustersize); in omfs_fill_super()
548 if (sbi->s_num_blocks != be64_to_cpu(omfs_rb->r_num_blocks)) { in omfs_fill_super()
551 (unsigned long long)sbi->s_num_blocks, in omfs_fill_super()
556 if (sbi->s_bitmap_ino != ~0ULL && in omfs_fill_super()
557 sbi->s_bitmap_ino > sbi->s_num_blocks) { in omfs_fill_super()
560 (unsigned long long) sbi->s_bitmap_ino, in omfs_fill_super()
561 (unsigned long long) sbi->s_num_blocks); in omfs_fill_super()
564 if (sbi->s_clustersize < 1 || in omfs_fill_super()
565 sbi->s_clustersize > OMFS_MAX_CLUSTER_SIZE) { in omfs_fill_super()
567 sbi->s_clustersize); in omfs_fill_super()
597 kfree(sbi); in omfs_fill_super()