Lines Matching refs:sb

72 static struct gfs2_sbd *init_sbd(struct super_block *sb)
81 sdp->sd_vfs = sb;
85 sb->s_fs_info = sdp;
117 mapping->host = sb->s_bdev->bd_inode;
160 struct gfs2_sb_host *sb = &sdp->sd_sb;
162 if (sb->sb_magic != GFS2_MAGIC ||
163 sb->sb_type != GFS2_METATYPE_SB) {
169 if (sb->sb_fs_format < GFS2_FS_FORMAT_MIN ||
170 sb->sb_fs_format > GFS2_FS_FORMAT_MAX ||
171 sb->sb_multihost_format != GFS2_FORMAT_MULTI) {
176 if (sb->sb_bsize < 512 || sb->sb_bsize > PAGE_SIZE ||
177 (sb->sb_bsize & (sb->sb_bsize - 1))) {
181 if (sb->sb_bsize_shift != ffs(sb->sb_bsize) - 1) {
190 struct gfs2_sb_host *sb = &sdp->sd_sb;
193 sb->sb_magic = be32_to_cpu(str->sb_header.mh_magic);
194 sb->sb_type = be32_to_cpu(str->sb_header.mh_type);
195 sb->sb_fs_format = be32_to_cpu(str->sb_fs_format);
196 sb->sb_multihost_format = be32_to_cpu(str->sb_multihost_format);
197 sb->sb_bsize = be32_to_cpu(str->sb_bsize);
198 sb->sb_bsize_shift = be32_to_cpu(str->sb_bsize_shift);
199 sb->sb_master_dir.no_addr = be64_to_cpu(str->sb_master_dir.no_addr);
200 sb->sb_master_dir.no_formal_ino = be64_to_cpu(str->sb_master_dir.no_formal_ino);
201 sb->sb_root_dir.no_addr = be64_to_cpu(str->sb_root_dir.no_addr);
202 sb->sb_root_dir.no_formal_ino = be64_to_cpu(str->sb_root_dir.no_formal_ino);
204 memcpy(sb->sb_lockproto, str->sb_lockproto, GFS2_LOCKNAME_LEN);
205 memcpy(sb->sb_locktable, str->sb_locktable, GFS2_LOCKNAME_LEN);
221 * the sb is read again under the lock to establish the location of
230 struct super_block *sb = sdp->sd_vfs;
240 bio_init(&bio, sb->s_bdev, &bvec, 1, REQ_OP_READ | REQ_META);
241 bio.bi_iter.bi_sector = sector * (sb->s_blocksize >> 9);
434 static int gfs2_lookup_root(struct super_block *sb, struct dentry **dptr,
437 struct gfs2_sbd *sdp = sb->s_fs_info;
441 inode = gfs2_inode_lookup(sb, DT_DIR, no_addr, 0,
458 struct super_block *sb = sdp->sd_vfs;
478 sb->s_xattr = gfs2_xattr_handlers_max;
482 sb->s_xattr = gfs2_xattr_handlers_min;
490 if (sdp->sd_sb.sb_bsize < bdev_logical_block_size(sb->s_bdev)) {
494 sdp->sd_sb.sb_bsize, bdev_logical_block_size(sb->s_bdev));
504 sb_set_blocksize(sb, sdp->sd_sb.sb_bsize);
508 ret = gfs2_lookup_root(sb, &sdp->sd_root_dir, no_addr, "root");
514 ret = gfs2_lookup_root(sb, &sdp->sd_master_dir, no_addr, "master");
519 sb->s_root = dget(sdp->sd_args.ar_meta ? sdp->sd_master_dir : sdp->sd_root_dir);
1072 struct super_block *sb = sdp->sd_vfs;
1076 sprintf(ro, "RDONLY=%d", sb_rdonly(sb));
1128 * @sb: The VFS superblock
1133 static int gfs2_fill_super(struct super_block *sb, struct fs_context *fc)
1141 sdp = init_sbd(sb);
1149 sb->s_flags |= SB_RDONLY;
1153 sb->s_flags |= SB_POSIXACL;
1157 sb->s_flags |= SB_NOSEC;
1158 sb->s_magic = GFS2_MAGIC;
1159 sb->s_op = &gfs2_super_ops;
1160 sb->s_d_op = &gfs2_dops;
1161 sb->s_export_op = &gfs2_export_ops;
1162 sb->s_qcop = &gfs2_quotactl_ops;
1163 sb->s_quota_types = QTYPE_MASK_USR | QTYPE_MASK_GRP;
1164 sb_dqopt(sb)->flags |= DQUOT_QUOTA_SYS_FILE;
1165 sb->s_time_gran = 1;
1166 sb->s_maxbytes = MAX_LFS_FILESIZE;
1170 sdp->sd_sb.sb_bsize = sb_min_blocksize(sb, 512);
1171 sdp->sd_sb.sb_bsize_shift = sb->s_blocksize_bits;
1258 if (!sb_rdonly(sb)) {
1268 if (!sb_rdonly(sb))
1290 if (sb->s_root)
1291 dput(sb->s_root);
1292 sb->s_root = NULL;
1306 sb->s_fs_info = NULL;
1535 struct super_block *sb = fc->root->d_sb;
1536 struct gfs2_sbd *sdp = sb->s_fs_info;
1542 sync_filesystem(sb);
1580 if ((sb->s_flags ^ fc->sb_flags) & SB_RDONLY) {
1592 sb->s_flags |= SB_POSIXACL;
1594 sb->s_flags &= ~SB_POSIXACL;
1711 * @sb: the superblock
1729 static void gfs2_evict_inodes(struct super_block *sb)
1732 struct gfs2_sbd *sdp = sb->s_fs_info;
1736 spin_lock(&sb->s_inode_list_lock);
1737 list_for_each_entry(inode, &sb->s_inodes, i_sb_list) {
1746 spin_unlock(&sb->s_inode_list_lock);
1752 spin_lock(&sb->s_inode_list_lock);
1754 spin_unlock(&sb->s_inode_list_lock);
1758 static void gfs2_kill_sb(struct super_block *sb)
1760 struct gfs2_sbd *sdp = sb->s_fs_info;
1763 kill_block_super(sb);
1772 shrink_dcache_sb(sb);
1774 gfs2_evict_inodes(sb);
1785 kill_block_super(sb);