Re: [PATCH] ceph: rbd option listing and tcp_nodelay support

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

 



On Wed, Jan 21, 2015 at 11:02 PM, Somnath Roy <Somnath.Roy@xxxxxxxxxxx> wrote:
> <<inline
>
> -----Original Message-----
> From: Ilya Dryomov [mailto:ilya.dryomov@xxxxxxxxxxx]
> Sent: Wednesday, January 21, 2015 11:47 AM
> To: Somnath Roy
> Cc: Chaitanya Huilgol; Ceph Development
> Subject: Re: [PATCH] ceph: rbd option listing and tcp_nodelay support
>
> On Wed, Jan 21, 2015 at 10:29 PM, Somnath Roy <Somnath.Roy@xxxxxxxxxxx> wrote:
>> Ilya,
>> Regarding supported attribute list,  I think it could be a step towards better usability experience during rbd map command. Presently, if user gives wrong option or unsupported option it just errors out saying 'sysfs write failed' or so. User has no idea what went wrong.
>
> # rbd map -o foobar test
> rbd: unknown map option 'foobar'
> rbd: couldn't parse map options
>
> # rbd map -o fsid=foobar test
> rbd: invalid fsid value 'foobar'
> rbd: couldn't parse map options
>
> Since about a year ago, rbd cli would try to parse supplied options.
> Of course, the list of options it knows about is static, but your attribute wouldn't solve that problem (or rather it will, but only for simple boolean yes/no options, like crc or tcp_nodelay) because we also try to sanity check the value, as the above fsid example shows.
>
> [Somnath] Hmm..I missed that it seems.  Yes, for Boolean attributes kernel compatibility check should be able to flag that.
>
>> We can use this supported list from kernel module from rbd cli to show proper error message to the user.
>> Another feature that we have implemented is rbd cli to consult the /etc/ceph/ceph.conf and take the rbd kernel supported options from there automatically if user has not provided any option during rbd map. User provided option during rbd map will always get priority though.
>
> Did you mean "and take rbd kernel map options", i.e. take default map options from ceph.conf?  I think that's a good idea.
> [Somnath] Yes, whatever is common, like crc (ms_nocrc in ceph.conf) , tcp_nodelay (ms_tcp_nodelay in ceph.conf)

I was thinking more along the lines of a static "rbd default map
options" field in ceph.conf, e.g.

rbd default map options = "nocrc,tcp_nodelay"

which can then be overwritten by rbd map -o.

The thing is, kernel msgr will always be a stripped down version of
userspace msgr, and on top of that we are bound to have some kernel
client specific options.  Having both "rbd default map options" and
pulling out values for whatever options are common sounds like it can
be a bit confusing - we will have three layers of options settings to
deal with (common options, rbd_default_map_options, rbd map -o).
Sage, do you think it's worth it?

Thanks,

                Ilya
--
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