]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - block/blk-core.c
block: use bio_has_data() in the IO completion path
[linux-2.6-omap-h63xx.git] / block / blk-core.c
index 2cba5ef97b2b3a6d49559c8923a87e1ec128c2fa..b5776c1fd52aca777ae9dc185a936121caf0e8a9 100644 (file)
@@ -1490,10 +1490,7 @@ void submit_bio(int rw, struct bio *bio)
         * If it's a regular read/write or a barrier with data attached,
         * go through the normal accounting stuff before submission.
         */
-       if (!bio_empty_barrier(bio)) {
-
-               BIO_BUG_ON(!bio->bi_size);
-               BIO_BUG_ON(!bio->bi_io_vec);
+       if (bio_has_data(bio)) {
 
                if (rw & WRITE) {
                        count_vm_events(PGPGOUT, count);
@@ -1888,7 +1885,7 @@ static int blk_end_io(struct request *rq, int error, unsigned int nr_bytes,
        struct request_queue *q = rq->q;
        unsigned long flags = 0UL;
 
-       if (blk_fs_request(rq) || blk_pc_request(rq)) {
+       if (bio_has_data(rq->bio)) {
                if (__end_that_request_first(rq, error, nr_bytes))
                        return 1;
 
@@ -1946,10 +1943,9 @@ EXPORT_SYMBOL_GPL(blk_end_request);
  **/
 int __blk_end_request(struct request *rq, int error, unsigned int nr_bytes)
 {
-       if (blk_fs_request(rq) || blk_pc_request(rq)) {
-               if (__end_that_request_first(rq, error, nr_bytes))
-                       return 1;
-       }
+       if (bio_has_data(rq->bio) &&
+           __end_that_request_first(rq, error, nr_bytes))
+               return 1;
 
        add_disk_randomness(rq->rq_disk);