about summary refs log tree commit homepage
DateCommit message (Collapse)
2012-02-12build: allow BSD make for normal build + installation v0.1.0
Hackers modifying test cases or manpages still need to use GNU make, but this should make life easier for folks that just want to run cmogstored and maybe make minor changes to the code.
2012-02-12build: avoid recursive make for manpage generation
We depend on GNU make anyways, so use a maintainer-only Makefile snippet to do proper dependency ordering for generating the manpage using help2man. The -include directive requires GNU make, and GNU make runs on more platforms than we'll ever care to support.
2012-02-12build: fix some build dependencies and rules
Ugh, recursive make sucks...
2012-02-12ragel: perform minimization after every operation
This seems to make code generation much faster for http_parser.rl (without modifying its output).
2012-02-12build: fix bootstrap dependencies of Ragel sources
BUILT_SOURCES isn't required and gives us build-dependency issues because updating C sources will update .Po files.
2012-02-11gnulib: avoid alloca and sleep modules
We don't need sleep() at all, and we rely on GCC 4.1+ anyways so we know alloca() is supported...
2012-02-11test_helper: forcibly enable verbose tests
They always go to a log file (via automake) anyways, so there's no point in hiding information if we ever want to look into a test failure.
2012-02-11TODO: add a few more items
2012-02-11Makefile.am: allow setting RSYNC_DEST from command-line
In case we publish mirrors to multiple sites.
2012-02-11Makefile.am: quiet down rake
We don't want "in /path/to/foo" messages in our output (NEWS/ChangeLog/NEWS.atom.xml)
2012-02-11http: workaround redundant slashes generated by mogadm
Ugh, looks like I need to fix some mogadm bugs
2012-02-11doc: update README and queues documentation
2012-02-11HACKING: ruby 1.8.7-p299 or later is required for tests
Previous versions had a buggy WEBrick that didn't set Content-Range in responses correctly.
2012-02-11configure.ac: remove outdated, confusing comment
Yes we can use kqueue!
2012-02-11test/http: ensure mtime test only checks seconds
Some filesystems (e.g. ext4) support fractional seconds in mtime, but HTTP date headers cannot conveying that portably.
2012-02-11doc: update for FreeBSD status
We support it since all the kqueue issues got worked out.
2012-02-11mnt.c: kill unnecessary parentheses
Harmless, but spotted by clang.
2012-02-11build-aux/release.mk: fix release-check target again
This stuff breaks more than code!
2012-02-11test/mgmt: oops, fix syntax error
A followup to commit a2c95dd859813d902a7642ad0ca3b41baa4ea748
2012-02-11tests: make some tests more tolerant on overloaded systems
I forget my VMs are slower and run too many tests in parallel :x
2012-02-11test/mgmt: disable iostat(1) test under kfreebsd
iostat doesn't actually show I/O statistics on Debian GNU/kFreeBSD
2012-02-11test/mgmt: rename test file to avoid conflict
The "usage" file may get overwritten by the usage file generator.
2012-02-11do not rely on BUFSIZ=8192
BUFSIZ is only 1024 on FreeBSD, this is too small to be optimal for large I/O operations.
2012-02-11compat_sendfile: disable alloca() usage for now
We may just request a bigger stack in the future and switch to alloca() entirely.
2012-02-10kqueue: reenable for cross-thread active queue wakeups
We need to use NOTE_TRIGGER to wakeup when pushing a mog_fd into to the active queue of another thread. This is probably because we need to rely on an "on ready" event for edge-triggered notifications.
2012-02-10iostat_parser: fix for FreeBSD iostat(1)
Oops, there is a trailing space in the output.
2012-02-10iostat_process: move iostat into active queue, first
We shouldn't push into the idle queue until we get EAGAIN.
2012-02-10build: release-check target gets proper tarball name
The tarball name can change during the release check, so make sure we get the up-to-date name.
2012-02-10iostat: reimplement the parser to work in-place
This means we won't have to defer buffers, advance lines nor need do any buffering. This greatly reduces the chance of hitting bugs from shuffling/moving buffers around.
2012-02-10threads based on the number of usable major devices
This should really be tunable, but we can do that later.
2012-02-10file: remove unused function (mog_file_fstat)
Needless indirection since type errors are pretty easy to avoid with our code base.
2012-02-10cleanup HTTP Range handling
http->range_bytes_tip is an abandoned idea for reusing the HTTP request header in the response. Drop that and rely on Ragel to bail on bad Range requests.
2012-02-10ensure Perl and Ruby test dependencies
bin_PROGRAMS (cmogstored) must be up-to-date when firing Perl or Ruby tests.
2012-02-09coverage.mk: remove -ggdb from CFLAGS
We already default to using -ggdb3 for all builds
2012-02-09build: release check var cleanup
No point in making our own names if the Makefile provides it for us.
2012-02-09README: update with Features section
Hopefully this will encourage people to try this.
2012-02-09tests: add an integration test for the Perl client
We need a reliable way to ensure Content-Range uploads are working properly in a client implemented by someone else.
2012-02-09sparse: better way to force rebuilds
By removing objects instead of touching source to force rebuilds, we can avoid unnecessary warnings if a hacker has a file open in their $EDITOR.
2012-02-09Makefile.am: cleanup Ragel source file generation
This should be reasonably portable, but I'd rather just support GNU make...
2012-02-09build: move supplementary makefiles into build-aux
Should keep the top-level directory cleaner.
2012-02-09configure.ac: set -ggdb3 in CFLAGS if possible
We want as much debugging information as possible, and -ggdb3 should give us even macro expansion.
2012-02-09epoll: simplify setting of common epoll flags
It'll be easier to mentally parse out which flags are _different_.
2012-02-09doc: add TODO
2012-02-09coverage.mk: remove unnecessary JOBS variable
It was a relic from when we couldn't utilize the gmake jobserver for individual Ruby tests.
2012-02-09build: add missing .gitignore to dist
Oops, found by "make release-check"
2012-02-09bind_listen: disable TCP_DEFER_ACCEPT support for now
Fortunately we only deal with LANs.
2012-02-09do not log for ENOTCONN and ECONNRESET errors
They're far too common and will just flood syslog
2012-02-08maxconns: don't blindly double this value
This is to maintain consistency with the Perl mogstored implementation (and probably most other HTTP daemons out there).
2012-02-08http: support Range requests for GET/HEAD
This allows clients to support partial requests and resume downloads.
2012-02-06configure: disable kqueue support for now
It doesn't seem to work reliably in cross-thread wakeup situations.