All of lore.kernel.org
 help / color / mirror / Atom feed
From: Li Wang <liwang@ubuntukylin.com>
To: ceph-devel@vger.kernel.org
Cc: Sage Weil <sage@inktank.com>, Li Wang <liwang@ubuntukylin.com>,
	Yunchuan Wen <yunchuanwen@ubuntukylin.com>
Subject: [PATCH v6] ceph: Inline data support
Date: Tue, 14 Jan 2014 16:14:03 +0800	[thread overview]
Message-ID: <cover.1389686940.git.liwang@ubuntukylin.com> (raw)

This patch implements inline data support for Ceph.
Review at:
https://github.com/ceph/ceph/pull/1081
Pull at:
https://github.com/kylinstorage/ceph.git wip-inline

Li Wang (23):
  ceph: Add inline data feature
  ceph: Add inline state definition

Signed-off-by: Yunchuan Wen <yunchuanwen@ubuntukylin.com>
Signed-off-by: Li Wang <liwang@ubuntukylin.com>
---
Against v5:
Remove two unnecessary lines of codes according to Zheng's comments

Against v4:
Forbid old mds without inline support to join inline ever enabled mds cluster
Kick out old mds without inline support when inline enabled
Return EPERM to old client without inline support when it is trying to open inlined file

Use version_t instead of __u64 for inline version

Against v3:
Add the inline switch and make inline size tunable
Improve the back compatibility of mds from (9, 9) to (9, 6), provided the inlinefeature is disabled until all mds upgraded to support inline

Against v2:
Streamline the inline data migration with the subsequent read/write

Against v1:
With simplified process under multiple-writer case,
referred to
http://pad.ceph.com/p/mds-inline-data,
http://www.spinics.net/lists/ceph-devel/msg16018.html
  mds: Add inline fields to inode_t
  mds: Add inline encode/decode to inode_t
  ceph: Add inline fields to MClientCaps
  osdc: Add write method with truncate parameters
  mds: Add inline fields to Capability
  mds: Push inline data to client in cap message
  ceph: Add inline fields to InodeStat
  mds: Push inline data to client in inodestat
  mds: Receive updated inline data from client
  client: Add inline fields to Inode
  client: Receive inline data pushed from mds
  client: Push inline data to mds by send cap
  client: Add inline data migration helper
  client: Read inline data path
  client: Write inline data path
  client: Fallocate inline data path
  client: Make inline size tunable
  mds: Add inline switch
  mds: Shutdown old mds when inline enable
  mds: Handle client compatibility
  client: Avoid uninline empty inline data

 src/ceph_mds.cc             |    1 +
 src/client/Client.cc        |  284 +++++++++++++++++++++++++++++++++++++++----
 src/client/Client.h         |    4 +
 src/client/Inode.h          |    5 +
 src/common/config_opts.h    |    1 +
 src/include/ceph_features.h |    2 +
 src/include/ceph_fs.h       |    3 +
 src/mds/CInode.cc           |   25 ++++
 src/mds/Capability.h        |    2 +
 src/mds/Locker.cc           |   11 ++
 src/mds/MDS.cc              |    5 +-
 src/mds/MDS.h               |    3 +
 src/mds/MDSMap.cc           |   25 +++-
 src/mds/MDSMap.h            |   12 +-
 src/mds/Server.cc           |   11 ++
 src/mds/mdstypes.cc         |   12 +-
 src/mds/mdstypes.h          |    3 +
 src/messages/MClientCaps.h  |   19 ++-
 src/messages/MClientReply.h |    9 ++
 src/mon/MDSMonitor.cc       |    9 +-
 src/mon/MonCommands.h       |    6 +
 src/osdc/Objecter.h         |   10 +-
 22 files changed, 424 insertions(+), 38 deletions(-)

-- 
1.7.9.5


                 reply	other threads:[~2014-01-14  8:14 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=cover.1389686940.git.liwang@ubuntukylin.com \
    --to=liwang@ubuntukylin.com \
    --cc=ceph-devel@vger.kernel.org \
    --cc=sage@inktank.com \
    --cc=yunchuanwen@ubuntukylin.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.