super.c (bc030d6cb9532877c1c5a3f5e7123344fa24a285) super.c (fa0d7e3de6d6fc5004ad9dea0dd6b286af8f03e9)
1/*
2 * linux/fs/hfs/super.c
3 *
4 * Copyright (C) 1995-1997 Paul H. Hargrove
5 * (C) 2003 Ardis Technologies <roman@ardistech.com>
6 * This file may be distributed under the terms of the GNU General Public License.
7 *
8 * This file contains hfs_read_super(), some of the super_ops and

--- 153 unchanged lines hidden (view full) ---

162static struct inode *hfs_alloc_inode(struct super_block *sb)
163{
164 struct hfs_inode_info *i;
165
166 i = kmem_cache_alloc(hfs_inode_cachep, GFP_KERNEL);
167 return i ? &i->vfs_inode : NULL;
168}
169
1/*
2 * linux/fs/hfs/super.c
3 *
4 * Copyright (C) 1995-1997 Paul H. Hargrove
5 * (C) 2003 Ardis Technologies <roman@ardistech.com>
6 * This file may be distributed under the terms of the GNU General Public License.
7 *
8 * This file contains hfs_read_super(), some of the super_ops and

--- 153 unchanged lines hidden (view full) ---

162static struct inode *hfs_alloc_inode(struct super_block *sb)
163{
164 struct hfs_inode_info *i;
165
166 i = kmem_cache_alloc(hfs_inode_cachep, GFP_KERNEL);
167 return i ? &i->vfs_inode : NULL;
168}
169
170static void hfs_destroy_inode(struct inode *inode)
170static void hfs_i_callback(struct rcu_head *head)
171{
171{
172 struct inode *inode = container_of(head, struct inode, i_rcu);
173 INIT_LIST_HEAD(&inode->i_dentry);
172 kmem_cache_free(hfs_inode_cachep, HFS_I(inode));
173}
174
174 kmem_cache_free(hfs_inode_cachep, HFS_I(inode));
175}
176
177static void hfs_destroy_inode(struct inode *inode)
178{
179 call_rcu(&inode->i_rcu, hfs_i_callback);
180}
181
175static const struct super_operations hfs_super_operations = {
176 .alloc_inode = hfs_alloc_inode,
177 .destroy_inode = hfs_destroy_inode,
178 .write_inode = hfs_write_inode,
179 .evict_inode = hfs_evict_inode,
180 .put_super = hfs_put_super,
181 .write_super = hfs_write_super,
182 .sync_fs = hfs_sync_fs,

--- 305 unchanged lines hidden ---
182static const struct super_operations hfs_super_operations = {
183 .alloc_inode = hfs_alloc_inode,
184 .destroy_inode = hfs_destroy_inode,
185 .write_inode = hfs_write_inode,
186 .evict_inode = hfs_evict_inode,
187 .put_super = hfs_put_super,
188 .write_super = hfs_write_super,
189 .sync_fs = hfs_sync_fs,

--- 305 unchanged lines hidden ---