diff options
author | ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-07-03 11:47:46 +0000 |
---|---|---|
committer | ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-07-03 11:47:46 +0000 |
commit | 2f7264888ab4a9595a40bd045f58101e5ccd2f0a (patch) | |
tree | 0f24cf44bf12b90bda404fb42cde3ab0a58acd19 /nbd.c | |
parent | 23fb600b87bbf51e6a55230d3e98e4984f59ea9d (diff) |
Add a parameter to disable host cache, by Laurent Vivier.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4836 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'nbd.c')
-rw-r--r-- | nbd.c | 14 |
1 files changed, 5 insertions, 9 deletions
@@ -404,13 +404,9 @@ int nbd_client(int fd, int csock) return ret; } -int nbd_trip(BlockDriverState *bs, int csock, off_t size, uint64_t dev_offset, off_t *offset, bool readonly) +int nbd_trip(BlockDriverState *bs, int csock, off_t size, uint64_t dev_offset, + off_t *offset, bool readonly, uint8_t *data, int data_size) { -#ifndef _REENTRANT - static uint8_t data[1024 * 1024]; // keep this off of the stack -#else - uint8_t data[1024 * 1024]; -#endif uint8_t buf[4 + 4 + 8 + 8 + 4]; uint32_t magic; uint32_t type; @@ -449,9 +445,9 @@ int nbd_trip(BlockDriverState *bs, int csock, off_t size, uint64_t dev_offset, o return -1; } - if (len > sizeof(data)) { - LOG("len (%u) is larger than max len (%lu)", - len, (unsigned long)sizeof(data)); + if (len > data_size) { + LOG("len (%u) is larger than max len (%u)", + len, data_size); errno = EINVAL; return -1; } |