diff options
Diffstat (limited to 'drivers/lightnvm/pblk-cache.c')
| -rw-r--r-- | drivers/lightnvm/pblk-cache.c | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/lightnvm/pblk-cache.c b/drivers/lightnvm/pblk-cache.c index c9fa26f95659..5c1034c22197 100644 --- a/drivers/lightnvm/pblk-cache.c +++ b/drivers/lightnvm/pblk-cache.c @@ -18,7 +18,8 @@  #include "pblk.h" -int pblk_write_to_cache(struct pblk *pblk, struct bio *bio, unsigned long flags) +void pblk_write_to_cache(struct pblk *pblk, struct bio *bio, +				unsigned long flags)  {  	struct request_queue *q = pblk->dev->q;  	struct pblk_w_ctx w_ctx; @@ -43,6 +44,7 @@ retry:  		goto retry;  	case NVM_IO_ERR:  		pblk_pipeline_stop(pblk); +		bio_io_error(bio);  		goto out;  	} @@ -79,7 +81,9 @@ retry:  out:  	generic_end_io_acct(q, REQ_OP_WRITE, &pblk->disk->part0, start_time);  	pblk_write_should_kick(pblk); -	return ret; + +	if (ret == NVM_IO_DONE) +		bio_endio(bio);  }  /*  |