Commit 45f7571a authored by Ben Walker's avatar Ben Walker Committed by Jim Harris
Browse files

blobfs: Fix bug when reading unwritten region after truncate



If a file is extended and then the new region is immediately
read without being written, there as a math error in the
buffer cache.

Change-Id: Ibd2bbe98c734f98df43eada799ed62de4081964b
Signed-off-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/367265


Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent 596f92f5
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -2075,13 +2075,13 @@ spdk_file_read(struct spdk_file *file, struct spdk_io_channel *_channel,

	file->open_for_writing = false;

	if (length == 0 || offset >= file->length) {
	if (length == 0 || offset >= file->append_pos) {
		pthread_spin_unlock(&file->lock);
		return 0;
	}

	if (offset + length > file->length) {
		length = file->length - offset;
	if (offset + length > file->append_pos) {
		length = file->append_pos - offset;
	}

	if (offset != file->next_seq_offset) {