[Gluster-devel] libgfapi object api

Rudra Siva rudrasiva11 at gmail.com
Tue Nov 4 12:21:43 UTC 2014


Hi,

I am starting to write documentation for the object API and looking at
creating the specific FOPs - can someone review and provide input?

Should it go on the feature page while it is a work in progress?

What is the general process followed?

1. glfs_object_readv_{async}(const char* store_path, const char
*objects[], int num_objects, struct iovec* iov, int iovcnt, callback
fn);
   -> object_readv will read provided array of objects (atomically -
entire object) from the file system and return a response with the
results.
2. glfs_object_writev_{async}(const char* store_path, const char *
objects[], int num_objects, struct iovec* iov, int iovcnt, callback
fn);
   -> object_writev will write array of objects (atomically - entire
object) to the file system and return response with any error codes if
there are.
3. glfs_object_unlinkv_{async}(const char* store_path, const char *
objects[], int num_objects, callback fn)
   -> unlink will erase an array of objects from the file system.
4. glfs_object_search_{async}(const char* store_path, match_criteria
(name, could be some other criteria useful), callback fn)
   -> search base_path for matching objects and return object
information (size, date-time)

The store can be the file system with each object stored as a file on
it or it can be a key-value store. Initially planning to test
everything with file and then consider if RocksDb or LevelDb can be
used as the store.

If there are any suggestions please feel free to let me know.

-- 
-Siva


More information about the Gluster-devel mailing list