Lines Matching refs:sb

50 static inline struct cramfs_sb_info *CRAMFS_SB(struct super_block *sb)
52 return sb->s_fs_info;
90 static struct inode *get_cramfs_inode(struct super_block *sb,
96 inode = iget_locked(sb, cramino(cramfs_inode, offset));
107 CRAMFS_SB(sb)->flags & CRAMFS_FLAG_EXT_BLOCK_POINTERS &&
108 CRAMFS_SB(sb)->linear_phys_addr)
183 static void *cramfs_blkdev_read(struct super_block *sb, unsigned int offset,
186 struct address_space *mapping = sb->s_bdev->bd_inode->i_mapping;
202 if (buffer_dev[i] != sb)
214 devsize = bdev_nr_bytes(sb->s_bdev) >> PAGE_SHIFT;
235 buffer_dev[buffer] = sb;
254 static void *cramfs_direct_read(struct super_block *sb, unsigned int offset,
257 struct cramfs_sb_info *sbi = CRAMFS_SB(sb);
270 static void *cramfs_read(struct super_block *sb, unsigned int offset,
273 struct cramfs_sb_info *sbi = CRAMFS_SB(sb);
276 return cramfs_direct_read(sb, offset, len);
278 return cramfs_blkdev_read(sb, offset, len);
448 struct super_block *sb = inode->i_sb;
449 struct cramfs_sb_info *sbi = CRAMFS_SB(sb);
485 static void cramfs_kill_sb(struct super_block *sb)
487 struct cramfs_sb_info *sbi = CRAMFS_SB(sb);
489 generic_shutdown_super(sb);
491 if (IS_ENABLED(CONFIG_CRAMFS_MTD) && sb->s_mtd) {
493 mtd_unpoint(sb->s_mtd, 0, sbi->mtd_point_size);
494 put_mtd_device(sb->s_mtd);
495 sb->s_mtd = NULL;
496 } else if (IS_ENABLED(CONFIG_CRAMFS_BLOCKDEV) && sb->s_bdev) {
497 sync_blockdev(sb->s_bdev);
498 bdev_fput(sb->s_bdev_file);
510 static int cramfs_read_super(struct super_block *sb, struct fs_context *fc,
513 struct cramfs_sb_info *sbi = CRAMFS_SB(sb);
522 memcpy(super, cramfs_read(sb, 0, sizeof(*super)), sizeof(*super));
537 cramfs_read(sb, 512, sizeof(*super)),
588 static int cramfs_finalize_super(struct super_block *sb,
594 sb->s_flags |= SB_RDONLY;
595 sb->s_time_min = 0;
596 sb->s_time_max = 0;
597 sb->s_op = &cramfs_ops;
598 root = get_cramfs_inode(sb, cramfs_root, 0);
601 sb->s_root = d_make_root(root);
602 if (!sb->s_root)
607 static int cramfs_blkdev_fill_super(struct super_block *sb, struct fs_context *fc)
616 sb->s_fs_info = sbi;
622 err = cramfs_read_super(sb, fc, &super);
625 return cramfs_finalize_super(sb, &super.root);
628 static int cramfs_mtd_fill_super(struct super_block *sb, struct fs_context *fc)
637 sb->s_fs_info = sbi;
640 err = mtd_point(sb->s_mtd, 0, PAGE_SIZE, &sbi->mtd_point_size,
644 sb->s_mtd->name);
650 err = cramfs_read_super(sb, fc, &super);
656 sb->s_mtd->name, sbi->size/1024);
657 mtd_unpoint(sb->s_mtd, 0, PAGE_SIZE);
658 err = mtd_point(sb->s_mtd, 0, sbi->size, &sbi->mtd_point_size,
662 sb->s_mtd->name);
666 return cramfs_finalize_super(sb, &super.root);
671 struct super_block *sb = dentry->d_sb;
674 if (sb->s_bdev)
675 id = huge_encode_dev(sb->s_bdev->bd_dev);
676 else if (sb->s_dev)
677 id = huge_encode_dev(sb->s_dev);
681 buf->f_blocks = CRAMFS_SB(sb)->blocks;
684 buf->f_files = CRAMFS_SB(sb)->files;
697 struct super_block *sb = inode->i_sb;
722 de = cramfs_read(sb, OFFSET(inode) + offset, sizeof(*de)+CRAMFS_MAXPATHLEN);
825 struct super_block *sb = inode->i_sb;
831 block_ptr = *(u32 *) cramfs_read(sb, blkptr_offset, 4);
852 cramfs_read(sb, block_start, 2);
866 cramfs_read(sb, blkptr_offset - 4, 4);
877 cramfs_read(sb, block_start, 2);
894 cramfs_read(sb, block_start, block_len),
900 cramfs_read(sb, block_start, block_len),