um: Update UBD to use pread/pwrite family of functions
This decreases the number of syscalls per read/write by half. Signed-off-by: Anton Ivanov <aivanov@brocade.com> Signed-off-by: Richard Weinberger <richard@nod.at>
This commit is contained in:

zatwierdzone przez
Richard Weinberger

rodzic
470a166e8c
commit
8c6157b6b3
@@ -264,6 +264,15 @@ int os_read_file(int fd, void *buf, int len)
|
||||
return n;
|
||||
}
|
||||
|
||||
int os_pread_file(int fd, void *buf, int len, unsigned long long offset)
|
||||
{
|
||||
int n = pread(fd, buf, len, offset);
|
||||
|
||||
if (n < 0)
|
||||
return -errno;
|
||||
return n;
|
||||
}
|
||||
|
||||
int os_write_file(int fd, const void *buf, int len)
|
||||
{
|
||||
int n = write(fd, (void *) buf, len);
|
||||
@@ -282,6 +291,16 @@ int os_sync_file(int fd)
|
||||
return n;
|
||||
}
|
||||
|
||||
int os_pwrite_file(int fd, const void *buf, int len, unsigned long long offset)
|
||||
{
|
||||
int n = pwrite(fd, (void *) buf, len, offset);
|
||||
|
||||
if (n < 0)
|
||||
return -errno;
|
||||
return n;
|
||||
}
|
||||
|
||||
|
||||
int os_file_size(const char *file, unsigned long long *size_out)
|
||||
{
|
||||
struct uml_stat buf;
|
||||
|
Reference in New Issue
Block a user