Merge pull request #3 from arutk/atomic_dev_fixes

Atomic volume fixes
This commit is contained in:
Michał Wysoczański
2019-04-03 08:52:25 +02:00
committed by GitHub
9 changed files with 39 additions and 25 deletions

View File

@@ -973,7 +973,7 @@ unsigned int cas_atomic_get_max_io_size(ocf_volume_t volume)
if (!bd->bd_disk)
return 0;
return queue_max_sectors(bd->bd_disk->queue);
return queue_max_sectors(bd->bd_disk->queue) << SECTOR_SHIFT;
}
void cas_atomic_close_object(ocf_volume_t volume)
@@ -986,26 +986,22 @@ void cas_atomic_close_object(ocf_volume_t volume)
block_dev_close_object(volume);
}
int cas_atomic_open_object(ocf_volume_t volume)
int cas_atomic_open_object(ocf_volume_t volume, void *volume_params)
{
int result;
uint8_t type;
struct bd_object *bdobj = NULL;
result = block_dev_open_object(volume);
if (!volume_params)
return -EINVAL;
result = block_dev_open_object(volume, volume_params);
if (result)
return result;
bdobj = bd_object(volume);
result = cas_blk_identify_type_by_bdev(bdobj->btm_bd,
&type, &bdobj->atomic_params);
if (type != ATOMIC_DEVICE_VOLUME) {
cas_atomic_close_object(volume);
result = -OCF_ERR_INVAL_VOLUME_TYPE;
goto end;
}
memcpy(&bdobj->atomic_params, volume_params,
sizeof(bdobj->atomic_params));
bdobj->workqueue = create_workqueue("CAS_AT_ZER");
if (!bdobj->workqueue) {

View File

@@ -412,7 +412,7 @@ int cas_blk_open_volume_by_bdev(ocf_volume_t *vol,
bdobj->btm_bd = bdev;
bdobj->opened_by_bdev = true;
ocf_volume_open(*vol);
ocf_volume_open(*vol, &atomic_params);
return 0;

View File

@@ -22,7 +22,7 @@
#define CAS_DEBUG_PARAM(format, ...)
#endif
int block_dev_open_object(ocf_volume_t vol)
int block_dev_open_object(ocf_volume_t vol, void *volume_params)
{
struct bd_object *bdobj = bd_object(vol);
const struct ocf_volume_uuid *uuid = ocf_volume_get_uuid(vol);

View File

@@ -8,7 +8,7 @@
#include "../cas_cache.h"
int block_dev_open_object(ocf_volume_t vol);
int block_dev_open_object(ocf_volume_t vol, void *volume_params);
void block_dev_close_object(ocf_volume_t vol);