lvol: remove free cluster check on resize
spdk_blob_resize() already checks for free clusters as needed (as well as handling the thin provisioning case). Change-Id: I445cc0f4ce15b67253bdfa15c2d703ff0fcb49b3 Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com> Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-on: https://review.gerrithub.io/407010 Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Maciej Szwed <maciej.szwed@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
5a79fdc6ef
commit
72b7f73c26
@ -1245,20 +1245,8 @@ spdk_lvol_resize(struct spdk_lvol *lvol, uint64_t sz,
|
||||
struct spdk_blob *blob = lvol->blob;
|
||||
struct spdk_lvol_store *lvs = lvol->lvol_store;
|
||||
struct spdk_lvol_req *req;
|
||||
uint64_t free_clusters = spdk_bs_free_cluster_count(lvs->blobstore);
|
||||
uint64_t used_clusters = spdk_blob_get_num_clusters(blob);
|
||||
uint64_t new_clusters = divide_round_up(sz, spdk_bs_get_cluster_size(lvs->blobstore));
|
||||
|
||||
/* Check if size of lvol increasing */
|
||||
if (new_clusters > used_clusters) {
|
||||
/* Check if there is enough clusters left to resize */
|
||||
if (new_clusters - used_clusters > free_clusters) {
|
||||
SPDK_ERRLOG("Not enough free clusters left on lvol store to resize lvol to %zu clusters\n", sz);
|
||||
cb_fn(cb_arg, -ENOMEM);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
req = calloc(1, sizeof(*req));
|
||||
if (!req) {
|
||||
SPDK_ERRLOG("Cannot alloc memory for lvol request pointer\n");
|
||||
|
Loading…
Reference in New Issue
Block a user