diff options
| author | 2011-03-01 15:04:39 -0500 | |
|---|---|---|
| committer | 2011-03-01 15:04:39 -0500 | |
| commit | 6fae9c25134baffbeeb20031479e7ff6f6d8eec0 (patch) | |
| tree | c9ab89992ce5293a43cd455a81dc8a5926a28a5e /fs/hppfs/hppfs.c | |
| parent | block: share request flush fields with elevator_private (diff) | |
| parent | Linux 2.6.38-rc6 (diff) | |
| download | wireguard-linux-6fae9c25134baffbeeb20031479e7ff6f6d8eec0.tar.xz wireguard-linux-6fae9c25134baffbeeb20031479e7ff6f6d8eec0.zip | |
Merge commit 'v2.6.38-rc6' into for-2.6.39/core
Conflicts:
block/cfq-iosched.c
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'fs/hppfs/hppfs.c')
| -rw-r--r-- | fs/hppfs/hppfs.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/fs/hppfs/hppfs.c b/fs/hppfs/hppfs.c index f702b5f713fc..87ed48e0343d 100644 --- a/fs/hppfs/hppfs.c +++ b/fs/hppfs/hppfs.c @@ -632,11 +632,18 @@ void hppfs_evict_inode(struct inode *ino) mntput(ino->i_sb->s_fs_info); } -static void hppfs_destroy_inode(struct inode *inode) +static void hppfs_i_callback(struct rcu_head *head) { + struct inode *inode = container_of(head, struct inode, i_rcu); + INIT_LIST_HEAD(&inode->i_dentry); kfree(HPPFS_I(inode)); } +static void hppfs_destroy_inode(struct inode *inode) +{ + call_rcu(&inode->i_rcu, hppfs_i_callback); +} + static const struct super_operations hppfs_sbops = { .alloc_inode = hppfs_alloc_inode, .destroy_inode = hppfs_destroy_inode, |
