dlmfs.c (bc030d6cb9532877c1c5a3f5e7123344fa24a285) | dlmfs.c (fa0d7e3de6d6fc5004ad9dea0dd6b286af8f03e9) |
---|---|
1/* -*- mode: c; c-basic-offset: 8; -*- 2 * vim: noexpandtab sw=8 ts=8 sts=0: 3 * 4 * dlmfs.c 5 * 6 * Code which implements the kernel side of a minimal userspace 7 * interface to our DLM. This file handles the virtual file system 8 * used for communication with userspace. Credit should go to ramfs, --- 337 unchanged lines hidden (view full) --- 346 347 ip = kmem_cache_alloc(dlmfs_inode_cache, GFP_NOFS); 348 if (!ip) 349 return NULL; 350 351 return &ip->ip_vfs_inode; 352} 353 | 1/* -*- mode: c; c-basic-offset: 8; -*- 2 * vim: noexpandtab sw=8 ts=8 sts=0: 3 * 4 * dlmfs.c 5 * 6 * Code which implements the kernel side of a minimal userspace 7 * interface to our DLM. This file handles the virtual file system 8 * used for communication with userspace. Credit should go to ramfs, --- 337 unchanged lines hidden (view full) --- 346 347 ip = kmem_cache_alloc(dlmfs_inode_cache, GFP_NOFS); 348 if (!ip) 349 return NULL; 350 351 return &ip->ip_vfs_inode; 352} 353 |
354static void dlmfs_destroy_inode(struct inode *inode) | 354static void dlmfs_i_callback(struct rcu_head *head) |
355{ | 355{ |
356 struct inode *inode = container_of(head, struct inode, i_rcu); 357 INIT_LIST_HEAD(&inode->i_dentry); |
|
356 kmem_cache_free(dlmfs_inode_cache, DLMFS_I(inode)); 357} 358 | 358 kmem_cache_free(dlmfs_inode_cache, DLMFS_I(inode)); 359} 360 |
361static void dlmfs_destroy_inode(struct inode *inode) 362{ 363 call_rcu(&inode->i_rcu, dlmfs_i_callback); 364} 365 |
|
359static void dlmfs_evict_inode(struct inode *inode) 360{ 361 int status; 362 struct dlmfs_inode_private *ip; 363 364 end_writeback(inode); 365 366 mlog(0, "inode %lu\n", inode->i_ino); --- 352 unchanged lines hidden --- | 366static void dlmfs_evict_inode(struct inode *inode) 367{ 368 int status; 369 struct dlmfs_inode_private *ip; 370 371 end_writeback(inode); 372 373 mlog(0, "inode %lu\n", inode->i_ino); --- 352 unchanged lines hidden --- |