switch hpfs
authorAl Viro <viro@zeniv.linux.org.uk>
Wed, 12 Jan 2011 21:12:05 +0000 (16:12 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 13 Jan 2011 01:02:47 +0000 (20:02 -0500)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/hpfs/dentry.c
fs/hpfs/dir.c
fs/hpfs/hpfs_fn.h
fs/hpfs/super.c

index 32c13a9..05d4816 100644 (file)
@@ -58,12 +58,7 @@ static int hpfs_compare_dentry(const struct dentry *parent,
        return 0;
 }
 
-static const struct dentry_operations hpfs_dentry_operations = {
+const struct dentry_operations hpfs_dentry_operations = {
        .d_hash         = hpfs_hash_dentry,
        .d_compare      = hpfs_compare_dentry,
 };
-
-void hpfs_set_dentry_operations(struct dentry *dentry)
-{
-       d_set_d_op(dentry, &hpfs_dentry_operations);
-}
index 2338130..d32f63a 100644 (file)
@@ -298,7 +298,6 @@ struct dentry *hpfs_lookup(struct inode *dir, struct dentry *dentry, struct name
 
        end:
        end_add:
-       hpfs_set_dentry_operations(dentry);
        unlock_kernel();
        d_add(dentry, result);
        return NULL;
index 2fee17d..1c43dbe 100644 (file)
@@ -233,7 +233,7 @@ void hpfs_mark_4buffers_dirty(struct quad_buffer_head *);
 
 /* dentry.c */
 
-void hpfs_set_dentry_operations(struct dentry *);
+extern const struct dentry_operations hpfs_dentry_operations;
 
 /* dir.c */
 
index 49935ba..b30426b 100644 (file)
@@ -550,6 +550,7 @@ static int hpfs_fill_super(struct super_block *s, void *options, int silent)
        /* Fill superblock stuff */
        s->s_magic = HPFS_SUPER_MAGIC;
        s->s_op = &hpfs_sops;
+       s->s_d_op = &hpfs_dentry_operations;
 
        sbi->sb_root = superblock->root;
        sbi->sb_fs_size = superblock->n_sectors;
@@ -651,7 +652,6 @@ static int hpfs_fill_super(struct super_block *s, void *options, int silent)
                iput(root);
                goto bail0;
        }
-       hpfs_set_dentry_operations(s->s_root);
 
        /*
         * find the root directory's . pointer & finish filling in the inode