From bb137ba5bd37f625f3485ccb03a2fc25e35b2ad4 Mon Sep 17 00:00:00 2001 From: Kaushal M Date: Tue, 15 Mar 2016 17:38:48 +0530 Subject: Add feature page for sub-directory mounts. Change-Id: I395b2b60a7f0f9df0da14a70d21c89fa8016f7d7 Signed-off-by: Kaushal M Reviewed-on: http://review.gluster.org/13743 Reviewed-by: Pranith Kumar Karampuri Tested-by: Pranith Kumar Karampuri --- under_review/subdirectory-mounts.md | 122 ++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 under_review/subdirectory-mounts.md diff --git a/under_review/subdirectory-mounts.md b/under_review/subdirectory-mounts.md new file mode 100644 index 0000000..493dc8f --- /dev/null +++ b/under_review/subdirectory-mounts.md @@ -0,0 +1,122 @@ +Feature +------- + +Native sub-directory mount for GlusterFS + +Summary +------- + +Native sub-directory mount support will allow GlusterFS clients to directly mount sub-directories in a GlusterFS volume. This support will be modeled after NFSs sub-directory mount support. + +Owners +------ + +Pranith K +Kaushal M + +Current status +-------------- + +Proposed and Design under discussion. Two partial implementations are under review at [1][1] and [2][2]. + +[1]: https://review.gluster.org/10186 +[2]: https://review.gluster.org/13659 + +Related Feature Requests and Bugs +--------------------------------- + +https://bugzilla.redhat.com/show_bug.cgi?id=892808 + +Detailed Description +-------------------- + +Just like in NFS sub-directory mount support will be enabled on all created GlusterFS volumes. +To mount a sub-directory, a client will just need to pass the path along with the mount command. +For eg, +`mount -t glusterfs glhost1:/testvol/this/is/a/subdir` +would mount the `this/is/a/subdir` directory on the client. +The client will only get access to the contents under the mounted directory, +and will not be able to access any other part of the volume. + +As with NFS, administrators will be able to set access control permissions on the sub-directories. +Permissions could be set on IPs, hostnames, TLS common names or netgroups. (This is to be finalized) + + +Benefit to GlusterFS +-------------------- +- Makes the native mounts more similar to NFS +- GlusterFS will be more attractive for a "storage as a service" use case. + + + +Scope +----- + +#### Nature of proposed change + +Changes will be required in, +- the server xlator to + - handle sub-directory mount requests + - do proper access control with both normal and TLS connections. +- the client xlator to send sub-directory mount requests +- the fuse xlator to use a sub-directory as root of a mount +- libgfapi will need similar changes to fuse +- mount.glusterfs script to correctly parse mount command +- glusterfsd to accept a sub-directory as an option + +#### Implications on manageability + +- `auth.*` options will need to be enhanced, or new options created to set access control permissions for sub-directories. +- Same needs to be done for `auth.ssl-allow` + +#### Implications on presentation layer + +- A FUSE client performing a sub-directory mount will only be able access the sub-directory and its children. + +#### Implications on persistence layer + +None. + +#### Implications on 'GlusterFS' backend + +None. + +#### Modification to GlusterFS metadata + +None. + +#### Implications on 'glusterd' + +- Volinfo files will contain new entries when sub-directory ACLs have been set. + +How To Test +----------- + +All IO tests performed on a full GlusterFS volume mount, should pass on a sub-directory mount. + +User Experience +--------------- + +The CLI will have support to set access control options on sub-directories. Actual CLI syntax is not finalized yet. + +The GlusterFS mount command will allow sub-directories as a prefix after the volume name, same as NFS. +For eg. `mount -t glusterfs gluster-server:/large-volume/a/directory` + +Dependencies +------------ + +None. + +Documentation +------------- + +The man-pages, `--help` output and Admin guide will need to be update to reflect support for sub-directory mounts. They should also be updated with the proper sub-directory ACL documentation. + +Status +------ + +See "Current Status" + +Comments and Discussion +----------------------- + -- cgit