Lines Matching refs:sbi
24 struct omfs_sb_info *sbi = OMFS_SB(sb); in omfs_bread() local
25 if (block >= sbi->s_num_blocks) in omfs_bread()
28 return sb_bread(sb, clus_to_blk(sbi, block)); in omfs_bread()
37 struct omfs_sb_info *sbi = OMFS_SB(dir->i_sb); in omfs_new_inode() local
43 err = omfs_allocate_range(dir->i_sb, sbi->s_mirrors, sbi->s_mirrors, in omfs_new_inode()
57 inode->i_size = sbi->s_sys_blocksize; in omfs_new_inode()
103 struct omfs_sb_info *sbi = OMFS_SB(inode->i_sb); in __omfs_write_inode() local
128 oi->i_head.h_body_size = cpu_to_be32(sbi->s_sys_blocksize - in __omfs_write_inode()
149 for (i = 1; i < sbi->s_mirrors; i++) { in __omfs_write_inode()
202 struct omfs_sb_info *sbi = OMFS_SB(sb); in omfs_iget() local
225 inode->i_uid = sbi->s_uid; in omfs_iget()
226 inode->i_gid = sbi->s_gid; in omfs_iget()
242 inode->i_mode = S_IFDIR | (S_IRWXUGO & ~sbi->s_dmask); in omfs_iget()
245 inode->i_size = sbi->s_sys_blocksize; in omfs_iget()
249 inode->i_mode = S_IFREG | (S_IRWXUGO & ~sbi->s_fmask); in omfs_iget()
266 struct omfs_sb_info *sbi = OMFS_SB(sb); in omfs_put_super() local
267 kfree(sbi->s_imap); in omfs_put_super()
268 kfree(sbi); in omfs_put_super()
275 struct omfs_sb_info *sbi = OMFS_SB(s); in omfs_statfs() local
279 buf->f_bsize = sbi->s_blocksize; in omfs_statfs()
280 buf->f_blocks = sbi->s_num_blocks; in omfs_statfs()
281 buf->f_files = sbi->s_num_blocks; in omfs_statfs()
311 struct omfs_sb_info *sbi = OMFS_SB(sb); in omfs_get_imap() local
316 bitmap_size = DIV_ROUND_UP(sbi->s_num_blocks, 8); in omfs_get_imap()
319 if (sbi->s_bitmap_ino == ~0ULL) in omfs_get_imap()
322 sbi->s_imap_size = array_size; in omfs_get_imap()
323 sbi->s_imap = kcalloc(array_size, sizeof(unsigned long *), GFP_KERNEL); in omfs_get_imap()
324 if (!sbi->s_imap) in omfs_get_imap()
327 block = clus_to_blk(sbi, sbi->s_bitmap_ino); in omfs_get_imap()
328 if (block >= sbi->s_num_blocks) in omfs_get_imap()
331 ptr = sbi->s_imap; in omfs_get_imap()
353 kfree(sbi->s_imap[count]); in omfs_get_imap()
355 kfree(sbi->s_imap); in omfs_get_imap()
357 sbi->s_imap = NULL; in omfs_get_imap()
358 sbi->s_imap_size = 0; in omfs_get_imap()
375 static int parse_options(char *options, struct omfs_sb_info *sbi) in parse_options() argument
394 sbi->s_uid = make_kuid(current_user_ns(), option); in parse_options()
395 if (!uid_valid(sbi->s_uid)) in parse_options()
401 sbi->s_gid = make_kgid(current_user_ns(), option); in parse_options()
402 if (!gid_valid(sbi->s_gid)) in parse_options()
408 sbi->s_fmask = sbi->s_dmask = option; in parse_options()
413 sbi->s_dmask = option; in parse_options()
418 sbi->s_fmask = option; in parse_options()
432 struct omfs_sb_info *sbi; in omfs_fill_super() local
438 sbi = kzalloc(sizeof(struct omfs_sb_info), GFP_KERNEL); in omfs_fill_super()
439 if (!sbi) in omfs_fill_super()
442 sb->s_fs_info = sbi; in omfs_fill_super()
444 sbi->s_uid = current_uid(); in omfs_fill_super()
445 sbi->s_gid = current_gid(); in omfs_fill_super()
446 sbi->s_dmask = sbi->s_fmask = current_umask(); in omfs_fill_super()
448 if (!parse_options((char *) data, sbi)) in omfs_fill_super()
469 sbi->s_num_blocks = be64_to_cpu(omfs_sb->s_num_blocks); in omfs_fill_super()
470 sbi->s_blocksize = be32_to_cpu(omfs_sb->s_blocksize); in omfs_fill_super()
471 sbi->s_mirrors = be32_to_cpu(omfs_sb->s_mirrors); in omfs_fill_super()
472 sbi->s_root_ino = be64_to_cpu(omfs_sb->s_root_block); in omfs_fill_super()
473 sbi->s_sys_blocksize = be32_to_cpu(omfs_sb->s_sys_blocksize); in omfs_fill_super()
474 mutex_init(&sbi->s_bitmap_lock); in omfs_fill_super()
476 if (sbi->s_num_blocks > OMFS_MAX_BLOCKS) { in omfs_fill_super()
478 (unsigned long long)sbi->s_num_blocks); in omfs_fill_super()
482 if (sbi->s_sys_blocksize > PAGE_SIZE) { in omfs_fill_super()
484 sbi->s_sys_blocksize); in omfs_fill_super()
488 if (sbi->s_blocksize < sbi->s_sys_blocksize || in omfs_fill_super()
489 sbi->s_blocksize > OMFS_MAX_BLOCK_SIZE) { in omfs_fill_super()
491 sbi->s_blocksize); in omfs_fill_super()
499 sb_set_blocksize(sb, sbi->s_sys_blocksize); in omfs_fill_super()
505 sbi->s_block_shift = get_bitmask_order(sbi->s_blocksize) - in omfs_fill_super()
506 get_bitmask_order(sbi->s_sys_blocksize); in omfs_fill_super()
514 sbi->s_bitmap_ino = be64_to_cpu(omfs_rb->r_bitmap); in omfs_fill_super()
515 sbi->s_clustersize = be32_to_cpu(omfs_rb->r_clustersize); in omfs_fill_super()
517 if (sbi->s_num_blocks != be64_to_cpu(omfs_rb->r_num_blocks)) { in omfs_fill_super()
520 (unsigned long long)sbi->s_num_blocks, in omfs_fill_super()
525 if (sbi->s_bitmap_ino != ~0ULL && in omfs_fill_super()
526 sbi->s_bitmap_ino > sbi->s_num_blocks) { in omfs_fill_super()
529 (unsigned long long) sbi->s_bitmap_ino, in omfs_fill_super()
530 (unsigned long long) sbi->s_num_blocks); in omfs_fill_super()
533 if (sbi->s_clustersize < 1 || in omfs_fill_super()
534 sbi->s_clustersize > OMFS_MAX_CLUSTER_SIZE) { in omfs_fill_super()
536 sbi->s_clustersize); in omfs_fill_super()
566 kfree(sbi); in omfs_fill_super()