Don't blatt first element of prv in sg_chain()
authorRusty Russell <rusty@rustcorp.com.au>
Fri, 11 Jan 2008 09:12:55 +0000 (10:12 +0100)
committerJens Axboe <jens.axboe@oracle.com>
Fri, 11 Jan 2008 09:12:55 +0000 (10:12 +0100)
I realize that sg chaining is a ploy to make the rest of the kernel
devs feel the pain of the SCSI subsystem.  But this was a little
unsubtle.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Acked-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
include/linux/scatterlist.h

index 416e000dfe81c0febed74c4f8aef8bcd979565db..e3ff21dbac536f11d7f62be1dae027d37466b465 100644 (file)
@@ -191,8 +191,8 @@ static inline void sg_chain(struct scatterlist *prv, unsigned int prv_nents,
        /*
         * offset and length are unused for chain entry.  Clear them.
         */
-       prv->offset = 0;
-       prv->length = 0;
+       prv[prv_nents - 1].offset = 0;
+       prv[prv_nents - 1].length = 0;
 
        /*
         * Set lowest bit to indicate a link pointer, and make sure to clear