Commit cacfeef3 authored by Cunyin Chang's avatar Cunyin Chang Committed by Ben Walker
Browse files

blobfs: only delete the "removed" file when ref count == 0.



Change-Id: I7bbbed5e62715fbbec381ce4226c5273ebef1a0a
Signed-off-by: default avatarCunyin Chang <cunyin.chang@intel.com>
Reviewed-on: https://review.gerrithub.io/393729


Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
parent ac17ab3d
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -2348,6 +2348,7 @@ __file_close_async_done(void *ctx, int bserrno)
		spdk_fs_delete_file_async(file->fs, file->name, blob_delete_cb, ctx);
		return;
	}

	args->fn.file_op(args->arg, bserrno);
	free_fs_request(req);
}
@@ -2367,7 +2368,8 @@ __file_close_async(struct spdk_file *file, struct spdk_fs_request *req)
	file->ref_count--;
	if (file->ref_count > 0) {
		pthread_spin_unlock(&file->lock);
		__file_close_async_done(req, 0);
		req->args.fn.file_op(req->args.arg, 0);
		free_fs_request(req);
		return;
	}