Lines Matching full:sb
33 affs_commit_super(struct super_block *sb, int wait) in affs_commit_super() argument
35 struct affs_sb_info *sbi = AFFS_SB(sb); in affs_commit_super()
37 struct affs_root_tail *tail = AFFS_ROOT_TAIL(sb, bh); in affs_commit_super()
41 affs_fix_checksum(sb, bh); in affs_commit_super()
50 affs_put_super(struct super_block *sb) in affs_put_super() argument
52 struct affs_sb_info *sbi = AFFS_SB(sb); in affs_put_super()
59 affs_sync_fs(struct super_block *sb, int wait) in affs_sync_fs() argument
61 affs_commit_super(sb, wait); in affs_sync_fs()
68 struct super_block *sb; in flush_superblock() local
71 sb = sbi->sb; in flush_superblock()
77 affs_commit_super(sb, 1); in flush_superblock()
80 void affs_mark_sb_dirty(struct super_block *sb) in affs_mark_sb_dirty() argument
82 struct affs_sb_info *sbi = AFFS_SB(sb); in affs_mark_sb_dirty()
85 if (sb_rdonly(sb)) in affs_mark_sb_dirty()
99 static struct inode *affs_alloc_inode(struct super_block *sb) in affs_alloc_inode() argument
103 i = alloc_inode_sb(sb, affs_inode_cachep, GFP_KERNEL); in affs_alloc_inode()
270 struct super_block *sb = root->d_sb; in affs_show_options() local
271 struct affs_sb_info *sbi = AFFS_SB(sb); in affs_show_options()
273 if (sb->s_blocksize) in affs_show_options()
274 seq_printf(m, ",bs=%lu", sb->s_blocksize); in affs_show_options()
306 static int affs_fill_super(struct super_block *sb, struct fs_context *fc) in affs_fill_super() argument
322 sb->s_magic = AFFS_SUPER_MAGIC; in affs_fill_super()
323 sb->s_op = &affs_sops; in affs_fill_super()
324 sb->s_flags |= SB_NODIRATIME; in affs_fill_super()
326 sb->s_time_gran = NSEC_PER_SEC; in affs_fill_super()
327 sb->s_time_min = sys_tz.tz_minuteswest * 60 + AFFS_EPOCH_DELTA; in affs_fill_super()
328 sb->s_time_max = 86400LL * U32_MAX + 86400 + sb->s_time_min; in affs_fill_super()
334 sb->s_fs_info = sbi; in affs_fill_super()
335 sbi->sb = sb; in affs_fill_super()
357 size = bdev_nr_sectors(sb->s_bdev); in affs_fill_super()
360 affs_set_blocksize(sb, PAGE_SIZE); in affs_fill_super()
363 i = bdev_logical_block_size(sb->s_bdev); in affs_fill_super()
376 affs_set_blocksize(sb, blocksize); in affs_fill_super()
392 sb->s_id, in affs_fill_super()
395 root_bh = affs_bread(sb, sbi->s_root_block + num_bm); in affs_fill_super()
398 if (!affs_checksum_block(sb, root_bh) && in affs_fill_super()
400 be32_to_cpu(AFFS_ROOT_TAIL(sb, root_bh)->stype) == ST_ROOT) { in affs_fill_super()
410 pr_err("No valid root block on device %s\n", sb->s_id); in affs_fill_super()
420 boot_bh = sb_bread(sb, 0); in affs_fill_super()
434 || chksum == MUFS_DCOFS) && !sb_rdonly(sb)) { in affs_fill_super()
435 pr_notice("Dircache FS - mounting %s read only\n", sb->s_id); in affs_fill_super()
436 sb->s_flags |= SB_RDONLY; in affs_fill_super()
458 sb->s_flags |= SB_NOEXEC; in affs_fill_super()
468 sb->s_flags |= SB_NOEXEC; in affs_fill_super()
472 sb->s_id, chksum); in affs_fill_super()
477 u8 len = AFFS_ROOT_TAIL(sb, root_bh)->disk_name[0]; in affs_fill_super()
480 AFFS_ROOT_TAIL(sb, root_bh)->disk_name + 1, in affs_fill_super()
484 sb->s_flags |= SB_NODEV | SB_NOSUID; in affs_fill_super()
486 sbi->s_data_blksize = sb->s_blocksize; in affs_fill_super()
490 tmp_flags = sb->s_flags; in affs_fill_super()
491 ret = affs_init_bitmap(sb, &tmp_flags); in affs_fill_super()
494 sb->s_flags = tmp_flags; in affs_fill_super()
498 root_inode = affs_iget(sb, ctx->root_block); in affs_fill_super()
502 if (affs_test_opt(AFFS_SB(sb)->s_flags, SF_INTL)) in affs_fill_super()
503 set_default_d_op(sb, &affs_intl_dentry_operations); in affs_fill_super()
505 set_default_d_op(sb, &affs_dentry_operations); in affs_fill_super()
507 sb->s_root = d_make_root(root_inode); in affs_fill_super()
508 if (!sb->s_root) { in affs_fill_super()
513 sb->s_export_op = &affs_export_ops; in affs_fill_super()
514 pr_debug("s_flags=%lX\n", sb->s_flags); in affs_fill_super()
520 struct super_block *sb = fc->root->d_sb; in affs_reconfigure() local
522 struct affs_sb_info *sbi = AFFS_SB(sb); in affs_reconfigure()
525 sync_filesystem(sb); in affs_reconfigure()
548 if ((bool)(fc->sb_flags & SB_RDONLY) == sb_rdonly(sb)) in affs_reconfigure()
552 affs_free_bitmap(sb); in affs_reconfigure()
554 res = affs_init_bitmap(sb, &fc->sb_flags); in affs_reconfigure()
562 struct super_block *sb = dentry->d_sb; in affs_statfs() local
564 u64 id = huge_encode_dev(sb->s_bdev->bd_dev); in affs_statfs()
567 __func__, AFFS_SB(sb)->s_partition_size, in affs_statfs()
568 AFFS_SB(sb)->s_reserved); in affs_statfs()
570 free = affs_count_free_blocks(sb); in affs_statfs()
572 buf->f_bsize = sb->s_blocksize; in affs_statfs()
573 buf->f_blocks = AFFS_SB(sb)->s_partition_size - AFFS_SB(sb)->s_reserved; in affs_statfs()
586 static void affs_kill_sb(struct super_block *sb) in affs_kill_sb() argument
588 struct affs_sb_info *sbi = AFFS_SB(sb); in affs_kill_sb()
589 kill_block_super(sb); in affs_kill_sb()
591 affs_free_bitmap(sb); in affs_kill_sb()
623 struct super_block *sb = fc->root->d_sb; in affs_init_fs_context() local
624 struct affs_sb_info *sbi = AFFS_SB(sb); in affs_init_fs_context()