]> git.neil.brown.name Git - history.git/commitdiff
JFS: merge direct inode removal with 2.5.33 changes
authorChristoph Hellwig <hch@sb.bsdonline.org>
Tue, 3 Sep 2002 20:02:15 +0000 (22:02 +0200)
committerChristoph Hellwig <hch@sb.bsdonline.org>
Tue, 3 Sep 2002 20:02:15 +0000 (22:02 +0200)
1  2 
fs/jfs/jfs_imap.c
fs/jfs/jfs_logmgr.c
fs/jfs/jfs_txnmgr.c
fs/jfs/jfs_umount.c

Simple merge
index 4be67ecacc9ab661bf0c8723a481b60f68eb80b1,6c827479b3eb1e63aa068924787e5465001b1292..64adf73ce7c4575e5fcba3c0740d5d75112163e7
@@@ -965,12 -967,15 +967,12 @@@ int lmLogSync(log_t * log, int nosyncwa
                 * We need to make sure all of the "written" metapages
                 * actually make it to disk
                 */
 -              filemap_fdatawait(sbi->ipbmap->i_mapping);
 -              filemap_fdatawait(sbi->ipimap->i_mapping);
 -              filemap_fdatawait(sb->s_bdev->bd_inode->i_mapping);
                filemap_fdatawrite(sbi->ipbmap->i_mapping);
                filemap_fdatawrite(sbi->ipimap->i_mapping);
-               filemap_fdatawrite(sbi->direct_inode->i_mapping);
+               filemap_fdatawrite(sb->s_bdev->bd_inode->i_mapping);
                filemap_fdatawait(sbi->ipbmap->i_mapping);
                filemap_fdatawait(sbi->ipimap->i_mapping);
-               filemap_fdatawait(sbi->direct_inode->i_mapping);
+               filemap_fdatawait(sb->s_bdev->bd_inode->i_mapping);
  
                lrd.logtid = 0;
                lrd.backchain = 0;
Simple merge
index a365c165bdc3e33703690020dd64b2ade11d2cf4,4bf9fc4e3ce5c02c6aab46ae3ed2200b8be176f8..3f9d89a274cd875ecb232845cc9287fa15033b54
@@@ -158,8 -161,16 +160,14 @@@ int jfs_umount_rw(struct super_block *s
         */
        dbSync(sbi->ipbmap);
        diSync(sbi->ipimap);
-       filemap_fdatawrite(sbi->direct_inode->i_mapping);
-       filemap_fdatawait(sbi->direct_inode->i_mapping);
+       /*
+        * Note that we have to do this even if sync_blockdev() will
+        * do exactly the same a few instructions later:  We can't
+        * mark the superblock clean before everything is flushed to
+        * disk.
+        */
 -      filemap_fdatawait(bdev_mapping);
+       filemap_fdatawrite(bdev_mapping);
 -      filemap_fdatawait(bdev_mapping);
  
        updateSuper(sb, FM_CLEAN);
        sbi->log = NULL;