Re: proposed C API for librados

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 23 Feb 2011, Colin McCabe wrote:
> Yeah, should add something like that. Maybe something like this:
> 
> int rados_pool_list(rados_t cluster, char ***pools)
> void rados_pool_list_free(char **pools)
>
> Also should rename
> rados_snap_set_read -> rados_snap_set_read_context for consistency.

Well, on the read side, it's not actually a context.  You just need to 
specify a snapid.  On the write side, the context tells the OSDs which 
snapshots to keep/cow when doing a write.  You can't write to a snapshot.  
I'm not sure the details are relevant to API users, but at the very least 
I don't think there is a clear symmetry between the read/write side to 
make the calls look consistent.  This way it's clear they're not...

Also,

> >> int rados_write(rados_pool_t pool, const char *oid, off_t off, const
> >> char *buf, size_t len);
> >> int rados_write_full(rados_pool_t pool, const char *oid, off_t off,
> >> const char *buf, size_t len);
> >> int rados_read(rados_pool_t pool, const char *oid, off_t off, char
> >> *buf, size_t len);

> >> int rados_aio_write(rados_pool_t pool, const char *oid,
> >>                    off_t off, const char *buf, size_t len,
> >>                    rados_completion_t completion);
> >> int rados_aio_write_full(rados_pool_t pool, const char *oid,
> >>                         off_t off, const char *buf, size_t len,
> >>                         rados_completion_t completion);
> >> int rados_aio_read(rados_pool_t pool, const char *oid,
> >>                   off_t off, char *buf, size_t len,
> >>                   rados_completion_t completion);

The argument order for these is weird... not quite sure what I was 
thinking.  Let's do whatever pread and pwrite do?

sage

[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux