[v4,00/12] rbd journaling feature
mbox series

Message ID 1569402454-4736-1-git-send-email-dongsheng.yang@easystack.cn
Headers show
  • rbd journaling feature
Related show


Dongsheng Yang Sept. 25, 2019, 9:07 a.m. UTC
Hi Ilya, Jason and all:
	This is V4 fro krbd journaling feature. Please help to review. thanx

	kernel branch: https://github.com/yangdongsheng/linux/tree/krbd_journaling_v4
	ceph qa branch: https://github.com/yangdongsheng/ceph/tree/krbd_mirror_qa

	- from v3:
		1 Fix multi-events for single write problem. And I added a test case
		    in rbd_mirror.sh for it: https://github.com/yangdongsheng/ceph/commit/cb1f2d10d7c206afbd05718868401e6c2ee13e0c#diff-64d0a5a0c5330ed542d2b395a20b0a97R31
		2 Add zeroout event support. And I added a test case in rbd_mirror.sh:
		3 Fix call chain problem found in iozone testing.
		4 coding-style. fixed some coding-style problem. In addition, I tried clang-format
		  to do a double check.

Dongsheng Yang (12):
  libceph: introduce ceph_extract_encoded_string_kvmalloc
  libceph: introduce a new parameter of workqueue in ceph_osdc_watch()
  libceph: support op append
  libceph: add prefix and suffix in ceph_osd_req_op.extent
  libceph: introduce cls_journal_client
  libceph: introduce generic journaler module
  rbd: introduce completion for each img_request
  rbd: introduce IMG_REQ_NOLOCK flag for image request state
  rbd: introduce rbd_journal_allocate_tag to allocate journal tag for
    rbd client
  rbd: append journal event in image request state machine
  rbd: replay events in journal
  rbd: add support for feature of RBD_FEATURE_JOURNALING

 drivers/block/rbd.c                     |  698 +++++++++-
 include/linux/ceph/cls_journal_client.h |   84 ++
 include/linux/ceph/decode.h             |   21 +-
 include/linux/ceph/journaler.h          |  182 +++
 include/linux/ceph/osd_client.h         |   21 +
 net/ceph/Makefile                       |    3 +-
 net/ceph/cls_journal_client.c           |  527 ++++++++
 net/ceph/journaler.c                    | 2205 +++++++++++++++++++++++++++++++
 net/ceph/osd_client.c                   |   61 +-
 9 files changed, 3790 insertions(+), 12 deletions(-)
 create mode 100644 include/linux/ceph/cls_journal_client.h
 create mode 100644 include/linux/ceph/journaler.h
 create mode 100644 net/ceph/cls_journal_client.c
 create mode 100644 net/ceph/journaler.c