Lines Matching full:sbi

26 	struct omfs_sb_info *sbi = OMFS_SB(sb);  in omfs_bread()  local
27 if (block >= sbi->s_num_blocks) in omfs_bread()
30 return sb_bread(sb, clus_to_blk(sbi, block)); in omfs_bread()
39 struct omfs_sb_info *sbi = OMFS_SB(dir->i_sb); in omfs_new_inode() local
45 err = omfs_allocate_range(dir->i_sb, sbi->s_mirrors, sbi->s_mirrors, in omfs_new_inode()
59 inode->i_size = sbi->s_sys_blocksize; in omfs_new_inode()
105 struct omfs_sb_info *sbi = OMFS_SB(inode->i_sb); in __omfs_write_inode() local
130 oi->i_head.h_body_size = cpu_to_be32(sbi->s_sys_blocksize - in __omfs_write_inode()
151 for (i = 1; i < sbi->s_mirrors; i++) { in __omfs_write_inode()
204 struct omfs_sb_info *sbi = OMFS_SB(sb); in omfs_iget() local
227 inode->i_uid = sbi->s_uid; in omfs_iget()
228 inode->i_gid = sbi->s_gid; in omfs_iget()
243 inode->i_mode = S_IFDIR | (S_IRWXUGO & ~sbi->s_dmask); in omfs_iget()
246 inode->i_size = sbi->s_sys_blocksize; in omfs_iget()
250 inode->i_mode = S_IFREG | (S_IRWXUGO & ~sbi->s_fmask); in omfs_iget()
267 struct omfs_sb_info *sbi = OMFS_SB(sb); in omfs_put_super() local
268 kfree(sbi->s_imap); in omfs_put_super()
269 kfree(sbi); in omfs_put_super()
276 struct omfs_sb_info *sbi = OMFS_SB(s); in omfs_statfs() local
280 buf->f_bsize = sbi->s_blocksize; in omfs_statfs()
281 buf->f_blocks = sbi->s_num_blocks; in omfs_statfs()
282 buf->f_files = sbi->s_num_blocks; in omfs_statfs()
297 struct omfs_sb_info *sbi = OMFS_SB(root->d_sb); in omfs_show_options() local
300 if (!uid_eq(sbi->s_uid, current_uid())) in omfs_show_options()
302 from_kuid_munged(&init_user_ns, sbi->s_uid)); in omfs_show_options()
303 if (!gid_eq(sbi->s_gid, current_gid())) in omfs_show_options()
305 from_kgid_munged(&init_user_ns, sbi->s_gid)); in omfs_show_options()
307 if (sbi->s_dmask == sbi->s_fmask) { in omfs_show_options()
308 if (sbi->s_fmask != cur_umask) in omfs_show_options()
309 seq_printf(m, ",umask=%o", sbi->s_fmask); in omfs_show_options()
311 if (sbi->s_dmask != cur_umask) in omfs_show_options()
312 seq_printf(m, ",dmask=%o", sbi->s_dmask); in omfs_show_options()
313 if (sbi->s_fmask != cur_umask) in omfs_show_options()
314 seq_printf(m, ",fmask=%o", sbi->s_fmask); in omfs_show_options()
339 struct omfs_sb_info *sbi = OMFS_SB(sb); in omfs_get_imap() local
344 bitmap_size = DIV_ROUND_UP(sbi->s_num_blocks, 8); in omfs_get_imap()
347 if (sbi->s_bitmap_ino == ~0ULL) in omfs_get_imap()
350 sbi->s_imap_size = array_size; in omfs_get_imap()
351 sbi->s_imap = kcalloc(array_size, sizeof(unsigned long *), GFP_KERNEL); in omfs_get_imap()
352 if (!sbi->s_imap) in omfs_get_imap()
355 block = clus_to_blk(sbi, sbi->s_bitmap_ino); in omfs_get_imap()
356 if (block >= sbi->s_num_blocks) in omfs_get_imap()
359 ptr = sbi->s_imap; in omfs_get_imap()
380 kfree(sbi->s_imap[count]); in omfs_get_imap()
382 kfree(sbi->s_imap); in omfs_get_imap()
384 sbi->s_imap = NULL; in omfs_get_imap()
385 sbi->s_imap_size = 0; in omfs_get_imap()
402 static int parse_options(char *options, struct omfs_sb_info *sbi) in parse_options() argument
421 sbi->s_uid = make_kuid(current_user_ns(), option); in parse_options()
422 if (!uid_valid(sbi->s_uid)) in parse_options()
428 sbi->s_gid = make_kgid(current_user_ns(), option); in parse_options()
429 if (!gid_valid(sbi->s_gid)) in parse_options()
435 sbi->s_fmask = sbi->s_dmask = option; in parse_options()
440 sbi->s_dmask = option; in parse_options()
445 sbi->s_fmask = option; in parse_options()
459 struct omfs_sb_info *sbi; in omfs_fill_super() local
463 sbi = kzalloc(sizeof(struct omfs_sb_info), GFP_KERNEL); in omfs_fill_super()
464 if (!sbi) in omfs_fill_super()
467 sb->s_fs_info = sbi; in omfs_fill_super()
469 sbi->s_uid = current_uid(); in omfs_fill_super()
470 sbi->s_gid = current_gid(); in omfs_fill_super()
471 sbi->s_dmask = sbi->s_fmask = current_umask(); in omfs_fill_super()
473 if (!parse_options((char *) data, sbi)) in omfs_fill_super()
498 sbi->s_num_blocks = be64_to_cpu(omfs_sb->s_num_blocks); in omfs_fill_super()
499 sbi->s_blocksize = be32_to_cpu(omfs_sb->s_blocksize); in omfs_fill_super()
500 sbi->s_mirrors = be32_to_cpu(omfs_sb->s_mirrors); in omfs_fill_super()
501 sbi->s_root_ino = be64_to_cpu(omfs_sb->s_root_block); in omfs_fill_super()
502 sbi->s_sys_blocksize = be32_to_cpu(omfs_sb->s_sys_blocksize); in omfs_fill_super()
503 mutex_init(&sbi->s_bitmap_lock); in omfs_fill_super()
505 if (sbi->s_num_blocks > OMFS_MAX_BLOCKS) { in omfs_fill_super()
507 (unsigned long long)sbi->s_num_blocks); in omfs_fill_super()
511 if (sbi->s_sys_blocksize > PAGE_SIZE) { in omfs_fill_super()
513 sbi->s_sys_blocksize); in omfs_fill_super()
517 if (sbi->s_blocksize < sbi->s_sys_blocksize || in omfs_fill_super()
518 sbi->s_blocksize > OMFS_MAX_BLOCK_SIZE) { in omfs_fill_super()
520 sbi->s_blocksize); in omfs_fill_super()
528 sb_set_blocksize(sb, sbi->s_sys_blocksize); in omfs_fill_super()
534 sbi->s_block_shift = get_bitmask_order(sbi->s_blocksize) - in omfs_fill_super()
535 get_bitmask_order(sbi->s_sys_blocksize); in omfs_fill_super()
543 sbi->s_bitmap_ino = be64_to_cpu(omfs_rb->r_bitmap); in omfs_fill_super()
544 sbi->s_clustersize = be32_to_cpu(omfs_rb->r_clustersize); in omfs_fill_super()
546 if (sbi->s_num_blocks != be64_to_cpu(omfs_rb->r_num_blocks)) { in omfs_fill_super()
549 (unsigned long long)sbi->s_num_blocks, in omfs_fill_super()
554 if (sbi->s_bitmap_ino != ~0ULL && in omfs_fill_super()
555 sbi->s_bitmap_ino > sbi->s_num_blocks) { in omfs_fill_super()
558 (unsigned long long) sbi->s_bitmap_ino, in omfs_fill_super()
559 (unsigned long long) sbi->s_num_blocks); in omfs_fill_super()
562 if (sbi->s_clustersize < 1 || in omfs_fill_super()
563 sbi->s_clustersize > OMFS_MAX_CLUSTER_SIZE) { in omfs_fill_super()
565 sbi->s_clustersize); in omfs_fill_super()
595 kfree(sbi); in omfs_fill_super()