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 --- |