Return-Path: linux-nfs-owner@vger.kernel.org Received: from cobra.newdream.net ([66.33.216.30]:43730 "EHLO cobra.newdream.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750784Ab3LGF5U (ORCPT ); Sat, 7 Dec 2013 00:57:20 -0500 Date: Fri, 6 Dec 2013 21:57:20 -0800 (PST) From: Sage Weil To: Mark Doffman cc: ceph-devel@vger.kernel.org, Rob Taylor , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-nfs@vger.kernel.org Subject: Re: [PATCH 2/4] Documentation: Document the cephroot functionality In-Reply-To: <1385000024-23463-3-git-send-email-mark.doffman@codethink.co.uk> Message-ID: References: <1385000024-23463-1-git-send-email-mark.doffman@codethink.co.uk> <1385000024-23463-3-git-send-email-mark.doffman@codethink.co.uk> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-nfs-owner@vger.kernel.org List-ID: On Wed, 20 Nov 2013, mark.doffman@codethink.co.uk wrote: > From: Rob Taylor > > Document using the cephfs as a root device, its purpose, > functionality and use. > > Signed-off-by: Mark Doffman > Signed-off-by: Rob Taylor > Reviewed-by: Ian Molton > --- > Documentation/filesystems/{ => ceph}/ceph.txt | 0 > Documentation/filesystems/ceph/cephroot.txt | 81 +++++++++++++++++++++++++++ > 2 files changed, 81 insertions(+) > rename Documentation/filesystems/{ => ceph}/ceph.txt (100%) > create mode 100644 Documentation/filesystems/ceph/cephroot.txt > > diff --git a/Documentation/filesystems/ceph.txt b/Documentation/filesystems/ceph/ceph.txt > similarity index 100% > rename from Documentation/filesystems/ceph.txt > rename to Documentation/filesystems/ceph/ceph.txt > diff --git a/Documentation/filesystems/ceph/cephroot.txt b/Documentation/filesystems/ceph/cephroot.txt > new file mode 100644 > index 0000000..ae0f5bb > --- /dev/null > +++ b/Documentation/filesystems/ceph/cephroot.txt > @@ -0,0 +1,81 @@ > +Mounting the root filesystem via Ceph (cephroot) > +=============================================== > + > +Written 2013 by Rob Taylor > + > +derived from nfsroot.txt: > + > +Written 1996 by Gero Kuhlmann > +Updated 1997 by Martin Mares > +Updated 2006 by Nico Schottelius > +Updated 2006 by Horms > + > + > + > +In order to use a diskless system, such as an X-terminal or printer server > +for example, it is necessary for the root filesystem to be present on a > +non-disk device. This may be an initramfs (see Documentation/filesystems/ > +ramfs-rootfs-initramfs.txt), a ramdisk (see Documentation/initrd.txt), a > +filesystem mounted via NFS or a filesystem mounted via Ceph. The following > +text describes on how to use Ceph for the root filesystem. > + > +For the rest of this text 'client' means the diskless system, and 'server' > +means the Ceph server. > + > + > +1.) Enabling cephroot capabilities > + ----------------------------- > + > +In order to use cephroot, CEPH_FS needs to be selected as > +built-in during configuration. Once this has been selected, the cephroot > +option will become available, which should also be selected. > + > +In the networking options, kernel level autoconfiguration can be selected, > +along with the types of autoconfiguration to support. Selecting all of > +DHCP, BOOTP and RARP is safe. > + > + > +2.) Kernel command line > + ------------------- > + > +When the kernel has been loaded by a boot loader (see below) it needs to be > +told what root fs device to use. And in the case of cephroot, where to find > +both the server and the name of the directory on the server to mount as root. > +This can be established using the following kernel command line parameters: > + > +root=/dev/ceph > + > +This is necessary to enable the pseudo-Ceph-device. Note that it's not a > +real device but just a synonym to tell the kernel to use Ceph instead of > +a real device. > + > +cephroot=:/[], > + > + Monitor address. Each takes the form host[:port]. If the port > + is not specified, the Ceph default of 6789 is assumed. > + > + A subdirectory subdir may be specified if a subset of the file > + system is to be mounted > + > + Standard Ceph options. All options are separated by commas. > + See Documentation/filesystems/ceph/ceph.txt for options and > + their defaults. Maybe there is an existing convention here, but: it seems like it would be simpler to do something like cephroot=][,...]>:/[] i.e., the existing syntax used by mount, that (among other things) can also include a port, or be a list of mon ips, so that the parsing code can be re-used. Then, cephopts= Hopefully this would avoid the parsing in root.c and make things behave more consistently with respect to how mount(8) is used? sage > + > +4.) References > + ---------- > + > + > +5.) Credits > + ------- > + > + cephroot was derived from nfsroot by Rob Taylor > + and Mark Doffman > + > + The nfsroot code in the kernel and the RARP support have been written > + by Gero Kuhlmann . > + > + The rest of the IP layer autoconfiguration code has been written > + by Martin Mares . > + > + In order to write the initial version of nfsroot I would like to thank > + Jens-Uwe Mager for his help. > -- > 1.8.4 > > -- > 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 > >