Lines Matching refs:sb
48 static struct inode *befs_alloc_inode(struct super_block *sb);
52 static int befs_utf2nls(struct super_block *sb, const char *in, int in_len,
54 static int befs_nls2utf(struct super_block *sb, const char *in, int in_len,
61 static struct dentry *befs_fh_to_dentry(struct super_block *sb,
63 static struct dentry *befs_fh_to_parent(struct super_block *sb,
136 struct super_block *sb = inode->i_sb;
142 befs_debug(sb, "---> befs_get_block() for inode %lu, block %ld",
145 befs_error(sb, "befs_get_block() was asked to write to "
151 res = befs_fblock2brun(sb, ds, block, &run);
153 befs_error(sb,
160 disk_off = (ulong) iaddr2blockno(sb, &run);
164 befs_debug(sb, "<--- %s for inode %lu, block %ld, disk address %lu",
175 struct super_block *sb = dir->i_sb;
183 befs_debug(sb, "---> %s name %pd inode %ld", __func__,
187 if (BEFS_SB(sb)->nls) {
189 befs_nls2utf(sb, name, strlen(name), &utfname, &utfnamelen);
191 befs_debug(sb, "<--- %s ERROR", __func__);
194 ret = befs_btree_find(sb, ds, utfname, &offset);
198 ret = befs_btree_find(sb, ds, name, &offset);
202 befs_debug(sb, "<--- %s %pd not found", __func__, dentry);
205 befs_error(sb, "<--- %s Error", __func__);
210 befs_debug(sb, "<--- %s", __func__);
219 struct super_block *sb = inode->i_sb;
226 befs_debug(sb, "---> %s name %pD, inode %ld, ctx->pos %lld",
230 result = befs_btree_read(sb, ds, ctx->pos, BEFS_NAME_LEN + 1,
234 befs_debug(sb, "<--- %s ERROR", __func__);
235 befs_error(sb, "IO error reading %pD (inode %lu)",
240 befs_debug(sb, "<--- %s END", __func__);
244 befs_debug(sb, "<--- %s Empty directory", __func__);
249 if (BEFS_SB(sb)->nls) {
254 befs_utf2nls(sb, keybuf, keysize, &nlsname,
257 befs_debug(sb, "<--- %s ERROR", __func__);
276 befs_alloc_inode(struct super_block *sb)
298 static struct inode *befs_iget(struct super_block *sb, unsigned long ino)
302 struct befs_sb_info *befs_sb = BEFS_SB(sb);
306 befs_debug(sb, "---> %s inode = %lu", __func__, ino);
308 inode = iget_locked(sb, ino);
317 befs_ino->i_inode_num = blockno2iaddr(sb, inode->i_ino);
319 befs_debug(sb, " real inode number [%u, %hu, %hu]",
323 bh = sb_bread(sb, inode->i_ino);
325 befs_error(sb, "unable to read inode block - "
332 befs_dump_inode(sb, raw_inode);
334 if (befs_check_inode(sb, raw_inode, inode->i_ino) != BEFS_OK) {
335 befs_error(sb, "Bad inode: %lu", inode->i_ino);
339 inode->i_mode = (umode_t) fs32_to_cpu(sb, raw_inode->mode);
348 make_kuid(&init_user_ns, fs32_to_cpu(sb, raw_inode->uid));
351 make_kgid(&init_user_ns, fs32_to_cpu(sb, raw_inode->gid));
365 fs64_to_cpu(sb, raw_inode->last_modified_time) >> 16;
370 befs_ino->i_inode_num = fsrun_to_cpu(sb, raw_inode->inode_num);
371 befs_ino->i_parent = fsrun_to_cpu(sb, raw_inode->parent);
372 befs_ino->i_attribute = fsrun_to_cpu(sb, raw_inode->attributes);
373 befs_ino->i_flags = fs32_to_cpu(sb, raw_inode->flags);
384 fsds_to_cpu(sb, &raw_inode->data.datastream);
386 num_blks = befs_count_blocks(sb, &befs_ino->i_data.ds);
409 befs_error(sb, "Inode %lu is not a regular file, "
416 befs_debug(sb, "<--- %s", __func__);
425 befs_debug(sb, "<--- %s - Bad inode", __func__);
474 struct super_block *sb = inode->i_sb;
481 befs_error(sb, "Long symlink with illegal length");
484 befs_debug(sb, "Follow long symlink");
486 if (befs_read_lsymlink(sb, data, link, len) != len) {
487 befs_error(sb, "Failed to read entire long symlink");
506 befs_utf2nls(struct super_block *sb, const char *in,
509 struct nls_table *nls = BEFS_SB(sb)->nls;
520 befs_debug(sb, "---> %s", __func__);
523 befs_error(sb, "%s called with no NLS table loaded", __func__);
548 befs_debug(sb, "<--- %s", __func__);
553 befs_error(sb, "Name using character set %s contains a character that "
555 befs_debug(sb, "<--- %s", __func__);
562 * @sb: Superblock
583 befs_nls2utf(struct super_block *sb, const char *in,
586 struct nls_table *nls = BEFS_SB(sb)->nls;
598 befs_debug(sb, "---> %s\n", __func__);
601 befs_error(sb, "%s called with no NLS table loaded.",
628 befs_debug(sb, "<--- %s", __func__);
633 befs_error(sb, "Name using character set %s contains a character that "
635 befs_debug(sb, "<--- %s", __func__);
640 static struct inode *befs_nfs_get_inode(struct super_block *sb, uint64_t ino,
644 return befs_iget(sb, ino);
650 static struct dentry *befs_fh_to_dentry(struct super_block *sb,
653 return generic_fh_to_dentry(sb, fid, fh_len, fh_type,
660 static struct dentry *befs_fh_to_parent(struct super_block *sb,
663 return generic_fh_to_parent(sb, fid, fh_len, fh_type,
793 befs_put_super(struct super_block *sb)
795 kfree(BEFS_SB(sb)->mount_opts.iocharset);
796 BEFS_SB(sb)->mount_opts.iocharset = NULL;
797 unload_nls(BEFS_SB(sb)->nls);
798 kfree(sb->s_fs_info);
799 sb->s_fs_info = NULL;
809 befs_fill_super(struct super_block *sb, void *data, int silent)
820 sb->s_fs_info = kzalloc(sizeof(*befs_sb), GFP_KERNEL);
821 if (sb->s_fs_info == NULL)
824 befs_sb = BEFS_SB(sb);
828 befs_error(sb, "cannot parse mount options");
832 befs_debug(sb, "---> %s", __func__);
834 if (!sb_rdonly(sb)) {
835 befs_warning(sb,
837 sb->s_flags |= SB_RDONLY;
848 blocksize = sb_min_blocksize(sb, 1024);
851 befs_error(sb, "unable to set blocksize");
855 bh = sb_bread(sb, sb_block);
858 befs_error(sb, "unable to read superblock");
866 befs_debug(sb, "Using PPC superblock location");
868 befs_debug(sb, "Using x86 superblock location");
873 if ((befs_load_sb(sb, disk_sb) != BEFS_OK) ||
874 (befs_check_sb(sb) != BEFS_OK))
877 befs_dump_super_block(sb, disk_sb);
883 befs_error(sb, "blocks count: %llu is larger than the host can use",
890 * Fill in kernel superblock fields from private sb
892 sb->s_magic = BEFS_SUPER_MAGIC;
894 sb_set_blocksize(sb, (ulong) befs_sb->block_size);
895 sb->s_op = &befs_sops;
896 sb->s_export_op = &befs_export_operations;
897 sb->s_time_min = 0;
898 sb->s_time_max = 0xffffffffffffll;
899 root = befs_iget(sb, iaddr2blockno(sb, &(befs_sb->root_dir)));
904 sb->s_root = d_make_root(root);
905 if (!sb->s_root) {
907 befs_error(sb, "get root inode failed");
913 befs_debug(sb, "Loading nls: %s",
917 befs_warning(sb, "Cannot load nls %s"
924 befs_debug(sb, "Loading default nls");
935 kfree(sb->s_fs_info);
936 sb->s_fs_info = NULL;
943 befs_remount(struct super_block *sb, int *flags, char *data)
945 sync_filesystem(sb);
954 struct super_block *sb = dentry->d_sb;
955 u64 id = huge_encode_dev(sb->s_bdev->bd_dev);
957 befs_debug(sb, "---> %s", __func__);
960 buf->f_bsize = sb->s_blocksize;
961 buf->f_blocks = BEFS_SB(sb)->num_blocks;
962 buf->f_bfree = BEFS_SB(sb)->num_blocks - BEFS_SB(sb)->used_blocks;
969 befs_debug(sb, "<--- %s", __func__);