summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorMatthew Ahrens <Matthew.Ahrens@Sun.COM>2008-08-12 13:43:23 -0700
committerMatthew Ahrens <Matthew.Ahrens@Sun.COM>2008-08-12 13:43:23 -0700
commita0dc2951a04dc9cb13b8dd7ef6e4a23b48b6824f (patch)
treef7ff5db061ce779c75518574328756d41ea19f09 /usr/src
parentc33f722576e9e15fe9dadf9d555414b41a14c476 (diff)
downloadillumos-joyent-a0dc2951a04dc9cb13b8dd7ef6e4a23b48b6824f.tar.gz
6736061 recursive rename of snapshot fails if child snapshot doesn't exist
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/fs/zfs/dsl_dataset.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/usr/src/uts/common/fs/zfs/dsl_dataset.c b/usr/src/uts/common/fs/zfs/dsl_dataset.c
index d5dd08fa0f..30bda57887 100644
--- a/usr/src/uts/common/fs/zfs/dsl_dataset.c
+++ b/usr/src/uts/common/fs/zfs/dsl_dataset.c
@@ -23,8 +23,6 @@
* Use is subject to license terms.
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#include <sys/dmu_objset.h>
#include <sys/dsl_dataset.h>
#include <sys/dsl_dir.h>
@@ -2064,7 +2062,10 @@ dsl_snapshot_rename_one(char *name, void *arg)
* For recursive snapshot renames the parent won't be changing
* so we just pass name for both the to/from argument.
*/
- if (err = zfs_secpolicy_rename_perms(name, name, CRED())) {
+ err = zfs_secpolicy_rename_perms(name, name, CRED());
+ if (err == ENOENT) {
+ return (0);
+ } else if (err) {
(void) strcpy(ra->failed, name);
return (err);
}