15 #include <linux/module.h>
22 #include <linux/slab.h>
97 u64 id = huge_encode_dev(sb->
s_bdev->bd_dev);
118 if (!(*flags & MS_RDONLY)) {
121 "running fsck.hfs is recommended. leaving read-only.\n");
133 static int hfs_show_options(
struct seq_file *seq,
struct dentry *root)
175 static void hfs_destroy_inode(
struct inode *inode)
181 .alloc_inode = hfs_alloc_inode,
182 .destroy_inode = hfs_destroy_inode,
185 .put_super = hfs_put_super,
186 .sync_fs = hfs_sync_fs,
187 .statfs = hfs_statfs,
188 .remount_fs = hfs_remount,
189 .show_options = hfs_show_options,
217 if (arg->
to - arg->
from != 4)
260 if (!uid_valid(hsb->
s_uid)) {
271 if (!gid_valid(hsb->
s_gid)) {
311 if (match_fourchar(&args[0], &hsb->
s_type)) {
317 if (match_fourchar(&args[0], &hsb->
s_creator)) {
384 static int hfs_fill_super(
struct super_block *sb,
void *data,
int silent)
389 struct inode *root_inode;
402 if (!parse_options((
char *)data, sbi)) {
407 sb->
s_op = &hfs_super_operations;
424 if (
fd.entrylength >
sizeof(rec) ||
fd.entrylength < 0) {
435 root_inode =
hfs_iget(sb, &
fd.search_key->cat, &rec);
457 int flags,
const char *dev_name,
void *data)
459 return mount_bdev(fs_type, flags, dev_name, data, hfs_fill_super);
470 static void hfs_init_once(
void *p)
477 static int __init init_hfs_fs(
void)
484 if (!hfs_inode_cachep)
492 static void __exit exit_hfs_fs(
void)