diff options
Diffstat (limited to 'drivers/md/persistent-data')
| -rw-r--r-- | drivers/md/persistent-data/dm-block-manager.c | 14 | 
1 files changed, 8 insertions, 6 deletions
| diff --git a/drivers/md/persistent-data/dm-block-manager.c b/drivers/md/persistent-data/dm-block-manager.c index 749ec268d957..54c089a50b15 100644 --- a/drivers/md/persistent-data/dm-block-manager.c +++ b/drivers/md/persistent-data/dm-block-manager.c @@ -493,7 +493,7 @@ int dm_bm_write_lock(struct dm_block_manager *bm,  	void *p;  	int r; -	if (bm->read_only) +	if (dm_bm_is_read_only(bm))  		return -EPERM;  	p = dm_bufio_read(bm->bufio, b, (struct dm_buffer **) result); @@ -562,7 +562,7 @@ int dm_bm_write_lock_zero(struct dm_block_manager *bm,  	struct buffer_aux *aux;  	void *p; -	if (bm->read_only) +	if (dm_bm_is_read_only(bm))  		return -EPERM;  	p = dm_bufio_new(bm->bufio, b, (struct dm_buffer **) result); @@ -602,7 +602,7 @@ EXPORT_SYMBOL_GPL(dm_bm_unlock);  int dm_bm_flush(struct dm_block_manager *bm)  { -	if (bm->read_only) +	if (dm_bm_is_read_only(bm))  		return -EPERM;  	return dm_bufio_write_dirty_buffers(bm->bufio); @@ -616,19 +616,21 @@ void dm_bm_prefetch(struct dm_block_manager *bm, dm_block_t b)  bool dm_bm_is_read_only(struct dm_block_manager *bm)  { -	return bm->read_only; +	return (bm ? bm->read_only : true);  }  EXPORT_SYMBOL_GPL(dm_bm_is_read_only);  void dm_bm_set_read_only(struct dm_block_manager *bm)  { -	bm->read_only = true; +	if (bm) +		bm->read_only = true;  }  EXPORT_SYMBOL_GPL(dm_bm_set_read_only);  void dm_bm_set_read_write(struct dm_block_manager *bm)  { -	bm->read_only = false; +	if (bm) +		bm->read_only = false;  }  EXPORT_SYMBOL_GPL(dm_bm_set_read_write); |