alternative mogstored implementation for MogileFS
cmogstored is an alternative implementation of the "mogstored" storage component of MogileFS. cmogstored is implemented in C and does not use Perl at runtime. cmogstored is the only component you need to install on a MogileFS storage node.
Read more about MogileFS here: http://mogilefs.org/ cmogstored is not directly affiliated with the MogileFS project nor any commercial interests behind MogileFS.
- low memory footprint, more memory for file system caches
- multithreaded design keeps queues in rotational disks busy
- epoll/kqueue used to cheaply maintain persistent connections
- supports checksumming features in MogileFS::Server 2.60+
- easily installable on modern GNU/Linux and FreeBSD without Perl
- supports HTTP/1.1 persistent connections and pipelining
- supports chunked and partial (Content-Range) HTTP/1.1 PUT requests
- supports partial GET requests
- may reject PUTs based on Content-MD5 header/trailer verification
- graceful shutdown via SIGQUIT will not terminate active requests
- extensive test suite, code coverage and Valgrind-tested
See the INSTALL document for installation and runtime requirements.
cmogstored aims to be mostly command-line and configuration-file compatible with the Perl mogstored.
cmogstored does not support spawning lighttpd/Apache instances like its Perl counterpart.
In other cases, you can simply replace "mogstored" with "cmogstored" in your init scripts and use the same config file.
For any and all questions, bug reports, patches, pull requests, send plain-text email to the mailing list at:
No subscription is neccessary, so reply-to-all on replies. HTML email is not welcome and will be bounced. You may optionally subscribe via:
HTML archives are available at https://bogomips.org/cmogstored-public/ and via NNTP:
We also piggy-back onto the public MogileFS mailing list for public discussions:
Note, subscription required for the MogileFS list:
Source tarballs suitable for distribution are housed here:
The latest stable release is: https://bogomips.org/cmogstored/files/cmogstored-1.6.0.tar.gz
See https://bogomips.org/cmogstored/NEWS for release notes
- git clone git://bogomips.org/cmogstored.git
- git clone https://bogomips.org/cmogstored.git
- gitweb :: http://repo.or.cz/w/cmogstored.git
cmogstored is licensed under the GNU General Public License, v3 (or later). Distribution tarballs include LGPL code from the Gnulib project in lib/. The bsd/*.h compatibility headers are BSD-licensed. The nostd/* files are Expat/MIT-licensed from the libnostd project Contributors retain their copyrights to their respective contributions.
This project is not affiliated with the GNU project nor FSF even though we use their tools and licenses.
Eric Wong hates pretty things, so this README file is also the homepage: https://bogomips.org/cmogstored/README
The latest releases are announced via Atom feed: https://bogomips.org/cmogstored/NEWS.atom.xml
released on 31 August 2016
git clone https://bogomips.org/cmogstored.git
Extension or Plugin
10 February 2017
Leaders and contributors
Resources and communication
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.
The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.