Commit d848418d authored by Ziye Yang's avatar Ziye Yang Committed by Tomasz Zawadzki
Browse files

pipe: Simplify the pipe code



Signed-off-by: default avatarZiye Yang <ziye.yang@intel.com>
Change-Id: I86bfa885215c36e69f2b9c7a12dc5eb32f2a1bcd
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1566


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@mellanox.com>
parent cbe6e0f7
Loading
Loading
Loading
Loading
+6 −33
Original line number Diff line number Diff line
@@ -79,11 +79,7 @@ spdk_pipe_writer_get_buffer(struct spdk_pipe *pipe, uint32_t requested_sz, struc

		sz = spdk_min(requested_sz, pipe->sz - write);

		if (sz == 0) {
			iovs[0].iov_base = NULL;
		} else {
			iovs[0].iov_base = pipe->buf + write;
		}
		iovs[0].iov_base = (sz == 0) ? NULL : (pipe->buf + write);
		iovs[0].iov_len = sz;

		requested_sz -= sz;
@@ -91,11 +87,7 @@ spdk_pipe_writer_get_buffer(struct spdk_pipe *pipe, uint32_t requested_sz, struc
		if (requested_sz > 0) {
			sz = spdk_min(requested_sz, read);

			if (sz == 0) {
				iovs[1].iov_base = NULL;
			} else {
				iovs[1].iov_base = pipe->buf;
			}
			iovs[1].iov_base = (sz == 0) ? NULL : pipe->buf;
			iovs[1].iov_len = sz;
		} else {
			iovs[1].iov_base = NULL;
@@ -104,13 +96,8 @@ spdk_pipe_writer_get_buffer(struct spdk_pipe *pipe, uint32_t requested_sz, struc
	} else {
		sz = spdk_min(requested_sz, read - write - 1);

		if (sz == 0) {
			iovs[0].iov_base = NULL;
		} else {
			iovs[0].iov_base = pipe->buf + write;
		}
		iovs[0].iov_base = (sz == 0) ? NULL : (pipe->buf + write);
		iovs[0].iov_len = sz;

		iovs[1].iov_base = NULL;
		iovs[1].iov_len = 0;
	}
@@ -194,35 +181,21 @@ spdk_pipe_reader_get_buffer(struct spdk_pipe *pipe, uint32_t requested_sz, struc
	if (read <= write) {
		sz = spdk_min(requested_sz, write - read);

		if (sz == 0) {
			iovs[0].iov_base = NULL;
		} else {
			iovs[0].iov_base = pipe->buf + read;
		}
		iovs[0].iov_base = (sz == 0) ? NULL : (pipe->buf + read);
		iovs[0].iov_len = sz;

		iovs[1].iov_base = NULL;
		iovs[1].iov_len = 0;
	} else {
		sz = spdk_min(requested_sz, pipe->sz - read);

		if (sz == 0) {
			iovs[0].iov_base = NULL;
		} else {
			iovs[0].iov_base = pipe->buf + read;
		}
		iovs[0].iov_base = (sz == 0) ? NULL : (pipe->buf + read);
		iovs[0].iov_len = sz;

		requested_sz -= sz;

		if (requested_sz > 0) {
			sz = spdk_min(requested_sz, write);

			if (sz == 0) {
				iovs[1].iov_base = NULL;
			} else {
				iovs[1].iov_base = pipe->buf;
			}
			iovs[1].iov_base = (sz == 0) ? NULL : pipe->buf;
			iovs[1].iov_len = sz;
		} else {
			iovs[1].iov_base = NULL;