Lines Matching refs:sb

25 static int affs_remount (struct super_block *sb, int *flags, char *data);
28 affs_commit_super(struct super_block *sb, int wait) in affs_commit_super() argument
30 struct affs_sb_info *sbi = AFFS_SB(sb); in affs_commit_super()
32 struct affs_root_tail *tail = AFFS_ROOT_TAIL(sb, bh); in affs_commit_super()
36 affs_fix_checksum(sb, bh); in affs_commit_super()
45 affs_put_super(struct super_block *sb) in affs_put_super() argument
47 struct affs_sb_info *sbi = AFFS_SB(sb); in affs_put_super()
54 affs_sync_fs(struct super_block *sb, int wait) in affs_sync_fs() argument
56 affs_commit_super(sb, wait); in affs_sync_fs()
63 struct super_block *sb; in flush_superblock() local
66 sb = sbi->sb; in flush_superblock()
72 affs_commit_super(sb, 1); in flush_superblock()
75 void affs_mark_sb_dirty(struct super_block *sb) in affs_mark_sb_dirty() argument
77 struct affs_sb_info *sbi = AFFS_SB(sb); in affs_mark_sb_dirty()
80 if (sb->s_flags & MS_RDONLY) in affs_mark_sb_dirty()
94 static struct inode *affs_alloc_inode(struct super_block *sb) in affs_alloc_inode() argument
299 static int affs_fill_super(struct super_block *sb, void *data, int silent) in affs_fill_super() argument
318 save_mount_options(sb, data); in affs_fill_super()
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 |= MS_NODIRATIME; in affs_fill_super()
330 sb->s_fs_info = sbi; in affs_fill_super()
331 sbi->sb = sb; in affs_fill_super()
356 size = i_size_read(sb->s_bdev->bd_inode) >> 9; in affs_fill_super()
359 affs_set_blocksize(sb, PAGE_SIZE); in affs_fill_super()
362 i = bdev_logical_block_size(sb->s_bdev); in affs_fill_super()
374 affs_set_blocksize(sb, blocksize); in affs_fill_super()
390 sb->s_id, in affs_fill_super()
393 root_bh = affs_bread(sb, sbi->s_root_block + num_bm); in affs_fill_super()
396 if (!affs_checksum_block(sb, root_bh) && in affs_fill_super()
398 be32_to_cpu(AFFS_ROOT_TAIL(sb, root_bh)->stype) == ST_ROOT) { in affs_fill_super()
408 pr_err("No valid root block on device %s\n", sb->s_id); in affs_fill_super()
418 boot_bh = sb_bread(sb, 0); in affs_fill_super()
432 || chksum == MUFS_DCOFS) && !(sb->s_flags & MS_RDONLY)) { in affs_fill_super()
433 pr_notice("Dircache FS - mounting %s read only\n", sb->s_id); in affs_fill_super()
434 sb->s_flags |= MS_RDONLY; in affs_fill_super()
456 sb->s_flags |= MS_NOEXEC; in affs_fill_super()
465 sb->s_flags |= MS_NOEXEC; in affs_fill_super()
469 sb->s_id, chksum); in affs_fill_super()
474 u8 len = AFFS_ROOT_TAIL(sb, root_bh)->disk_name[0]; in affs_fill_super()
477 AFFS_ROOT_TAIL(sb, root_bh)->disk_name + 1, in affs_fill_super()
481 sb->s_flags |= MS_NODEV | MS_NOSUID; in affs_fill_super()
483 sbi->s_data_blksize = sb->s_blocksize; in affs_fill_super()
487 tmp_flags = sb->s_flags; in affs_fill_super()
488 ret = affs_init_bitmap(sb, &tmp_flags); in affs_fill_super()
491 sb->s_flags = tmp_flags; in affs_fill_super()
495 root_inode = affs_iget(sb, root_block); in affs_fill_super()
499 if (affs_test_opt(AFFS_SB(sb)->s_flags, SF_INTL)) in affs_fill_super()
500 sb->s_d_op = &affs_intl_dentry_operations; in affs_fill_super()
502 sb->s_d_op = &affs_dentry_operations; in affs_fill_super()
504 sb->s_root = d_make_root(root_inode); in affs_fill_super()
505 if (!sb->s_root) { in affs_fill_super()
510 pr_debug("s_flags=%lX\n", sb->s_flags); in affs_fill_super()
515 affs_remount(struct super_block *sb, int *flags, char *data) in affs_remount() argument
517 struct affs_sb_info *sbi = AFFS_SB(sb); in affs_remount()
536 sync_filesystem(sb); in affs_remount()
550 replace_mount_options(sb, new_opts); in affs_remount()
565 if ((*flags & MS_RDONLY) == (sb->s_flags & MS_RDONLY)) in affs_remount()
569 affs_free_bitmap(sb); in affs_remount()
571 res = affs_init_bitmap(sb, flags); in affs_remount()
579 struct super_block *sb = dentry->d_sb; in affs_statfs() local
581 u64 id = huge_encode_dev(sb->s_bdev->bd_dev); in affs_statfs()
584 __func__, AFFS_SB(sb)->s_partition_size, in affs_statfs()
585 AFFS_SB(sb)->s_reserved); in affs_statfs()
587 free = affs_count_free_blocks(sb); in affs_statfs()
589 buf->f_bsize = sb->s_blocksize; in affs_statfs()
590 buf->f_blocks = AFFS_SB(sb)->s_partition_size - AFFS_SB(sb)->s_reserved; in affs_statfs()
605 static void affs_kill_sb(struct super_block *sb) in affs_kill_sb() argument
607 struct affs_sb_info *sbi = AFFS_SB(sb); in affs_kill_sb()
608 kill_block_super(sb); in affs_kill_sb()
610 affs_free_bitmap(sb); in affs_kill_sb()