Merge illumos revisions 13540, 13562:

illumos rev 13540 [1]:
Removal of pyzfs broke delegation for volumes

illumos rev 13562 [2]:
zfs allow arguments not parsed correctly after pyzfs removal

References:
https://www.illumos.org/issues/1726 [1]
https://www.illumos.org/issues/1977 [2]

Obtained from:	illumos (issues #1726, #1977)
MFC after:	1 week
This commit is contained in:
Martin Matuska 2012-01-22 08:06:36 +00:00
parent 7b2b15eb98
commit 3742a70580

View File

@ -21,7 +21,7 @@
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright 2011 Nexenta Systems, Inc. All rights reserved.
* Copyright 2012 Nexenta Systems, Inc. All rights reserved.
* Copyright (c) 2011 by Delphix. All rights reserved.
* Copyright (c) 2011-2012 Pawel Jakub Dawidek <pawel@dawidek.net>.
* All rights reserved.
@ -4501,7 +4501,7 @@ parse_allow_args(int argc, char **argv, boolean_t un, struct allow_opts *opts)
argc--;
argv++;
opts->dataset = munge_args(argc, argv, un, 2, &opts->perms);
} else if (argc == 1) {
} else if (argc == 1 && !un) {
opts->prt_perms = B_TRUE;
opts->dataset = argv[argc-1];
} else {
@ -4988,9 +4988,9 @@ zfs_do_allow_unallow_impl(int argc, char **argv, boolean_t un)
parse_allow_args(argc, argv, un, &opts);
/* try to open the dataset */
if ((zhp = zfs_open(g_zfs, opts.dataset, ZFS_TYPE_FILESYSTEM))
== NULL) {
(void) fprintf(stderr, "Failed to open Dataset *%s*\n",
if ((zhp = zfs_open(g_zfs, opts.dataset, ZFS_TYPE_FILESYSTEM |
ZFS_TYPE_VOLUME)) == NULL) {
(void) fprintf(stderr, "Failed to open dataset: %s\n",
opts.dataset);
return (-1);
}
@ -5000,7 +5000,7 @@ zfs_do_allow_unallow_impl(int argc, char **argv, boolean_t un)
fs_perm_set_init(&fs_perm_set);
if (parse_fs_perm_set(&fs_perm_set, perm_nvl) != 0) {
(void) fprintf(stderr, "Failed to parse fsacl permissionsn");
(void) fprintf(stderr, "Failed to parse fsacl permissions\n");
goto cleanup1;
}