For no volatile write cache block device backend, sending flush bio is
unnecessary, avoid to do that.
Signed-off-by: Guixin Liu <kanie@linux.alibaba.com>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
 {
        struct bio *bio = &req->b.inline_bio;
 
+       if (!bdev_write_cache(req->ns->bdev)) {
+               nvmet_req_complete(req, NVME_SC_SUCCESS);
+               return;
+       }
+
        if (!nvmet_check_transfer_len(req, 0))
                return;
 
 
 u16 nvmet_bdev_flush(struct nvmet_req *req)
 {
+       if (!bdev_write_cache(req->ns->bdev))
+               return 0;
+
        if (blkdev_issue_flush(req->ns->bdev))
                return NVME_SC_INTERNAL | NVME_SC_DNR;
        return 0;