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