]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] hugetlbfs directory entry cleanup
authorAndrew Morton <akpm@osdl.org>
Wed, 4 Feb 2004 02:41:59 +0000 (18:41 -0800)
committerLinus Torvalds <torvalds@home.osdl.org>
Wed, 4 Feb 2004 02:41:59 +0000 (18:41 -0800)
From: Anton Blanchard <anton@samba.org>

hugetlbfs is doing strange things with directory sizes.  Al says there is no
semantics for reported size of directories so we can remove this code.

fs/hugetlbfs/inode.c
include/linux/hugetlb.h

index 416a3dac23c1193c35bb22eb593095dc326203bc..c3e6a6b54063516260a8f4a92b00e1a83cf75dc6 100644 (file)
@@ -425,7 +425,6 @@ static int hugetlbfs_mknod(struct inode *dir,
        }
        inode = hugetlbfs_get_inode(dir->i_sb, current->fsuid, gid, mode, dev);
        if (inode) {
-               dir->i_size += PSEUDO_DIRENT_SIZE;
                dir->i_ctime = dir->i_mtime = CURRENT_TIME;
                d_instantiate(dentry, inode);
                dget(dentry);   /* Extra count - pin the dentry in core */
@@ -470,7 +469,6 @@ static int hugetlbfs_symlink(struct inode *dir,
                } else
                        iput(inode);
        }
-       dir->i_size += PSEUDO_DIRENT_SIZE;
        dir->i_ctime = dir->i_mtime = CURRENT_TIME;
 
        return error;
@@ -507,7 +505,6 @@ static int hugetlbfs_link(struct dentry *old_dentry,
 {
        struct inode *inode = old_dentry->d_inode;
 
-       dir->i_size += PSEUDO_DIRENT_SIZE;
        inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME;
        inode->i_nlink++;
        atomic_inc(&inode->i_count);
@@ -520,7 +517,6 @@ static int hugetlbfs_unlink(struct inode *dir, struct dentry *dentry)
 {
        struct inode *inode = dentry->d_inode;
 
-       dir->i_size -= PSEUDO_DIRENT_SIZE;
        inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME;
        inode->i_nlink--;
        dput(dentry);
@@ -554,8 +550,6 @@ static int hugetlbfs_rename(struct inode *old_dir, struct dentry *old_dentry,
                new_dir->i_nlink++;
        }
 
-       old_dir->i_size -= PSEUDO_DIRENT_SIZE;
-       new_dir->i_size += PSEUDO_DIRENT_SIZE;
        old_dir->i_ctime = old_dir->i_mtime = new_dir->i_ctime =
                new_dir->i_mtime = inode->i_ctime = CURRENT_TIME;
        return 0;
index 72bda668895b9b10699968ba6d7c0edb3dbd40f9..a88f16ccdc5a039f37c888e6ea530856a48f274b 100644 (file)
@@ -95,8 +95,6 @@ static inline struct hugetlbfs_sb_info *HUGETLBFS_SB(struct super_block *sb)
        return sb->s_fs_info;
 }
 
-#define PSEUDO_DIRENT_SIZE     20
-
 extern struct file_operations hugetlbfs_file_operations;
 extern struct vm_operations_struct hugetlb_vm_ops;
 struct file *hugetlb_zero_setup(size_t);