A MogileFS client library for Ruby.  MogileFS is an open source
distributed filesystem, see: http://mogilefs.org for more details.  This
library allows any Ruby application to read, write and delete files in a
MogileFS instance.

To install:   gem install mogilefs-client

mogilefs :: http://mogilefs.org/
list :: mogile / googlegroups.com
email :: normalperson / yhbt.net
repo :: git://bogomips.org/mogilefs-client.git
cgit :: http://bogomips.org/mogilefs-client.git
gitweb :: http://repo.or.cz/w/ruby-mogilefs-client.git

There's a fair amount of internal changes and cleanups, but
most user-visible things should be relatively untouched.

    Changes since 3.0.0-rc1:
    
    * 1.8 copy_stream emulator respects creation umask
      This matches the latest IO.copy_stream behavior.
      [ruby-core:41308], r33851 in ruby/trunk
    
    * higher timeouts for uploads to compensate for slow
      (but not dead) servers.
    
    Changes since v2.2.0:
    
    === client changes
    
    * "store_file" now accepts any IO object capable of streaming
      data (e.g. pipes and sockets).   This uses chunked
      Transfer-Encoding for PUTs, so backend storage nodes
      will need to support this (latest mogstored does).
    
    * "store_file" no longer uses an infinite timeout when
      awaiting a response after a PUT, the new timeout for the
      response is now calculated based on the time and size of
      the PUT request.
    
    * new commands: "file_debug" and "file_info" (new commands
      in mogilefsd, be sure you have the latest version)
    
    * "get_paths" takes optional ":pathcount" parameter
      to control the number of returned paths.
    
    * "get_file_data" supports offset and count for partial
      transfer (requires support from storage node for
      Range: requests, most HTTP servers are capable of this)
    
    * IO.copy_stream is enabled by default under Ruby 1.9.3.
      Expect performance improvements.
    
    * "list_keys" with a passed block (for additional info) is
      faster due to internal pipelining implementation and the
      addition of "file_info" support.
    
    * fixed handling of "+" in key/domain names (old bug)
    
    * rare, truncated partial responses due to network/server
      failure now raise MogileFS::InvalidResponseError
    
    === admin changes
    
    Admin support is still a work-in-progress,
    I usually just find myself using "mogadm" anyways.
    
    * new admin commands: "replicate_now"
    
    * "get_stats" no longer works on new mogilefsd versions
    
    * get_domains handles "repl_policy" field correctly for classes
      in MogileFS 2.x
    
    * admin commands should convert all numeric fields to either
      Integer or Float objects and not String representations
      of numerics.  Affected methods include:
       get_hosts, get_devices, list_fids, each_fids, get_domains
    
    === miscellany
    
    * we no longer add methods to standard Ruby classes
      (at least we never /changed/ existing methods :P)
    
    * {kgio}[http://bogomips.org/kgio] automatically used
      if available, but not required to avoid exceptions
      with non-blocking I/O
    
    * dropped Ruby 1.8.6 support, 1.8.7 or later is required.
    
    * Tested with MRI 1.8.7, 1.9.3 and Rubinius 1.2.4
    
    * MogileFS::Mysql - deprecated, to be removed in 2012
    
    * improved test suite
    
    * some optional experimental features/changes,
      see "git log" for details
    
    * Added internal pipelining implementation, this is
      not easy-to-use since the server can respond-out-of-order,
      but still useful for things like a list_keys+file_info
      loop.

Feedback (bug reports, user/development dicussion, patches, pull
requests) are greatly appreciated and handled via email.  We currently
piggy-back onto the public MogileFS
{mailing list}[mailto:mogile / googlegroups.com] for feedback.

If you do not want to deal with the corporate host of the MogileFS
mailing list, or if you wish to keep your issue secret, feel free to
email {Eric Wong at}[mailto:normalperson / yhbt.net].

Do not expect Eric Wong to read HTML mail under any circumstances.

-- 
Eric Wong