]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
[XFS] Never call mark_inode_dirty_sync() directly
authorDavid Chinner <david@fromorbit.com>
Thu, 30 Oct 2008 06:21:30 +0000 (17:21 +1100)
committerLachlan McIlroy <lachlan@sgi.com>
Thu, 30 Oct 2008 06:21:30 +0000 (17:21 +1100)
Once the Linux inode and the XFS inode are combined, we cannot rely on
just check if the linux inode exists as a method of determining if it is
valid or not. Hence we should always call xfs_mark_inode_dirty_sync()
instead as it does the correct checks to determine if the liinux inode is
in a valid state or not.

SGI-PV: 988141

SGI-Modid: xfs-linux-melb:xfs-kern:32318a

Signed-off-by: David Chinner <david@fromorbit.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Signed-off-by: Christoph Hellwig <hch@infradead.org>
fs/xfs/linux-2.6/xfs_aops.c
fs/xfs/linux-2.6/xfs_iops.c
fs/xfs/linux-2.6/xfs_super.c

index a44d68eb50b5302b8482000e523661b14c0854d8..8fbc97df3609aea427abda775161f40c9b8f0f57 100644 (file)
@@ -191,7 +191,7 @@ xfs_setfilesize(
                ip->i_d.di_size = isize;
                ip->i_update_core = 1;
                ip->i_update_size = 1;
-               mark_inode_dirty_sync(ioend->io_inode);
+               xfs_mark_inode_dirty_sync(ip);
        }
 
        xfs_iunlock(ip, XFS_ILOCK_EXCL);
index 095d271f34349e01175eecd3e4c362dbcc1dccce..3bfb3c0f8e2966e906fad0aff0a8982e1ccdc178 100644 (file)
@@ -128,7 +128,7 @@ xfs_ichgtime(
        if (sync_it) {
                SYNCHRONIZE();
                ip->i_update_core = 1;
-               mark_inode_dirty_sync(inode);
+               xfs_mark_inode_dirty_sync(ip);
        }
 }
 
index 15fb262ef8686fdeedcc5924e6981c0faac9ed7f..b87e45577a5854708a8f18b63982788193dffabc 100644 (file)
@@ -948,7 +948,7 @@ xfs_fs_write_inode(
         * it dirty again so we'll try again later.
         */
        if (error)
-               mark_inode_dirty_sync(inode);
+               xfs_mark_inode_dirty_sync(XFS_I(inode));
 
        return -error;
 }