From: Wido den Hollander <wido@42on.com>
To: Dan Mick <dan.mick@inktank.com>
Cc: Gregory Farnum <greg@inktank.com>,
"ceph-devel@vger.kernel.org" <ceph-devel@vger.kernel.org>
Subject: Re: rados_pool_list usage
Date: Wed, 27 Mar 2013 19:24:59 +0100 [thread overview]
Message-ID: <5153397B.3010301@42on.com> (raw)
In-Reply-To: <51532F0E.2070705@inktank.com>
On 03/27/2013 06:40 PM, Dan Mick wrote:
> It looks like it attempts to behave as documented (somewhat surprisingly
> and fragile-ly, IMO; I would have made it all-or-nothing and return
> nothing in buf if len is too small).
>
> The Python binding retries/resizes until it can return them all.
>
> What do you think is wrong, Wido?
>
Well, I think I kind of misread the description..
I didn't see the @return part of it which confused me about how it works.
There is a typo though: "List objects in a pool"
That should be: "List all pools"
Wido
> On 03/27/2013 08:59 AM, Gregory Farnum wrote:
>>
>>
>> On Wednesday, March 27, 2013 at 1:59 AM, Wido den Hollander wrote:
>>
>>> Hi,
>>>
>>> While working with rados_pool_list I stumbled upon what I think is a
>>> documentation issue.
>>>
>>> librados.h tells me this:
>>>
>>> /**
>>> * List objects in a pool
>>> *
>>> * Gets a list of pool names as NULL-terminated strings. The pool
>>> * names will be placed in the supplied buffer one after another.
>>> * After the last pool name, there will be two 0 bytes in a row.
>>> *
>>> * If len is too short to fit all the pool name entries we need, we
>>> will fill
>>> * as much as we can.
>>> *
>>> * @param cluster cluster handle
>>> * @param buf output buffer
>>> * @param len output buffer length
>>> * @returns length of the buffer we would need to list all pools
>>> */
>>> int rados_pool_list(rados_t cluster, char *buf, size_t len);
>>>
>>> "If len is too short to fit all the pool name entries we need, we will
>>> fill as much as we can."
>>>
>>> From what I could remember it would return the length required if "len"
>>> isn't long enough. Looking at the Python and PHP bindings (which I
>>> wrote) it seems that is correct.
>>>
>>> It also says: "@returns length of the buffer we would need to list all
>>> pools"
>>>
>>> Docs issue I guess?
>> It certainly returns the amount of space needed; does it not also fill
>> in the given buffer with however many pools it could? (It might not,
>> but those sentences aren't contradictory in my mind.)
>> -Greg
>> Software Engineer #42 @ http://inktank.com | http://ceph.com
>>
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
--
Wido den Hollander
42on B.V.
Phone: +31 (0)20 700 9902
Skype: contact42on
next prev parent reply other threads:[~2013-03-27 18:25 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-27 8:59 rados_pool_list usage Wido den Hollander
2013-03-27 15:59 ` Gregory Farnum
2013-03-27 17:40 ` Dan Mick
2013-03-27 18:24 ` Wido den Hollander [this message]
2013-03-27 20:40 ` Dan Mick
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5153397B.3010301@42on.com \
--to=wido@42on.com \
--cc=ceph-devel@vger.kernel.org \
--cc=dan.mick@inktank.com \
--cc=greg@inktank.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.