projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix wrap issue with 64-bit pwritev2/preadv2
[fio.git]
/
os
/
os-linux.h
diff --git
a/os/os-linux.h
b/os/os-linux.h
index 911f7e7c8710719d5c6d2d9b094efb096077f0c5..695e9dad0fc04204b20f94901be68801581c3904 100644
(file)
--- a/
os/os-linux.h
+++ b/
os/os-linux.h
@@
-314,9
+314,15
@@
static inline int fio_set_sched_idle(void)
static inline void make_pos_h_l(unsigned long *pos_h, unsigned long *pos_l,
off_t offset)
{
static inline void make_pos_h_l(unsigned long *pos_h, unsigned long *pos_l,
off_t offset)
{
+#if BITS_PER_LONG == 64
+#warning 64
+ *pos_l = offset;
+ *pos_h = 0;
+#else
+#warning 32
*pos_l = offset & 0xffffffff;
*pos_h = ((uint64_t) offset) >> 32;
*pos_l = offset & 0xffffffff;
*pos_h = ((uint64_t) offset) >> 32;
-
+#endif
}
static inline ssize_t preadv2(int fd, const struct iovec *iov, int iovcnt,
off_t offset, unsigned int flags)
}
static inline ssize_t preadv2(int fd, const struct iovec *iov, int iovcnt,
off_t offset, unsigned int flags)