orangefs: open code short single-use functions
Signed-off-by: Martin Brandenburg <martin@omnibond.com> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
This commit is contained in:
parent
81e3d0253f
commit
dbcb5e7fc4
|
@ -41,70 +41,6 @@ static int flush_racache(struct inode *inode)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Copy to client-core's address space from the buffers specified
|
|
||||||
* by the iovec upto total_size bytes.
|
|
||||||
* NOTE: the iovector can either contain addresses which
|
|
||||||
* can futher be kernel-space or user-space addresses.
|
|
||||||
* or it can pointers to struct page's
|
|
||||||
*/
|
|
||||||
static int precopy_buffers(int buffer_index,
|
|
||||||
struct iov_iter *iter,
|
|
||||||
size_t total_size)
|
|
||||||
{
|
|
||||||
int ret = 0;
|
|
||||||
/*
|
|
||||||
* copy data from application/kernel by pulling it out
|
|
||||||
* of the iovec.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
if (total_size) {
|
|
||||||
ret = orangefs_bufmap_copy_from_iovec(iter,
|
|
||||||
buffer_index,
|
|
||||||
total_size);
|
|
||||||
if (ret < 0)
|
|
||||||
gossip_err("%s: Failed to copy-in buffers. Please make sure that the pvfs2-client is running. %ld\n",
|
|
||||||
__func__,
|
|
||||||
(long)ret);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ret < 0)
|
|
||||||
gossip_err("%s: Failed to copy-in buffers. Please make sure that the pvfs2-client is running. %ld\n",
|
|
||||||
__func__,
|
|
||||||
(long)ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copy from client-core's address space to the buffers specified
|
|
||||||
* by the iovec upto total_size bytes.
|
|
||||||
* NOTE: the iovector can either contain addresses which
|
|
||||||
* can futher be kernel-space or user-space addresses.
|
|
||||||
* or it can pointers to struct page's
|
|
||||||
*/
|
|
||||||
static int postcopy_buffers(int buffer_index,
|
|
||||||
struct iov_iter *iter,
|
|
||||||
size_t total_size)
|
|
||||||
{
|
|
||||||
int ret = 0;
|
|
||||||
/*
|
|
||||||
* copy data to application/kernel by pushing it out to
|
|
||||||
* the iovec. NOTE; target buffers can be addresses or
|
|
||||||
* struct page pointers.
|
|
||||||
*/
|
|
||||||
if (total_size) {
|
|
||||||
ret = orangefs_bufmap_copy_to_iovec(iter,
|
|
||||||
buffer_index,
|
|
||||||
total_size);
|
|
||||||
if (ret < 0)
|
|
||||||
gossip_err("%s: Failed to copy-out buffers. Please make sure that the pvfs2-client is running (%ld)\n",
|
|
||||||
__func__,
|
|
||||||
(long)ret);
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Post and wait for the I/O upcall to finish
|
* Post and wait for the I/O upcall to finish
|
||||||
*/
|
*/
|
||||||
|
@ -157,14 +93,15 @@ populate_shared_memory:
|
||||||
total_size);
|
total_size);
|
||||||
/*
|
/*
|
||||||
* Stage 1: copy the buffers into client-core's address space
|
* Stage 1: copy the buffers into client-core's address space
|
||||||
* precopy_buffers only pertains to writes.
|
|
||||||
*/
|
*/
|
||||||
if (type == ORANGEFS_IO_WRITE) {
|
if (type == ORANGEFS_IO_WRITE && total_size) {
|
||||||
ret = precopy_buffers(buffer_index,
|
ret = orangefs_bufmap_copy_from_iovec(iter, buffer_index,
|
||||||
iter,
|
total_size);
|
||||||
total_size);
|
if (ret < 0) {
|
||||||
if (ret < 0)
|
gossip_err("%s: Failed to copy-in buffers. Please make sure that the pvfs2-client is running. %ld\n",
|
||||||
|
__func__, (long)ret);
|
||||||
goto out;
|
goto out;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
gossip_debug(GOSSIP_FILE_DEBUG,
|
gossip_debug(GOSSIP_FILE_DEBUG,
|
||||||
|
@ -260,14 +197,20 @@ populate_shared_memory:
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Stage 3: Post copy buffers from client-core's address space
|
* Stage 3: Post copy buffers from client-core's address space
|
||||||
* postcopy_buffers only pertains to reads.
|
|
||||||
*/
|
*/
|
||||||
if (type == ORANGEFS_IO_READ) {
|
if (type == ORANGEFS_IO_READ && new_op->downcall.resp.io.amt_complete) {
|
||||||
ret = postcopy_buffers(buffer_index,
|
/*
|
||||||
iter,
|
* NOTE: the iovector can either contain addresses which
|
||||||
new_op->downcall.resp.io.amt_complete);
|
* can futher be kernel-space or user-space addresses.
|
||||||
if (ret < 0)
|
* or it can pointers to struct page's
|
||||||
|
*/
|
||||||
|
ret = orangefs_bufmap_copy_to_iovec(iter, buffer_index,
|
||||||
|
new_op->downcall.resp.io.amt_complete);
|
||||||
|
if (ret < 0) {
|
||||||
|
gossip_err("%s: Failed to copy-out buffers. Please make sure that the pvfs2-client is running (%ld)\n",
|
||||||
|
__func__, (long)ret);
|
||||||
goto out;
|
goto out;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
gossip_debug(GOSSIP_FILE_DEBUG,
|
gossip_debug(GOSSIP_FILE_DEBUG,
|
||||||
"%s(%pU): Amount %s, returned by the sys-io call:%d\n",
|
"%s(%pU): Amount %s, returned by the sys-io call:%d\n",
|
||||||
|
|
Loading…
Reference in New Issue