Question about blkdev_issue_zeroout()

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

 



Hi guys,

When I looked into blkdev_issue_zeroout(), I found something that I
cannot understand there. In my understanding, all the submitted bio
will stay in the plug list during plugging. But, I found
submit_bio_wait() calling during the plugging. I guess the below
submit_bio_wait() might wait forever in the lower kernel version like
4.14, because of plugging. If I am wrong, plz, correct me.

     >>>  blk_start_plug(&plug); <<<
        if (try_write_zeroes) {
                ret = __blkdev_issue_write_zeroes(bdev, sector, nr_sects,
                                                  gfp_mask, &bio, flags);
        } else if (!(flags & BLKDEV_ZERO_NOFALLBACK)) {
                ret = __blkdev_issue_zero_pages(bdev, sector, nr_sects,
                                                gfp_mask, &bio);
        } else {
                /* No zeroing offload support */
                ret = -EOPNOTSUPP;
        }
        if (ret == 0 && bio) {
                ret = submit_bio_wait(bio);
                bio_put(bio);
        }
      >>> blk_finish_plug(&plug); <<<



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux