Discussion:
[fedfs-utils] [PATCH 0/6] Proposing fedfs-utils 0.10.5
Chuck Lever
2015-10-23 19:07:01 UTC
Permalink
The fifth maintenance release of fedfs-utils 0.10 fixes several
bugs in the fedfs-utils administrative tools.

Review period ends at 11:59pm ET on Friday, October 30, 2015.

---

Chuck Lever (6):
build: Ignore "compile"
fedfsc: Remove vestigial dash switches for position arguments
nsdbparms: Remove vestigial dash switches for position arguments
fedfs-domainroot: Do not set "mp" export option
fedfs-domainroot: Add "fsid=" export option
Release 0.10.5


.gitignore | 1 +
README | 2 +-
configure.ac | 2 +-
doc/man/fedfs-lookup-replication.8.in | 5 -----
src/PyFedfs/domainroot/exports.py | 9 +++++----
src/fedfsc/fedfs-lookup-replication.c | 4 ----
src/nsdbparams/update.c | 4 ----
7 files changed, 8 insertions(+), 19 deletions(-)

--
Chuck Lever
Chuck Lever
2015-10-23 19:07:09 UTC
Permalink
Recent versions of automake add a "compile" file. "git status"
should ignore it.

Signed-off-by: Chuck Lever <***@oracle.com>
---
.gitignore | 1 +
1 file changed, 1 insertion(+)

diff --git a/.gitignore b/.gitignore
index 12ffd96..4401770 100644
--- a/.gitignore
+++ b/.gitignore
@@ -78,3 +78,4 @@ depcomp
.stgit*
py-compile
cov-int/
+compile
Chuck Lever
2015-10-23 19:07:17 UTC
Permalink
Commit 54713f0416e6 missed a couple of places where dash switches
were replaced with the use of positional command line arguments.

Coverity: 126105

Fixes: 54713f0416e6 ("fedfsc: Specify manadatory arguments . . .")
Signed-off-by: Chuck Lever <***@oracle.com>
---
doc/man/fedfs-lookup-replication.8.in | 5 -----
src/fedfsc/fedfs-lookup-replication.c | 4 ----
2 files changed, 9 deletions(-)

diff --git a/doc/man/fedfs-lookup-replication.8.in b/doc/man/fedfs-lookup-replication.8.in
index 710e257..0cc3482 100644
--- a/doc/man/fedfs-lookup-replication.8.in
+++ b/doc/man/fedfs-lookup-replication.8.in
@@ -124,11 +124,6 @@ If this option is not specified, the default value is
See
.BR rpc (3t)
for details.
-.IP "\fB\-p, \-\-path=\fIpathname\fP"
-Specifies the location on the remote server where the target FedFS replication
-resides.
-This pathname is relative to the remote server's physical root directory,
-not the remote server's NFS pseudoroot.
.IP "\fB\-t, \-\-resolvetype=\fItype\fP"
Specifies the desired type of resolution. Valid values for
.I type
diff --git a/src/fedfsc/fedfs-lookup-replication.c b/src/fedfsc/fedfs-lookup-replication.c
index c6f0b2c..c8a1ebf 100644
--- a/src/fedfsc/fedfs-lookup-replication.c
+++ b/src/fedfsc/fedfs-lookup-replication.c
@@ -282,7 +282,6 @@ main(int argc, char **argv)
nettype = "netpath";
security = "unix";
resolvetype = "none";
- path = NULL;
while ((arg = getopt_long(argc, argv, fedfs_lookup_replication_opts,
fedfs_lookup_replication_longopts, NULL)) != -1) {
switch (arg) {
@@ -295,9 +294,6 @@ main(int argc, char **argv)
case 'n':
nettype = optarg;
break;
- case 'p':
- path = optarg;
- break;
case 's':
security = optarg;
break;
Chuck Lever
2015-10-23 19:07:25 UTC
Permalink
Finish cleaning up places where dash switches were replaced with
the use of positional command line arguments.

Coverity: 126106

Fixes: aad8b7daebca ("nsdbparams: Use positional parameters . . .")
Signed-off-by: Chuck Lever <***@oracle.com>
---
src/nsdbparams/update.c | 4 ----
1 file changed, 4 deletions(-)

diff --git a/src/nsdbparams/update.c b/src/nsdbparams/update.c
index 2d1526d..0c3ec7c 100644
--- a/src/nsdbparams/update.c
+++ b/src/nsdbparams/update.c
@@ -57,7 +57,6 @@ static const struct option nsdbparams_update_longopts[] = {
{ "gid", 1, NULL, 'g', },
{ "help", 0, NULL, '?', },
{ "nce", 1, NULL, 'e', },
- { "nsdbname", 1, NULL, 'l', },
{ "nsdbport", 1, NULL, 'r', },
{ "referral", 1, NULL, 'R', },
{ "sectype", 1, NULL, 't', },
@@ -311,9 +310,6 @@ nsdbparams_update(const char *progname, int argc, char **argv)
case '?':
nsdbparams_update_usage(progname);
goto out;
- case 'l':
- nsdbname = optarg;
- break;
case 'r':
if (!nsdb_parse_port_string(optarg, &nsdbport)) {
xlog(L_ERROR, "Bad port number: %s",
Chuck Lever
2015-10-23 19:07:33 UTC
Permalink
After setting up a new domain root, NFS clients were seeing
NFS4ERR_DELAY repeatedly when trying to access the domain root
export.

Each domain root export is of a bind mount to a directory under
/var/lib/fedfs. This forces the kernel to upcall to see whether
there is a different security policy in effect for each domain
root directory.

The "mp" export option is specified to ensure the bind mount has
completed before the NFS server exports the domain root. Removing
the "mp" export option allows clients to access the domain root
directory.
I guess it's using is_mountpoint() to check whether there's
something mounted there, and waiting if not. And is_mountpoint()
We deem it to be a mountpoint if appending a ".." gives a
different device or the same inode number.
And I guess the bind mounts are failing that test.
Eventually the bind mounts should be replaced with something more
robust. But for 0.10-stable, just get rid of the "mp" option.

Signed-off-by: Chuck Lever <***@oracle.com>
---
src/PyFedfs/domainroot/exports.py | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/PyFedfs/domainroot/exports.py b/src/PyFedfs/domainroot/exports.py
index 20597dc..cc0b4c0 100644
--- a/src/PyFedfs/domainroot/exports.py
+++ b/src/PyFedfs/domainroot/exports.py
@@ -63,12 +63,10 @@ def add_exports_entry(pathname):
config.set('/files/etc/exports/dir[last()]/client[1]/option[1]',
'ro')
config.set('/files/etc/exports/dir[last()]/client[1]/option[2]',
- 'mp')
- config.set('/files/etc/exports/dir[last()]/client[1]/option[3]',
'subtree_check')
- config.set('/files/etc/exports/dir[last()]/client[1]/option[4]',
+ config.set('/files/etc/exports/dir[last()]/client[1]/option[3]',
'insecure')
- config.set('/files/etc/exports/dir[last()]/client[1]/option[5]',
+ config.set('/files/etc/exports/dir[last()]/client[1]/option[4]',
'sec=sys:none')

ret = EXIT_SUCCESS
Chuck Lever
2015-10-23 19:07:41 UTC
Permalink
The purpose of creating a separate export for each domain root
directory is to allow domain administrators to specify a distinct
security policy on each domain root directory. However, current NFS
clients need to see an FSID change when crossing a security policy
boundary on NFS servers.

Force an FSID change by specifying "fsid=" on each exported domain
root directory. The domain root mechanism may be replaced in
subsequent fedfs-utils released with something more robust, thus for
now this is a change only for 0.10-stable.

Signed-off-by: Chuck Lever <***@oracle.com>
---
src/PyFedfs/domainroot/exports.py | 3 +++
1 file changed, 3 insertions(+)

diff --git a/src/PyFedfs/domainroot/exports.py b/src/PyFedfs/domainroot/exports.py
index cc0b4c0..b6ce926 100644
--- a/src/PyFedfs/domainroot/exports.py
+++ b/src/PyFedfs/domainroot/exports.py
@@ -24,6 +24,7 @@ try:
import sys
import logging as log
import augeas
+ import uuid

from PyFedfs.domainroot.parse_file import parse_file

@@ -68,6 +69,8 @@ def add_exports_entry(pathname):
'insecure')
config.set('/files/etc/exports/dir[last()]/client[1]/option[4]',
'sec=sys:none')
+ config.set('/files/etc/exports/dir[last()]/client[1]/option[5]',
+ 'fsid=' + str(uuid.uuid4()))

ret = EXIT_SUCCESS
try:
Chuck Lever
2015-10-23 19:07:49 UTC
Permalink
o Fix more bugs in admin tools

Signed-off-by: Chuck Lever <***@oracle.com>
---
README | 2 +-
configure.ac | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/README b/README
index c9c0894..65a1bb6 100644
--- a/README
+++ b/README
@@ -9,7 +9,7 @@ SCM: git://git.linux-nfs.org/projects/cel/fedfs-utils.git
Bugzilla: https://oss.oracle.com/bugzilla


-Release notes for fedfs-utils 0.10.4
+Release notes for fedfs-utils 0.10.5


Release Quality Statement
diff --git a/configure.ac b/configure.ac
index 7345338..3232258 100644
--- a/configure.ac
+++ b/configure.ac
@@ -27,7 +27,7 @@
#

AC_PREREQ([2.65])
-AC_INIT([fedfs-utils], [0.10.4], [fedfs-utils-***@oss.oracle.com])
+AC_INIT([fedfs-utils], [0.10.5], [fedfs-utils-***@oss.oracle.com])
AC_CANONICAL_BUILD([])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
Chuck Lever
2015-10-31 21:27:14 UTC
Permalink
Post by Chuck Lever
The fifth maintenance release of fedfs-utils 0.10 fixes several
bugs in the fedfs-utils administrative tools.
Review period ends at 11:59pm ET on Friday, October 30, 2015.
Committed.
Post by Chuck Lever
---
build: Ignore "compile"
fedfsc: Remove vestigial dash switches for position arguments
nsdbparms: Remove vestigial dash switches for position arguments
fedfs-domainroot: Do not set "mp" export option
fedfs-domainroot: Add "fsid=" export option
Release 0.10.5
.gitignore | 1 +
README | 2 +-
configure.ac | 2 +-
doc/man/fedfs-lookup-replication.8.in | 5 -----
src/PyFedfs/domainroot/exports.py | 9 +++++----
src/fedfsc/fedfs-lookup-replication.c | 4 ----
src/nsdbparams/update.c | 4 ----
7 files changed, 8 insertions(+), 19 deletions(-)
--
Chuck Lever
_______________________________________________
fedfs-utils-devel mailing list
https://oss.oracle.com/mailman/listinfo/fedfs-utils-devel

Chuck Lever

Loading...