On 08/23/2012 10:58 PM, MORITA Kazutaka wrote: > This introduces a storage driver 'simple_store' based on the current > storage interface. The design of the new simple_store is similar to > one of the farm driver. The main difference is that farm uses the > sha1 based backend store for stale objects, but simple_store uses a > flat directory for them. With this design, simple_store can move > objects from the working directory to the backend store efficiently > with rename(2). > > Here are pros vs cons of simple_store. > > Pros: > - faster recovery > - smaller and simpler > - would be a good example to introduce other storage drivers > > Cons: > - cluster snapshot is not supported > - stale objects are not deduplicated > - there is no sha1 verification
I am also in favor of simple implementation. I think a dedicated .stale directory idea could also apply to Farm. So How about following approach: merge simple store into Farm, then it actually run the code as current simple store. That is, use .stale only for recovery and trunk & snap for snapshot objects. By modularizing Farm, we can share one code base for better development and won't lose features that Farm provides. Trunk & snap design looks complicated for now, but it is actually useful as a building block for future more advanced features, for e.g, we can store all read-only base VDI objects as sha1 objects to enjoy the data reduction. (From our internal usage of Sheepdog, we observe a heavy use of 'template', so this reduction could be rather promising). Thanks, Yuan -- sheepdog mailing list sheepdog@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/sheepdog