Skip to content

RFC Support rados locking

Douglas Fuller ceph-devel 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest6 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6Add support for userspace ceph DECODE_START.include/linux/ceph/decode.h+23 -00 replies
2/6ceph: add start/finish encoding helpersinclude/linux/ceph/decode.h+55 -00 replies
3/6auth.c: added ceph_entity_name_encodeinclude/linux/ceph/auth.h net/ceph/auth.c+13 -00 replies
4/6osd_client: added single object method callinclude/linux/ceph/osd_client.h net/ceph/osd_client.c+50 -00 replies
5/6cls_lock: add rados lockinginclude/linux/ceph/cls_lock.h net/ceph/Makefile net/ceph/cls_lock.c+186 -00 replies
6/6cls_lock: add support for lock_infoinclude/linux/ceph/cls_lock.h net/ceph/cls_lock.c+183 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH RFC 0/6] Support rados locking

Add decoding support for some commonly exchanged data structures. Adapt Mike's code to serve as a generic client for cls::lock in userspace.

Discussion points:
Is this how we want to represent object classes in the kernel client?

This defines ceph_locker to contain ceph_locker_id and ceph_locker_info from userspace. Is that what we want for adaptation of userspace data structures (in this case std::map<locker_id_t, locker_info_t>)?

There are quite a few strings in these data structures. Do we want to add utility functions to properly free them at some level?

Douglas Fuller (4):
auth.c: added ceph_entity_name_encode
osd_client: added single object method call
cls_lock: add rados locking
cls_lock: add support for lock_info

Mike Christie (2):
Add support for userspace ceph DECODE_START.
ceph: add start/finish encoding helpers

 include/linux/ceph/auth.h       |   2 +
 include/linux/ceph/cls_lock.h   |  39 +++++
 include/linux/ceph/decode.h     |  78 ++++++++++
 include/linux/ceph/osd_client.h |   6 +
 net/ceph/Makefile               |   1 +
 net/ceph/auth.c                 |  11 ++
 net/ceph/cls_lock.c             | 329 ++++++++++++++++++++++++++++++++++++++++
 net/ceph/osd_client.c           |  44 ++++++
 8 files changed, 510 insertions(+)
 create mode 100644 include/linux/ceph/cls_lock.h
 create mode 100644 net/ceph/cls_lock.c
Signature · 1 line
1.9.3