aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Gottula <justin@jgottula.com>2021-07-06 20:41:17 +0000
committerGitHub <noreply@github.com>2021-07-06 20:41:17 +0000
commit6e4e3c3ab67d4ad050a5e704287ea3577fe45b17 (patch)
treee98e5965f27a8905d22167ac6f806bbdb96f653c
parentf24c7c359ea486438ecadf1496e7c9a77b132a0c (diff)
downloadsrc-6e4e3c3ab67d4ad050a5e704287ea3577fe45b17.tar.gz
src-6e4e3c3ab67d4ad050a5e704287ea3577fe45b17.zip
Udev rules: remove zvol compat symlinks (without the leading zvol/)
This is a potentially arguable change, because it removes some compatibility cruft that certain systems or people may have come to rely on (either a very long time ago, or unwisely in recent times). On the other hand, it's been literally over a decade since OpenZFS switched to the strategy of using opaque numbered /dev/zd* device nodes, with the canonical zvol access path being a directory tree of symlinks created by udev rules inside /dev/zvol/*. (See #102.) Even at the time, the /dev/* scheme was labeled as being for "compatibility". This commit removes the second tree of symlinks located directly at /dev/*, under the assumption that anybody with any sense has been using the intended /dev/zvol/* path for a very very long time now. (The more I think about this, the more I anticipate that some large fraction of people will have been blissfully unaware that the intention has been for them to use the /dev/zvol/* tree all along, and they will have come to rely upon the /dev/* tree simply because it's been there this whole time despite being a compat thing.) Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Pavel Zakharov <pavel.zakharov@delphix.com> Reviewed-by: Neal Gompa <ngompa@datto.com> Signed-off-by: Justin Gottula <justin@jgottula.com> Closes #12303
-rw-r--r--udev/rules.d/60-zvol.rules.in9
1 files changed, 7 insertions, 2 deletions
diff --git a/udev/rules.d/60-zvol.rules.in b/udev/rules.d/60-zvol.rules.in
index a3c7d2acf752..9a2a473a841c 100644
--- a/udev/rules.d/60-zvol.rules.in
+++ b/udev/rules.d/60-zvol.rules.in
@@ -1,6 +1,11 @@
# Persistent links for zvol
#
# persistent disk links: /dev/zvol/dataset_name
-# also creates compatibility symlink of /dev/dataset_name
+#
+# NOTE: We used to also create an additional tree of zvol symlinks located at
+# /dev/dataset_name (i.e. without the 'zvol' path component) for
+# compatibility reasons. These are no longer created anymore, and should
+# not be relied upon.
+#
-KERNEL=="zd*", SUBSYSTEM=="block", ACTION=="add|change", PROGRAM=="@udevdir@/zvol_id $devnode", SYMLINK+="zvol/%c %c"
+KERNEL=="zd*", SUBSYSTEM=="block", ACTION=="add|change", PROGRAM=="@udevdir@/zvol_id $devnode", SYMLINK+="zvol/%c"