]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
switch hugetlbfs to ->evict_inode()
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 4 Jun 2010 23:52:12 +0000 (19:52 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 9 Aug 2010 20:47:47 +0000 (16:47 -0400)
The first spoils - hugetlb can use default ->drop_inode() now.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/hugetlbfs/inode.c

index d5f019d48b09e7ed91a159f1d94f7a29db16067a..bf1a2f400e7064f675255e3dfc184fedbf5d0acc 100644 (file)
@@ -371,29 +371,12 @@ static void truncate_hugepages(struct inode *inode, loff_t lstart)
        hugetlb_unreserve_pages(inode, start, freed);
 }
 
-static void hugetlbfs_delete_inode(struct inode *inode)
+static void hugetlbfs_evict_inode(struct inode *inode)
 {
        truncate_hugepages(inode, 0);
        clear_inode(inode);
 }
 
-static void hugetlbfs_forget_inode(struct inode *inode) __releases(inode_lock)
-{
-       if (generic_detach_inode(inode)) {
-               truncate_hugepages(inode, 0);
-               clear_inode(inode);
-               destroy_inode(inode);
-       }
-}
-
-static void hugetlbfs_drop_inode(struct inode *inode)
-{
-       if (!inode->i_nlink)
-               generic_delete_inode(inode);
-       else
-               hugetlbfs_forget_inode(inode);
-}
-
 static inline void
 hugetlb_vmtruncate_list(struct prio_tree_root *root, pgoff_t pgoff)
 {
@@ -713,9 +696,8 @@ static const struct inode_operations hugetlbfs_inode_operations = {
 static const struct super_operations hugetlbfs_ops = {
        .alloc_inode    = hugetlbfs_alloc_inode,
        .destroy_inode  = hugetlbfs_destroy_inode,
+       .evict_inode    = hugetlbfs_evict_inode,
        .statfs         = hugetlbfs_statfs,
-       .delete_inode   = hugetlbfs_delete_inode,
-       .drop_inode     = hugetlbfs_drop_inode,
        .put_super      = hugetlbfs_put_super,
        .show_options   = generic_show_options,
 };