This project is no longer actively maintained. cmogstored is better in every way: bogomips.org/cmogstored/README
mogstored_rack implements a minimal subset of WebDAV needed to support a MogileFS storage nodes in a POSIX-like environment. It is implemented entirely in Ruby and has no dependencies other than Rack. The original (Perl) mogstored is still required for generating /usage files and iostat(1) watcher support.
It can verify the contents of PUT request based on Content-MD5 headers (and trailers, if the Rack server supports trailers) and reject corrupted uploads.
partial PUT support (via Content-Range) for compatibility with the “largefile” option in the Perl MogileFS::Client library.
optional fsync(2), O_SYNC (and O_DIRECT :P) support
configurable I/O write size to match your hardware/filesystem
Use any Rack HTTP server you want, but Rainbows! is recommended as it supports chunked uploads and HTTP trailers. The heavily-commented example Rainbows! config example is a good starting point.
You can get the latest source via git from the following locations:
You may browse the code from the web and download the latest snapshot tarballs here:
Inline patches (from “git format-patch”) to Eric are preferred because they allow code review and comments in the reply to the patch.
We will adhere to mostly the same conventions for patch submissions as git itself. See the Documentation/SubmittingPatches document distributed with git on on patch submission guidelines to follow. Just don’t email the git mailing list or maintainer with mogstored_rack patches.
All feedback (bug reports, user/development discussion, patches, pull requests) go to Eric Wong