avg-I commented on this pull request.


-               dsl_dataset_name(ds->ds_prev, namebuf);
-               if (strcmp(namebuf, ddra->ddra_tosnap) != 0)
-                       return (SET_ERROR(EXDEV));
+               /* Check if the target snapshot exists at all. */
+               error = dsl_dataset_hold(dp, ddra->ddra_tosnap, FTAG, &snapds);
+               if (error != 0) {
+                       /* Distinguish between missing dataset and snapshot. */

By "dataset" here I meant the parent dataset of the snapshot.  If it does not 
exists, then we pass up ENOENT, but if the snapshot does not exist, then we 
convert ENOENT to ESRCH.
I agree that the comment is confusing.  I'll try to write a more verbose one.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/openzfs/openzfs/pull/434#discussion_r138097401
------------------------------------------
openzfs-developer
Archives: 
https://openzfs.topicbox.com/groups/developer/discussions/T5032507ba3c52b88-Mcab916ee46d48183a1b9c654
Powered by Topicbox: https://topicbox.com

Reply via email to