Jens Axboe [Sun, 28 Sep 2014 03:28:47 +0000 (21:28 -0600)]
bloom: up hashes to 5 by default
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Sun, 28 Sep 2014 03:27:48 +0000 (21:27 -0600)]
crc/test: add fnv
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Sun, 28 Sep 2014 03:26:58 +0000 (21:26 -0600)]
Add fnv hash
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Sat, 27 Sep 2014 20:13:58 +0000 (14:13 -0600)]
crc/test: if the checksum needs a _final(), do it in the loop
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Sat, 27 Sep 2014 20:12:02 +0000 (14:12 -0600)]
t/dedupe: print dedupe ratio instead of made-up factor
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Sat, 27 Sep 2014 15:30:56 +0000 (09:30 -0600)]
Move murmur3 hash to crc/
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Sat, 27 Sep 2014 15:29:42 +0000 (09:29 -0600)]
crc/test: add jhash
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Sat, 27 Sep 2014 14:43:27 +0000 (08:43 -0600)]
crc/test: fix alignment
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Sat, 27 Sep 2014 14:38:42 +0000 (08:38 -0600)]
Add murmurhash3
And use it in bloom, add it to the crc tester as well.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Sat, 27 Sep 2014 14:08:24 +0000 (08:08 -0600)]
dedupe: exit gracefully if device/file open fails
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Sat, 27 Sep 2014 14:08:00 +0000 (08:08 -0600)]
parse: fix issue with not filling leftover percentages correctly
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 26 Sep 2014 21:04:58 +0000 (15:04 -0600)]
Improve dedupe/compression buffer filling for mixed block sizes
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 26 Sep 2014 20:57:41 +0000 (14:57 -0600)]
bloom: use independent hashes
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 26 Sep 2014 19:45:56 +0000 (13:45 -0600)]
Clarify that include files may not contain job sections
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 26 Sep 2014 19:30:00 +0000 (13:30 -0600)]
bloom: always use a larger minimum size for bloom filter
Increases accuracy at the lower end.
Signed-off-by: Jens Axboe <axboe@fb.com>
Andrey Kuzmin [Fri, 26 Sep 2014 19:29:15 +0000 (13:29 -0600)]
Add HOWTO section on include files
Signed-off-by: Jens Axboe <axboe@fb.com>
Andrey Kuzmin [Fri, 26 Sep 2014 18:48:40 +0000 (12:48 -0600)]
Add ability to use an include file in a fio job file
With this patch, we can use the 'include' directive to tell
fio to include the contents of a file inside a job file.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 26 Sep 2014 18:47:14 +0000 (12:47 -0600)]
dedupe: read in larger chunks at the time
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 26 Sep 2014 16:16:53 +0000 (10:16 -0600)]
dedupe: fix warning and segfault on -B0
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 26 Sep 2014 16:01:50 +0000 (10:01 -0600)]
t/lfsr-test: fixup time
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 26 Sep 2014 15:58:29 +0000 (09:58 -0600)]
Add debug helper stub for t/ programs
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 26 Sep 2014 15:51:33 +0000 (09:51 -0600)]
dedupe: default to using a bloom filter to save memory
With the bloom filter, we can comfortably check devices up to
the petabyte range, which isn't feasible if we track each
extent.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 26 Sep 2014 15:51:16 +0000 (09:51 -0600)]
Add bloom filter
Very basic, but seems to do the job.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 24 Sep 2014 15:54:24 +0000 (09:54 -0600)]
Fix compile for FIO_INC_DEBUG not set
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 24 Sep 2014 15:34:47 +0000 (09:34 -0600)]
dedupe: print threads used up front
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 24 Sep 2014 15:33:29 +0000 (09:33 -0600)]
dedupe: remove rb_lock when done
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 24 Sep 2014 15:30:52 +0000 (09:30 -0600)]
dedupe: cleanups and rate estimation
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 24 Sep 2014 14:21:47 +0000 (08:21 -0600)]
Merge branch 'master' of ssh://git.kernel.dk/data/git/fio
Jens Axboe [Wed, 24 Sep 2014 14:21:15 +0000 (08:21 -0600)]
dedupe: don't add extent items unless we use them
Only used for collision_check and debug output, so save memory
if those aren't enabled.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 24 Sep 2014 00:36:52 +0000 (18:36 -0600)]
t/dedupe: Linux only for now
Just need to fix up the file sizing, that's the only Linux
dependency.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 23 Sep 2014 22:06:04 +0000 (16:06 -0600)]
Fix 32-bit compile warnings
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 23 Sep 2014 21:53:32 +0000 (15:53 -0600)]
Build t/ tools by default
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 23 Sep 2014 20:40:48 +0000 (14:40 -0600)]
dedupe: print progress indicator
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 23 Sep 2014 20:29:21 +0000 (14:29 -0600)]
dedupe: improve wording in output
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 23 Sep 2014 20:10:35 +0000 (14:10 -0600)]
Add small tool to check for dedupable contents in a file/device
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 23 Sep 2014 20:08:21 +0000 (14:08 -0600)]
Checksumming updates
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 23 Sep 2014 16:59:50 +0000 (10:59 -0600)]
memalign: fix off-by-one bug in alignment
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 23 Sep 2014 16:38:54 +0000 (10:38 -0600)]
Fix min/max typeof warnings
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 23 Sep 2014 16:35:49 +0000 (10:35 -0600)]
fifo: use minmax.h instead of rolling its own min/max
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Mon, 22 Sep 2014 20:20:05 +0000 (14:20 -0600)]
dedupe: if percentage is 100, don't go through random + math
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Mon, 22 Sep 2014 16:02:07 +0000 (10:02 -0600)]
Basic support for dedupe
This adds and option, dedupe_percentage, that controls how many of
the write IO buffers are identical. For instance, if this is set:
dedupe_percentage=70
then 70% of the write IO buffers will have identical contents. The
specific contents are, as before, controlled by the various options
that set buffer contents or buffer compressibility.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 18 Sep 2014 15:23:55 +0000 (17:23 +0200)]
btrace2fio: expand rate options, bug fixes
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Wed, 17 Sep 2014 15:58:31 +0000 (17:58 +0200)]
btrace2fio: add rate output
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 17 Sep 2014 02:17:55 +0000 (20:17 -0600)]
btrace2fio: move file tracking to btrace_pid
We want to keep btrace_out as per-device, potentially. So move
this part since it's per process.
Signed-off-by: Jens Axboe <axboe@fb.com>
Robert Elliott [Tue, 16 Sep 2014 22:09:48 +0000 (17:09 -0500)]
fio: print io_u errors on one line
Print io_u errors on one line and with one log_err command
to keep them from being interrupted by other prints
Old:
fio: io_u error on file /dev/sdt: Input/output error5.1MB/0KB/0KB /s]
[227K/0/0 iops] [eta 02d:10h:53m:36s]
read offset=
145442430976, buflen=4096
fio: io_u error on file /dev/sdt: Input/output error
read offset=
397760724992, buflen=4096
New:
fio: io_u error on file /dev/sdr: Input/output error: write offset=
1532626153472, buflen=4096
fio: io_u error on file /dev/sdt: Input/output error: write offset=
102684229632, buflen=4096
Signed-off-by: Robert Elliott <elliott@hp.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 17 Sep 2014 02:07:59 +0000 (20:07 -0600)]
Fixup data-direction to name translation
We had two of them, and they were both wrong since trim got
introduced. Replace by a single implementation in io_ddir.h,
right where it's defined.
Reported-by: Elliott, Robert <Elliott@hp.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 16 Sep 2014 16:28:42 +0000 (18:28 +0200)]
btrace2fio: cleanups and inflight hashing
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Tue, 16 Sep 2014 15:40:03 +0000 (17:40 +0200)]
btrace2fio: use percentage_random and add filename option
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Tue, 16 Sep 2014 15:35:55 +0000 (17:35 +0200)]
btrace2fio: set runtime
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Jens Axboe [Tue, 16 Sep 2014 15:07:51 +0000 (17:07 +0200)]
Merge branch 'master' of ssh://git.kernel.dk/data/git/fio
Jens Axboe [Tue, 16 Sep 2014 15:06:52 +0000 (17:06 +0200)]
Add basic tool to turn blktrace into fio job file
No documentation yet, it's just a start.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 16 Sep 2014 00:51:32 +0000 (18:51 -0600)]
options: fix single use if / for bssplit
It was buggy in that it did not extend to 100%, if nobody else
was part of the group.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 12 Sep 2014 18:09:32 +0000 (12:09 -0600)]
Fio 2.1.12
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 11 Sep 2014 23:05:58 +0000 (17:05 -0600)]
server: fix wrong use of exit() in server when daemonized
We can't use exit(), or we'll trigger the atexit() hook and
free the shared mem used for mutexes, etc. This can cause a
hang when using a daemonized fio server.
Reported-by: Castor Fu <castor@egocast.org>
Signed-off-by: Jens Axboe <axboe@fb.com>
Robert Elliott [Thu, 4 Sep 2014 19:51:05 +0000 (13:51 -0600)]
Fix hangs due to iodepth_low
With some combinations of iodepth, iodepth_batch, iodepth_batch_complete,
and io_depth_low, do_io hangs after reaping the first set of completions
since io_u_queued_complete is called requesting more completions than
td->cur_depth.
Example printing min_evts and td->cur_depth in the do/while loop:
waiting on min=96 cd=627
waiting on min=96 cd=531
waiting on min=96 cd=435
waiting on min=96 cd=339
waiting on min=96 cd=243
waiting on min=96 cd=147
waiting on min=96 cd=51
Jobs: 12 (f=12): [r(12)] [43.8% done] [0KB/0KB/0KB /s] [0/0/0 iops] [eta 00m:09s]
...
Jobs: 12 (f=12): [r(12)] [0.0% done] [0KB/0KB/0KB /s] [0/0/0 iops] [eta 2863d:18h:28m:38s]
<fio never exits>
Fix this by adjusting min_evts to the current_depth if that is smaller.
Tested with a jobfile including:
iodepth=1011
iodepth_batch=96
iodepth_batch_complete=96
iodepth_low=1
runtime=15
time_based
Modified by Jens to fix the check, and move it into
io_u_queued_complete() instead of at the caller site.
Signed-off-by: Jens Axboe <axboe@fb.com>
Castor Fu [Fri, 22 Aug 2014 22:16:44 +0000 (17:16 -0500)]
Fix crash in client with NULL hostname
Fix this by adding an empty hostname.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 22 Aug 2014 19:02:02 +0000 (14:02 -0500)]
Add string support for buffer_pattern
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 22 Aug 2014 15:22:03 +0000 (10:22 -0500)]
options: warn if we fail to make sense of buffer_pattern
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 19 Aug 2014 20:16:29 +0000 (15:16 -0500)]
Update io engine version
Signed-off-by: Jens Axboe <axboe@fb.com>
Castor Fu [Tue, 19 Aug 2014 16:28:53 +0000 (09:28 -0700)]
Add unlink hook to ioengine API, gluster ioengine
fio would just call unlink even with engines that are not using the
operating systems file namespace... This provides a hook to allow
overriding that, with a default handler, and implements it for the
gluster ioengine.
There are others which it'd probably make sense I'm sure.
Huamin Chen looked over my changes to the gluster code earlier...
>I like this unlink idea, it would be great if you can also make unlink optional (if my coding reading is correct). This looks a great pull request candidate to fio. Please ping Axboe after you are done. He is not actively watching pull requests.
>Please also feel free to augment gluster code and pull me for review if necessary.
-castor
Signed-off-by: Jens Axboe <axboe@fb.com>
rootfs [Tue, 19 Aug 2014 18:42:45 +0000 (14:42 -0400)]
fix re-open failure issue when using gluster ioengine
Signed-off-by: rootfs <hchen@redhat.com>
Manish Mandlik [Thu, 14 Aug 2014 17:45:16 +0000 (11:45 -0600)]
Update libhdfs engine documention and options
Signed-off-by: Jens Axboe <axboe@fb.com>
Manish Mandlik [Wed, 13 Aug 2014 19:36:52 +0000 (13:36 -0600)]
Add support for HDFS IO engine
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 13 Aug 2014 19:35:37 +0000 (13:35 -0600)]
Add missing IO engines to the HOWTO
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 7 Aug 2014 21:27:31 +0000 (15:27 -0600)]
verify: turn off numberio verification for meta and time_based
Will only work for the first iteration, then fail miserably.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 25 Jul 2014 13:15:46 +0000 (15:15 +0200)]
crc/test: a few more cleanups and code unifications
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 25 Jul 2014 08:12:26 +0000 (10:12 +0200)]
crc/test: cleanup and better precision
Make sure we're a bit cache warm at least, and don't allocate, free,
and randomize a buffer for each hash.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jiri Horky [Fri, 25 Jul 2014 07:55:03 +0000 (09:55 +0200)]
Allow reset of offset_increment counter
Reset offset_increment only within a sub-group of jobs, eg when
numjobs=x is used to automatically group jobs together.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 25 Jul 2014 07:51:56 +0000 (09:51 +0200)]
Don't grab stat mutex for final stat output
We should not need it, and there's a bug with getting stuck on it
that hasn't been fully debugged/understood yet. So for now, lets
just forget about the mutex for final output.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 24 Jul 2014 12:50:36 +0000 (14:50 +0200)]
Add test case for previous verify crash
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 23 Jul 2014 14:19:48 +0000 (16:19 +0200)]
null: add FIO_FAKEIO flag
Tell the backend that null just fakes IO, and use this knowledge
to have verifies automagically work when using null. This allows
testing of a wider range of paths with ioengine=null.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 23 Jul 2014 14:11:43 +0000 (16:11 +0200)]
verify: fix a bug with verify_async
There's a race between marking an io_u as deferred, completing it,
and checking of that flag. It cannot be done reliably for async
verify threads. So change the mechanism to have the verify_async
part pull the io_u completely, so we don't have to check for a flag
in it after we have run ->end_io().
This fixes a bug with verify_async, where fio would crash with
this message:
fio: io_u.c:1315: __get_io_u: Assertion `io_u->flags & IO_U_F_FREE' failed
This race has always existed, but was made considerably worse with
this commit:
commit
2ae0b204743d6b4048c6fffd46c6280a70f2ecd1
Author: Jens Axboe <axboe@kernel.dk>
Date: Tue May 28 14:16:55 2013 +0200
Replace list based free/busy/requeue list with FIFO + ring
Cache friendliness of the list is pretty low. This has
provably lower overhead.
since we moved from a single list holding the io, to a separate
verify list and io_u queues. The above bug is happening because
the io_u ends up on both the freelist and the pending verify list,
causing mayhem.
Reported-by: scameron@beardog.cce.hp.com
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 23 Jul 2014 07:47:26 +0000 (09:47 +0200)]
verify: ensure that verify interval is smaller or equal to blocksize
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Mon, 21 Jul 2014 09:32:13 +0000 (11:32 +0200)]
stat: move stat mutex grab to thread
No need to grab it from the parent.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Mon, 21 Jul 2014 09:31:49 +0000 (11:31 +0200)]
verify: disable numberio check for multiple block sizes
Yet another corner case that doesn't work...
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 16 Jul 2014 08:22:43 +0000 (10:22 +0200)]
Fio 2.1.11
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Mon, 14 Jul 2014 13:07:11 +0000 (15:07 +0200)]
blktrace: various bug fixes and improvements
- Use the normal debug logging for notify events, as they are expected
to happen.
- Correct a bug where a workload is considered mixed, even if it is
only reads (note: just cosmetical, no writes were issued by fio).
- Handle trim more appropriately - fio supports it as a separate
'data direction', so handle it as such.
- Fix a bug in the delay accounting, causing blktrace to not replay
correctly. This could cause either too fast replays, or replays
that would delay way too much.
- Consider TRIMs as writes, as far as --readonly being set is
concerned.
- Don't consider < 100 usec delays noise, fio can do this quite
accurately.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 9 Jul 2014 21:01:03 +0000 (23:01 +0200)]
Add some basic debug output for log compression
Guarded by --debug=compress, like the other debug measures.
Signed-off-by: Jens Axboe <axboe@fb.com>
Andreas Gruenbacher [Wed, 9 Jul 2014 17:37:33 +0000 (19:37 +0200)]
Fix two error paths
In generic_open_file(), when an error is detected, return 1 to indicate
the failure.
In get_file_sizes(), when an error other than ENOENT is detected, fail
immediately and don't clear the error.
Jens Axboe [Wed, 9 Jul 2014 09:24:12 +0000 (11:24 +0200)]
Fix cases where td->terminate is set, but terminate clock not marked
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 9 Jul 2014 08:31:34 +0000 (10:31 +0200)]
Add thread number to log filename
Since commit
aee2ab6775d9, we open the log files for writing and
truncate the output. This breaks when you have multiple jobs with
the same name, as will happen with numjobs=x. Instead of reverting
this part of the commit, lets keep the truncate open and instead
store log files separately. This makes more sense anyway, since
otherwise the logs are all the entries from job X, then all the
entries from job Y, etc. It's easy enough to collate the logs,
should anyone want to do that.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 9 Jul 2014 07:52:20 +0000 (09:52 +0200)]
iolog: run compression work at slightly elevated nice level
Add support for work items to contain a priority, and use this
directly with nice. Run compression at nice 1, to make it slightly
less important than the actual IO jobs.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Wed, 9 Jul 2014 06:46:12 +0000 (08:46 +0200)]
Allow threads 60 seconds to exit before being forceful
Right now the fio status thread can sit forever waiting for jobs
to exit, when ctrl-c (or another signal) is sent. Be a bit more
brutal and force quit jobs if they haven't exited on their own
in 60 seconds. That should be long enough to ensure that they
are stuck in some way.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 8 Jul 2014 12:24:54 +0000 (14:24 +0200)]
iolog: fix link without zlib
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 8 Jul 2014 12:18:13 +0000 (14:18 +0200)]
iolog: fix compile error for non-zlib
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 8 Jul 2014 12:14:23 +0000 (14:14 +0200)]
iolog: propagate errors to caller
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 8 Jul 2014 07:46:37 +0000 (09:46 +0200)]
mutex: move pthread_cond_signal() outside of lock
Generally best practice to drop the lock before waking, if
possible.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 8 Jul 2014 07:45:55 +0000 (09:45 +0200)]
tp: move pthread_cond_signal() outside of lock
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Tue, 8 Jul 2014 07:44:51 +0000 (09:44 +0200)]
Add some new code comments on the log compress/decompress
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 4 Jul 2014 03:57:29 +0000 (21:57 -0600)]
iolog: fix bug when decompressing chunks with different sequence numbers
We need to re-start on inflate, like we do on deflate. Otherwise
we get stream end when the first chunk is done. Keep track of
this in iolog_file_inflate(), since we know how much we need to
decompress.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 4 Jul 2014 03:19:57 +0000 (21:19 -0600)]
flist: add flist_first_entry()
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Fri, 4 Jul 2014 00:01:11 +0000 (18:01 -0600)]
iolog: use a define instead of a raw bit mask
Add a comment too, while in there.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 3 Jul 2014 23:58:49 +0000 (17:58 -0600)]
iolog: get rid of ic->nofree
Push the free out of flush_chunk(), then the caller just does it
instead. Unifies the log write vs compress as well.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 3 Jul 2014 23:56:55 +0000 (17:56 -0600)]
iolog: get rid of one section of CONFIG_ZLIB ifdef
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 3 Jul 2014 22:20:27 +0000 (16:20 -0600)]
configure: add a note to install zlib-devel, if not there
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 3 Jul 2014 21:33:24 +0000 (15:33 -0600)]
init: fix dead check for !td
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 3 Jul 2014 21:32:07 +0000 (15:32 -0600)]
iolog: do stat() after fopen()
Avoid static checker complaining about a potential race here,
ordering doesn't matter to fio.
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 3 Jul 2014 21:31:32 +0000 (15:31 -0600)]
rbd: fix leak in error path
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 3 Jul 2014 21:30:37 +0000 (15:30 -0600)]
glusterfs: fix leak in error path
Signed-off-by: Jens Axboe <axboe@fb.com>
Jens Axboe [Thu, 3 Jul 2014 20:17:45 +0000 (14:17 -0600)]
iolog: remove dead code that stored a gzip header
Signed-off-by: Jens Axboe <axboe@fb.com>