Re: PATCH - ll_rw_blk + kio + raid - no more WRITERAW

From: Neil Brown (neilb@cse.unsw.edu.au)
Date: Mon Aug 14 2000 - 18:40:08 EST


On Monday August 14, I wrote:
>
> The code compiles fine, and raid5 has no problems running. I am not
> in a position to exercise the code paths in brw_kiovec, but the
> changes are sufficiently simple that I feel convinced of the
> correctness. Anyone want to second the motion?

Famous last words....

To the precedeing patch, add the following to duplicate for brw_kiovec
a few things that were done by ll_rw_block.

NeilBrown

--- fs/buffer.c 2000/08/14 23:05:44 1.2
+++ fs/buffer.c 2000/08/14 23:10:30
@@ -1837,6 +1837,7 @@
         int pageind;
         int bhind;
         int offset;
+ int sectors = size>>9;
         unsigned long blocknr;
         struct kiobuf * iobuf = NULL;
         struct page * map;
@@ -1888,9 +1889,10 @@
                                 tmp->b_this_page = tmp;
 
                                 init_buffer(tmp, end_buffer_io_kiobuf, iobuf);
- tmp->b_dev = dev;
+ tmp->b_rdev = tmp->b_dev = dev;
                                 tmp->b_blocknr = blocknr;
- tmp->b_state = 1 << BH_Mapped;
+ tmp->b_rsector = blocknr*sectors;
+ tmp->b_state = (1 << BH_Mapped) | (1 << BH_Lock) | (1 << BH_Req);
 
                                 if (rw == WRITE) {
                                         set_bit(BH_Uptodate, &tmp->b_state);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Aug 15 2000 - 21:00:35 EST