Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=222096ae7f7616caa9e4150948096160cc8a8141
Commit:     222096ae7f7616caa9e4150948096160cc8a8141
Parent:     de08dbc1977419efa47eb71f10d96a98eb5bb111
Author:     Christoph Hellwig <[EMAIL PROTECTED]>
AuthorDate: Tue Feb 5 12:13:46 2008 +1100
Committer:  Lachlan McIlroy <[EMAIL PROTECTED]>
CommitDate: Thu Feb 7 18:23:15 2008 +1100

    [XFS] stop updating inode->i_blocks
    
    The VFS doesn't use i_blocks, it's only used by generic_fillattr and the
    generic quota code which XFS doesn't use. In XFS there is one use to check
    whether we have an inline or out of line sumlink, but we can replace that
    with a check of the XFS_IFINLINE inode flag.
    
    SGI-PV: 971186
    SGI-Modid: xfs-linux-melb:xfs-kern:30391a
    
    Signed-off-by: Christoph Hellwig <[EMAIL PROTECTED]>
    Signed-off-by: Lachlan McIlroy <[EMAIL PROTECTED]>
---
 fs/xfs/linux-2.6/xfs_iops.c  |    3 ---
 fs/xfs/linux-2.6/xfs_super.c |    4 +---
 fs/xfs/linux-2.6/xfs_vnode.c |    2 --
 fs/xfs/xfs_vnodeops.c        |    6 ------
 4 files changed, 1 insertions(+), 14 deletions(-)

diff --git a/fs/xfs/linux-2.6/xfs_iops.c b/fs/xfs/linux-2.6/xfs_iops.c
index c3231a5..5e16016 100644
--- a/fs/xfs/linux-2.6/xfs_iops.c
+++ b/fs/xfs/linux-2.6/xfs_iops.c
@@ -202,9 +202,6 @@ xfs_validate_fields(
        loff_t size;
 
        inode->i_nlink = ip->i_d.di_nlink;
-       inode->i_blocks =
-               XFS_FSB_TO_BB(ip->i_mount, ip->i_d.di_nblocks +
-                                          ip->i_delayed_blks);
        /* we're under i_sem so i_size can't change under us */
        size = XFS_ISIZE(ip);
        if (i_size_read(inode) != size)
diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c
index 156a1a7..49d1d0e 100644
--- a/fs/xfs/linux-2.6/xfs_super.c
+++ b/fs/xfs/linux-2.6/xfs_super.c
@@ -569,7 +569,7 @@ xfs_set_inodeops(
                break;
        case S_IFLNK:
                inode->i_op = &xfs_symlink_inode_operations;
-               if (inode->i_blocks)
+               if (!(XFS_I(inode)->i_df.if_flags & XFS_IFINLINE))
                        inode->i_mapping->a_ops = &xfs_address_space_operations;
                break;
        default:
@@ -606,8 +606,6 @@ xfs_revalidate_inode(
 
        inode->i_generation = ip->i_d.di_gen;
        i_size_write(inode, ip->i_d.di_size);
-       inode->i_blocks =
-               XFS_FSB_TO_BB(mp, ip->i_d.di_nblocks + ip->i_delayed_blks);
        inode->i_atime.tv_sec   = ip->i_d.di_atime.t_sec;
        inode->i_atime.tv_nsec  = ip->i_d.di_atime.t_nsec;
        inode->i_mtime.tv_sec   = ip->i_d.di_mtime.t_sec;
diff --git a/fs/xfs/linux-2.6/xfs_vnode.c b/fs/xfs/linux-2.6/xfs_vnode.c
index 8f0f74f..9bf36dc 100644
--- a/fs/xfs/linux-2.6/xfs_vnode.c
+++ b/fs/xfs/linux-2.6/xfs_vnode.c
@@ -106,8 +106,6 @@ vn_revalidate(
        inode->i_nlink      = ip->i_d.di_nlink;
        inode->i_uid        = ip->i_d.di_uid;
        inode->i_gid        = ip->i_d.di_gid;
-       inode->i_blocks     =
-               XFS_FSB_TO_BB(mp, ip->i_d.di_nblocks + ip->i_delayed_blks);
        inode->i_mtime.tv_sec = ip->i_d.di_mtime.t_sec;
        inode->i_mtime.tv_nsec = ip->i_d.di_mtime.t_nsec;
        inode->i_ctime.tv_sec = ip->i_d.di_ctime.t_sec;
diff --git a/fs/xfs/xfs_vnodeops.c b/fs/xfs/xfs_vnodeops.c
index 27e1bea..5130524 100644
--- a/fs/xfs/xfs_vnodeops.c
+++ b/fs/xfs/xfs_vnodeops.c
@@ -1536,9 +1536,6 @@ xfs_release(
                        error = xfs_free_eofblocks(mp, ip, XFS_FREE_EOF_LOCK);
                        if (error)
                                return error;
-                       /* Update linux inode block count after free above */
-                       vn_to_inode(vp)->i_blocks = XFS_FSB_TO_BB(mp,
-                               ip->i_d.di_nblocks + ip->i_delayed_blks);
                }
        }
 
@@ -1612,9 +1609,6 @@ xfs_inactive(
                        error = xfs_free_eofblocks(mp, ip, XFS_FREE_EOF_LOCK);
                        if (error)
                                return VN_INACTIVE_CACHE;
-                       /* Update linux inode block count after free above */
-                       vn_to_inode(vp)->i_blocks = XFS_FSB_TO_BB(mp,
-                               ip->i_d.di_nblocks + ip->i_delayed_blks);
                }
                goto out;
        }
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to