Lines Matching refs:sb
24 static int affs_remount (struct super_block *sb, int *flags, char *data);
27 affs_commit_super(struct super_block *sb, int wait) in affs_commit_super() argument
29 struct affs_sb_info *sbi = AFFS_SB(sb); in affs_commit_super()
31 struct affs_root_tail *tail = AFFS_ROOT_TAIL(sb, bh); in affs_commit_super()
35 affs_fix_checksum(sb, bh); in affs_commit_super()
44 affs_put_super(struct super_block *sb) in affs_put_super() argument
46 struct affs_sb_info *sbi = AFFS_SB(sb); in affs_put_super()
53 affs_sync_fs(struct super_block *sb, int wait) in affs_sync_fs() argument
55 affs_commit_super(sb, wait); in affs_sync_fs()
62 struct super_block *sb; in flush_superblock() local
65 sb = sbi->sb; in flush_superblock()
71 affs_commit_super(sb, 1); in flush_superblock()
74 void affs_mark_sb_dirty(struct super_block *sb) in affs_mark_sb_dirty() argument
76 struct affs_sb_info *sbi = AFFS_SB(sb); in affs_mark_sb_dirty()
79 if (sb->s_flags & MS_RDONLY) in affs_mark_sb_dirty()
93 static struct inode *affs_alloc_inode(struct super_block *sb) in affs_alloc_inode() argument
298 static int affs_fill_super(struct super_block *sb, void *data, int silent) in affs_fill_super() argument
317 save_mount_options(sb, data); in affs_fill_super()
321 sb->s_magic = AFFS_SUPER_MAGIC; in affs_fill_super()
322 sb->s_op = &affs_sops; in affs_fill_super()
323 sb->s_flags |= MS_NODIRATIME; in affs_fill_super()
329 sb->s_fs_info = sbi; in affs_fill_super()
330 sbi->sb = sb; in affs_fill_super()
355 size = sb->s_bdev->bd_inode->i_size >> 9; in affs_fill_super()
358 affs_set_blocksize(sb, PAGE_SIZE); in affs_fill_super()
372 affs_set_blocksize(sb, blocksize); in affs_fill_super()
388 sb->s_id, in affs_fill_super()
391 root_bh = affs_bread(sb, sbi->s_root_block + num_bm); in affs_fill_super()
394 if (!affs_checksum_block(sb, root_bh) && in affs_fill_super()
396 be32_to_cpu(AFFS_ROOT_TAIL(sb, root_bh)->stype) == ST_ROOT) { in affs_fill_super()
406 pr_err("No valid root block on device %s\n", sb->s_id); in affs_fill_super()
416 boot_bh = sb_bread(sb, 0); in affs_fill_super()
430 || chksum == MUFS_DCOFS) && !(sb->s_flags & MS_RDONLY)) { in affs_fill_super()
431 pr_notice("Dircache FS - mounting %s read only\n", sb->s_id); in affs_fill_super()
432 sb->s_flags |= MS_RDONLY; in affs_fill_super()
454 sb->s_flags |= MS_NOEXEC; in affs_fill_super()
463 sb->s_flags |= MS_NOEXEC; in affs_fill_super()
467 sb->s_id, chksum); in affs_fill_super()
472 u8 len = AFFS_ROOT_TAIL(sb, root_bh)->disk_name[0]; in affs_fill_super()
475 AFFS_ROOT_TAIL(sb, root_bh)->disk_name + 1, in affs_fill_super()
479 sb->s_flags |= MS_NODEV | MS_NOSUID; in affs_fill_super()
481 sbi->s_data_blksize = sb->s_blocksize; in affs_fill_super()
485 tmp_flags = sb->s_flags; in affs_fill_super()
486 ret = affs_init_bitmap(sb, &tmp_flags); in affs_fill_super()
489 sb->s_flags = tmp_flags; in affs_fill_super()
493 root_inode = affs_iget(sb, root_block); in affs_fill_super()
497 if (affs_test_opt(AFFS_SB(sb)->s_flags, SF_INTL)) in affs_fill_super()
498 sb->s_d_op = &affs_intl_dentry_operations; in affs_fill_super()
500 sb->s_d_op = &affs_dentry_operations; in affs_fill_super()
502 sb->s_root = d_make_root(root_inode); in affs_fill_super()
503 if (!sb->s_root) { in affs_fill_super()
508 pr_debug("s_flags=%lX\n", sb->s_flags); in affs_fill_super()
513 affs_remount(struct super_block *sb, int *flags, char *data) in affs_remount() argument
515 struct affs_sb_info *sbi = AFFS_SB(sb); in affs_remount()
534 sync_filesystem(sb); in affs_remount()
548 replace_mount_options(sb, new_opts); in affs_remount()
563 if ((*flags & MS_RDONLY) == (sb->s_flags & MS_RDONLY)) in affs_remount()
567 affs_free_bitmap(sb); in affs_remount()
569 res = affs_init_bitmap(sb, flags); in affs_remount()
577 struct super_block *sb = dentry->d_sb; in affs_statfs() local
579 u64 id = huge_encode_dev(sb->s_bdev->bd_dev); in affs_statfs()
582 __func__, AFFS_SB(sb)->s_partition_size, in affs_statfs()
583 AFFS_SB(sb)->s_reserved); in affs_statfs()
585 free = affs_count_free_blocks(sb); in affs_statfs()
587 buf->f_bsize = sb->s_blocksize; in affs_statfs()
588 buf->f_blocks = AFFS_SB(sb)->s_partition_size - AFFS_SB(sb)->s_reserved; in affs_statfs()
603 static void affs_kill_sb(struct super_block *sb) in affs_kill_sb() argument
605 struct affs_sb_info *sbi = AFFS_SB(sb); in affs_kill_sb()
606 kill_block_super(sb); in affs_kill_sb()
608 affs_free_bitmap(sb); in affs_kill_sb()