Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Backports:SLE-15-SP1:Update
istgt
lu-perform-lba-range-check-before-0-byte-fastpa...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File lu-perform-lba-range-check-before-0-byte-fastpath.patch of Package istgt
From 4d04a693eb507540542b5a7005892c21f49afb82 Mon Sep 17 00:00:00 2001 From: David Disseldorp <ddiss@suse.de> Date: Tue, 26 Mar 2013 18:14:50 +0100 Subject: [PATCH 03/12] lu: perform lba range check before 0 byte fastpath 0 byte IOs are subject to the same lba checks as normal IOs. --- src/istgt_lu_disk.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git src/istgt_lu_disk.c src/istgt_lu_disk.c index 9b58da3..5ff5b09 100644 --- src/istgt_lu_disk.c +++ src/istgt_lu_disk.c @@ -4058,12 +4058,6 @@ istgt_lu_disk_lbread(ISTGT_LU_DISK *spec, CONN_Ptr conn __attribute__((__unused_ uint64_t nbytes; int64_t rc; - if (len == 0) { - lu_cmd->data = NULL; - lu_cmd->data_len = 0; - return 0; - } - maxlba = spec->blockcnt; llen = (uint64_t) len; blen = spec->blocklen; @@ -4079,6 +4073,12 @@ istgt_lu_disk_lbread(ISTGT_LU_DISK *spec, CONN_Ptr conn __attribute__((__unused_ return -1; } + if (len == 0) { + lu_cmd->data = NULL; + lu_cmd->data_len = 0; + return 0; + } + if (nbytes > lu_cmd->iobufsize) { ISTGT_ERRLOG("nbytes(%zu) > iobufsize(%zu)\n", (size_t) nbytes, lu_cmd->iobufsize); @@ -4117,11 +4117,6 @@ istgt_lu_disk_lbwrite(ISTGT_LU_DISK *spec, CONN_Ptr conn, ISTGT_LU_CMD_Ptr lu_cm uint64_t nbytes; int64_t rc; - if (len == 0) { - lu_cmd->data_len = 0; - return 0; - } - maxlba = spec->blockcnt; llen = (uint64_t) len; blen = spec->blocklen; @@ -4137,6 +4132,11 @@ istgt_lu_disk_lbwrite(ISTGT_LU_DISK *spec, CONN_Ptr conn, ISTGT_LU_CMD_Ptr lu_cm return -1; } + if (len == 0) { + lu_cmd->data_len = 0; + return 0; + } + if (nbytes > lu_cmd->iobufsize) { ISTGT_ERRLOG("nbytes(%zu) > iobufsize(%zu)\n", (size_t) nbytes, lu_cmd->iobufsize); -- 2.1.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor