usr/src/lib/libzfs/common/libzfs_dataset.c
changeset 2440 9281a87e8a9e
parent 2417 694d5de97348
child 2474 c001ad7e0c25
equal deleted inserted replaced
2439:40447ed85d31 2440:9281a87e8a9e
  2945 		    zhp->zfs_name[delim - target] != '/') {
  2945 		    zhp->zfs_name[delim - target] != '/') {
  2946 			zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
  2946 			zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
  2947 			    "datasets must be within same pool"));
  2947 			    "datasets must be within same pool"));
  2948 			return (zfs_error(hdl, EZFS_CROSSTARGET, errbuf));
  2948 			return (zfs_error(hdl, EZFS_CROSSTARGET, errbuf));
  2949 		}
  2949 		}
       
  2950 
       
  2951 		/* new name cannot be a child of the current dataset name */
       
  2952 		if (strncmp(parent, zhp->zfs_name,
       
  2953 			    strlen(zhp->zfs_name)) == 0) {
       
  2954 			zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
       
  2955 			    "New dataset name cannot be a descendent of "
       
  2956 			    "current dataset name"));
       
  2957 			return (zfs_error(hdl, EZFS_INVALIDNAME, errbuf));
       
  2958 		}
  2950 	}
  2959 	}
  2951 
  2960 
  2952 	(void) snprintf(errbuf, sizeof (errbuf),
  2961 	(void) snprintf(errbuf, sizeof (errbuf),
  2953 	    dgettext(TEXT_DOMAIN, "cannot rename '%s'"), zhp->zfs_name);
  2962 	    dgettext(TEXT_DOMAIN, "cannot rename '%s'"), zhp->zfs_name);
  2954 
  2963