You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@crail.apache.org by pe...@apache.org on 2018/04/10 11:19:55 UTC

[16/16] incubator-crail git commit: NvmfStorageClient: number of LBAs

NvmfStorageClient: number of LBAs

Number of LBAs in new jNVMf API is no longer 0-based.

Signed-off-by: Jonas Pfefferle <pe...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/incubator-crail/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-crail/commit/fb01cdf0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-crail/tree/fb01cdf0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-crail/diff/fb01cdf0

Branch: refs/heads/master
Commit: fb01cdf06649ced6a4df45f679d4278f664cdba0
Parents: db75499
Author: Jonas Pfefferle <pe...@apache.org>
Authored: Mon Apr 9 15:24:41 2018 +0200
Committer: Jonas Pfefferle <pe...@apache.org>
Committed: Tue Apr 10 13:19:03 2018 +0200

----------------------------------------------------------------------
 .../org/apache/crail/storage/nvmf/client/NvmfStorageEndpoint.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-crail/blob/fb01cdf0/storage-nvmf/src/main/java/org/apache/crail/storage/nvmf/client/NvmfStorageEndpoint.java
----------------------------------------------------------------------
diff --git a/storage-nvmf/src/main/java/org/apache/crail/storage/nvmf/client/NvmfStorageEndpoint.java b/storage-nvmf/src/main/java/org/apache/crail/storage/nvmf/client/NvmfStorageEndpoint.java
index e17a013..655a304 100644
--- a/storage-nvmf/src/main/java/org/apache/crail/storage/nvmf/client/NvmfStorageEndpoint.java
+++ b/storage-nvmf/src/main/java/org/apache/crail/storage/nvmf/client/NvmfStorageEndpoint.java
@@ -204,7 +204,8 @@ public class NvmfStorageEndpoint implements StorageEndpoint {
 		long startingLBA = startingAddress / getLBADataSize();
 		sqe.setStartingLba(startingLBA);
 		/* TODO: on read this potentially overwrites data beyond the set limit */
-		short numLogicalBlocks = (short)(getNumLogicalBlocks(buffer) - 1);
+		short numLogicalBlocks = (short)getNumLogicalBlocks(buffer);
+		buffer.limit(buffer.position() + numLogicalBlocks * getLBADataSize());
 		sqe.setNumberOfLogicalBlocks(numLogicalBlocks);
 		int remoteKey = registeredBufferCache.getRemoteKey(buffer);
 		KeyedSglDataBlockDescriptor dataBlockDescriptor = sqe.getKeyedSglDataBlockDescriptor();