Alex Young
ed70dacf2f
Don't skip parts of a file when calling fiemap
...
A mis-incremented offset in the fiemap-processing code meant that
non-sparse portions of files were missed.
2012-11-20 17:24:19 +00:00
Alex Young
83eb31aba4
Merge
2012-10-09 17:28:41 +01:00
Alex Young
161d2fccf1
Rename serve->has_control to serve->success.
...
This makes the use of this variable to signal an unexpected SIGTERM
while migrating less confusing.
2012-10-09 17:20:39 +01:00
mbloch
029ebb5ef4
Fixed build_allocation_map in ioutil.c to correctly traverse fiemaps where
...
there are more than 1000 extents in a 100MB file chunk.
2012-10-08 18:11:21 +01:00
Matthew Bloch
a49cf14927
Block allocation map is now built in a separate thread, and does not delay
...
server startup (sparse write avoidance doesn't happen until it is finished).
Added mutex to bitset functions, which were already being called from
multiple threads. Rewrote allocation map builder to request file
information in multiple chunks, to avoid uninterruptible wait and dynamic
memory allocation.
2012-10-07 21:55:01 +01:00
nick
ccbfce1075
Whitespace
2012-09-20 13:37:48 +01:00
nick
e724d83bec
Ensure fiemap ioctl calls are synchronous.
2012-09-11 15:37:13 +01:00
Alex Young
768b30c4eb
Clobber a dangling fprintf
2012-07-14 12:11:25 +01:00
Alex Young
1ce1003d3d
Error when reading sent data fails
...
If the client cuts off part-way through the write, it should cause an
error, not a fatal. Previously this happened if the open file had a
fiemap, but not if there was no allocation map. This patch fixes that,
along with an associated valgrind error.
2012-07-14 12:10:12 +01:00
Alex Young
c6e6952def
Open files with O_DIRECT dependent on a compile-time DIRECT_IO #define.
...
O_DIRECT causes problems on (at least) a wheezy VM, and there are mixed
reports about its performance impact. This patch makes it a
compile-time choice which should remain until it's been benchmarked.
2012-07-14 10:07:58 +01:00
Alex Young
2e4e592c08
Enable writing after the 2G boundary
...
This patch fixes a bug in readwrite.c which truncated the 'from' field
in nbd requests. It was casting them down from an off64_t to an int.
2012-07-12 18:01:10 +01:00
Alex Young
94b4fa887c
Add mboxes
2012-06-27 15:45:33 +01:00
Alex Young
322eae137b
Add a missed free()
2012-06-21 15:55:48 +01:00
Alex Young
43e95dc4db
Make sure all the lines we read get freed (including the trailing blank)
2012-06-21 15:31:28 +01:00
Alex Young
80fff4e0e6
Squash a valgrind error caused by debug output
2012-06-21 11:55:21 +01:00
Alex Young
b986f6b63e
Take _GNU_SOURCE out of source and put it in CFLAGS
2012-06-13 09:59:08 +01:00
Alex Young
710d8254d4
Make sure all ifs are braced
2012-06-11 14:34:17 +01:00
Alex Young
25fc0969cf
Make the compiler stricter and tidy up code to make the subsequent errors and warnings go away
2012-06-11 13:57:03 +01:00
Alex Young
1cd8f4660f
Merge of doom
2012-06-07 14:40:55 +01:00
Alex Young
a90f84972b
Add stop signals to client threads
2012-06-07 11:44:19 +01:00
Matthew Bloch
5710431780
Refactored write_not_zeroes to use struct bitset_mapping instead of
...
repeating all that code (has not fixed earlier bug yet, but lots of
repetition cut).
2012-06-07 11:17:02 +01:00
Alex Young
7832958522
Rearranged the project to have src/ and build/ directories
...
This simplifies keeping everything clean.
2012-05-30 09:51:20 +01:00