[PATCH] Change ll_rw_block() calls in Reiser

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



  Hello,

  attached patch changes ll_rw_block() calls in Reiserfs to make sure
that submitted data really reach the disk (the patch relies on the
previous ll_rw_block() patch).

								Honza

-- 
Jan Kara <[email protected]>
SuSE CR Labs
We need to be sure that current data in buffer are sent to disk.
Hence we need to call ll_rw_block() with SWRITE.

Signed-off-by: Jan Kara <[email protected]>

diff -rupX /home/jack/.kerndiffexclude linux-2.6.12-1-forgetfix/fs/reiserfs/journal.c linux-2.6.12-2-ll_rw_block-fix/fs/reiserfs/journal.c
--- linux-2.6.12-1-forgetfix/fs/reiserfs/journal.c	2005-06-28 13:26:20.000000000 +0200
+++ linux-2.6.12-2-ll_rw_block-fix/fs/reiserfs/journal.c	2005-07-07 07:20:19.000000000 +0200
@@ -966,7 +966,7 @@ static int flush_commit_list(struct supe
          SB_ONDISK_JOURNAL_SIZE(s);
     tbh = journal_find_get_block(s, bn) ;
     if (buffer_dirty(tbh)) /* redundant, ll_rw_block() checks */
-	ll_rw_block(WRITE, 1, &tbh) ;
+	ll_rw_block(SWRITE, 1, &tbh) ;
     put_bh(tbh) ;
   }
   atomic_dec(&journal->j_async_throttle);
@@ -1977,7 +1977,7 @@ abort_replay:
   /* flush out the real blocks */
   for (i = 0 ; i < get_desc_trans_len(desc) ; i++) {
     set_buffer_dirty(real_blocks[i]) ;
-    ll_rw_block(WRITE, 1, real_blocks + i) ;
+    ll_rw_block(SWRITE, 1, real_blocks + i) ;
   }
   for (i = 0 ; i < get_desc_trans_len(desc) ; i++) {
     wait_on_buffer(real_blocks[i]) ; 

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux