Re: libceph API

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

 



On Wed, Apr 20, 2011 at 10:03 PM, Sage Weil <sage@xxxxxxxxxxxx> wrote:
> On Wed, 20 Apr 2011, Colin McCabe wrote:
>> Hi guys,
>>
>> I pushed a branch with a revised libceph API. The main changes:
>>
>> * similar appearance to librados. It should be intuitive if you've
>> used librados.
>> * The new API allows multiple ceph clusters to be open at once
>> (although the implementation doesn't support this yet)
>> * ability to pass a "root" argument to ceph_mount
>> * add support for reading configuration files and choosing whether to parse argv
>> * simpler ceph_getcwd
>> * unmount can't fail (the library always cleans up after itself)
>>
>> The branch is at
>> http://ceph.newdream.net/git/?p=ceph.git;a=shortlog;h=refs/heads/libceph_api
>>
>> Let me know what you think!
>
> Can we combine the ceph_connect() and ceph_mount() into one thing?  Does
> that make sense?  If so, maybe it should be ceph_mount_t and not
> ceph_cluster_t or something.

Good idea.

>
> The (re/ab)use of DIR* was possibly not the wisest choice in the original
> API (and Client.h for that matter?).  Now might be the time to use a more
> reasonably named typedef.

Looking at client/Client.cc, it seems to be using DIR* as a kind of
opaque pointer. Not a good call, because DIR is not opaque to anyone
who has included dirent.h.

I'll try replacing it with libceph_dir_t* or something like that.

>
> A few of the methods can probably go away (things like ceph_mkdirs) or be
> cleaned up (the layout get/set stuff).

Looks like Hadoop and Hypertable are using mkdirs. Hadoop doesn't seem
to have a "regular" mkdir... looks like everything is created via the
equivalent of mkdir -p. Maybe that is a good enough reason to keep it?
I don't know.

The get/set functions for layout do seem to need a cleanup. There's no
getter for default_file_strip_count, for one thing. Also the names
don't seem to quite match between the getters and setters, which
doesn't help.

sincerely,
Colin
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[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