]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
Add KeyValueStore implementation
authorHaomai Wang <haomaiwang@gmail.com>
Wed, 29 Jan 2014 09:50:10 +0000 (17:50 +0800)
committerHaomai Wang <haomaiwang@gmail.com>
Wed, 29 Jan 2014 13:50:15 +0000 (21:50 +0800)
commit972d4b24c49ead4cbcb16df580a72a0522a8c479
tree84706cbee37955fcf492ceea1ad123515e13f00e
parent8fb366f0895e783fe8bc90d71bf65c50af710ef9
Add KeyValueStore implementation

KeyValueStore is another ObjectStore implementation with FileStore. It
uses KV store wrapper(StripObjectMap) which inherited GenericObjectMap
to implement ObjectStore APIs.

Each object has a header key in KV backend, which encapsulated the metadata
of object such as size, the status of keys. A complete object data maybe spread
around multi keys. The CRUD operation of object need to access the header key
of object to know the details, then the actual data keys will be get.

Now the actual KV backend of KeyValueStore is only LevelDB, more KV backend
(RocksDB, NVM API) will be introduced in the near future.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
src/os/KeyValueStore.cc [new file with mode: 0644]
src/os/KeyValueStore.h [new file with mode: 0644]
src/os/Makefile.am
src/os/ObjectStore.cc