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 |