]> git.proxmox.com Git - mirror_zfs.git/commitdiff
bio_alloc() with __GFP_WAIT never returns NULL
authorIsaac Huang <he.huang@intel.com>
Tue, 21 Oct 2014 18:20:10 +0000 (12:20 -0600)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 19 Nov 2014 17:50:49 +0000 (12:50 -0500)
Mark the error handling branch as unlikely() because the current
kernel interface can never return NULL.  However, we want to keep
the error handling in case this behavior changes in the futre.

Plus fix a small style issue.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Isaac Huang <he.huang@intel.com>
Closes #2703

module/zfs/vdev_disk.c

index 9cc6745d16ca6b9a14ef1bd7f92936a6ca88ddf2..ec93884ed9c9ea08ea58a81b9dff0d9b6e61b770 100644 (file)
@@ -520,7 +520,7 @@ retry:
                return (ENOMEM);
 
        if (zio && !(zio->io_flags & (ZIO_FLAG_IO_RETRY | ZIO_FLAG_TRYHARD)))
-                       bio_set_flags_failfast(bdev, &flags);
+               bio_set_flags_failfast(bdev, &flags);
 
        dr->dr_zio = zio;
        dr->dr_rw = flags;
@@ -554,7 +554,8 @@ retry:
 
                dr->dr_bio[i] = bio_alloc(GFP_NOIO,
                    bio_nr_pages(bio_ptr, bio_size));
-               if (dr->dr_bio[i] == NULL) {
+               /* bio_alloc() with __GFP_WAIT never returns NULL */
+               if (unlikely(dr->dr_bio[i] == NULL)) {
                        vdev_disk_dio_free(dr);
                        return (ENOMEM);
                }
@@ -642,7 +643,8 @@ vdev_disk_io_flush(struct block_device *bdev, zio_t *zio)
                return (ENXIO);
 
        bio = bio_alloc(GFP_NOIO, 0);
-       if (!bio)
+       /* bio_alloc() with __GFP_WAIT never returns NULL */
+       if (unlikely(bio == NULL))
                return (ENOMEM);
 
        bio->bi_end_io = vdev_disk_io_flush_completion;