Why does udev concatenate two symlinks? Announcing the arrival of Valued Associate #679: Cesar...
What is the longest distance a player character can jump in one leap?
How can I use the Python library networkx from Mathematica?
Dating a Former Employee
When a candle burns, why does the top of wick glow if bottom of flame is hottest?
For a new assistant professor in CS, how to build/manage a publication pipeline
Extracting terms with certain heads in a function
Can a new player join a group only when a new campaign starts?
Is grep documentation wrong?
What do you call the main part of a joke?
Why are there no cargo aircraft with "flying wing" design?
What are the out-of-universe reasons for the references to Toby Maguire-era Spider-Man in ITSV
Why didn't Eitri join the fight?
Withdrew £2800, but only £2000 shows as withdrawn on online banking; what are my obligations?
Would "destroying" Wurmcoil Engine prevent its tokens from being created?
Has negative voting ever been officially implemented in elections, or seriously proposed, or even studied?
Significance of Cersei's obsession with elephants?
What would be the ideal power source for a cybernetic eye?
How to react to hostile behavior from a senior developer?
Uniqueness of spanning tree on a grid.
Crossing US/Canada Border for less than 24 hours
Is it fair for a professor to grade us on the possession of past papers?
Can you use the Shield Master feat to shove someone before you make an attack by using a Readied action?
Trademark violation for app?
What causes the direction of lightning flashes?
Why does udev concatenate two symlinks?
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
2019 Community Moderator Election Results
Why I closed the “Why is Kali so hard” questionHow to troubleshoot udev not creating /dev/hda3 on gentoo boot?udev re-numbering when creating symlinksSymlinks on /dev/ttyUSB* via udevudev does not apply rulesWhat are these symlinks in /run/udev/watch?confused about udevadm usageudev in two stepsPersistent names for physical USB portsDevice Node not createdCreating Persistant Symbolic Link -Linux
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
My distribution is SLES 12 SP 2.
I work with DRBD (distributed replicated block device) right now. Here is an example of a configuration for a drbd resource.
resource HA1dat {
device /dev/drbd1;
disk /dev/mqdat/HA1;
meta-disk internal;
on srv0 {
address 192.168.174.10:7000;
node-id 0;
}
on srv1 {
address 192.168.174.11:7000;
node-id 1;
}
on srv9 {
address 192.168.174.19:7000;
node-id 2;
}
connection-mesh {
hosts srv0 srv1 srv9;
}
}
After activating this resource as a drbd device, normally the following objects are created.
brw-rw---- 1 root disk 147, 1 Feb 13 19:41 /dev/drbd1
lrwxrwxrwx 1 root root 14 Feb 13 19:41 /dev/drbd/by-res/HA1dat/0 -> ../../../drbd1
lrwxrwxrwx 1 root root 14 Feb 13 19:41 /dev/drbd/by-disk/mqdat/HA1 -> ../../../drbd1
These are the block device itself and two symbolic links to it.
This is the correct behaviour!
On some other servers (same distribution) the behaviour is different. The configuration of the drbd resource is very similiar.
resource LN0N001Edat {
device /dev/drbd1;
disk /dev/data1vg/LN0N001E_lv;
meta-disk internal;
on sedcmmwd0030 {
address xxx.yyy.zzz.83:7000;
node-id 0;
}
on sedcmmwd0040 {
address xxx.yyy.zzz.99:7000;
node-id 1;
}
on sedcmmwd0050 {
address xxx.yyy.zzz.100:7000;
node-id 2;
}
connection-mesh {
hosts sedcmmwd0030 sedcmmwd0040 sedcmmwd0050;
}
}
After activating this resource, only the block device and one link are created.
brw-rw---- 1 root disk 147, 1 Mar 2 09:49 /dev/drbd1
lrwxrwxrwx 1 root root 23 Mar 2 09:49 /dev/drbd/by-res/LN0N001Edat/0_drbd/by-disk/data1vg/LN0N001E_lv -> ../../../../../../drbd1
This is the problem! This link is a concatenation of the two expected links. I have no idea, why they are concatenated.
The link is created by udev. The following output show differences, what udev does on these nodes.
Server with correct behaviour
juser@srv0:~> udevadm info /dev/drbd1
P: /devices/virtual/block/drbd1
N: drbd1
S: drbd/by-disk/mqdat/HA1
S: drbd/by-res/HA1dat/0
E: DEVICE=drbd1
E: DEVLINKS=/dev/drbd/by-res/HA1dat/0 /dev/drbd/by-disk/mqdat/HA1
E: DEVNAME=/dev/drbd1
E: DEVPATH=/devices/virtual/block/drbd1
E: DEVTYPE=disk
E: MAJOR=147
E: MINOR=1
E: SUBSYSTEM=block
E: SYMLINK=drbd/by-res/HA1dat/0 drbd/by-disk/mqdat/HA1
E: TAGS=:systemd:
E: USEC_INITIALIZED=12263844870
Server with the problem
root@sedcmmwd0030:/root : udevadm info /dev/drbd1
P: /devices/virtual/block/drbd1
N: drbd1
S: drbd/by-res/LN0N001Edat/0_drbd/by-disk/data1vg/LN0N001E_lv
E: DEVICE=drbd1
E: DEVLINKS=/dev/drbd/by-res/LN0N001Edat/0_drbd/by-disk/data1vg/LN0N001E_lv
E: DEVNAME=/dev/drbd1
E: DEVPATH=/devices/virtual/block/drbd1
E: DEVTYPE=disk
E: MAJOR=147
E: MINOR=1
E: SUBSYSTEM=block
E: SYMLINK=drbd/by-res/LN0N001Edat/0 drbd/by-disk/data1vg/LN0N001E_lv
E: TAGS=:systemd:
E: USEC_INITIALIZED=1212108486973
The SYMLINK lines are still both correct. The differences start with the DEVLINKS lines.
The rules for drbd are the same in both cases
cat /usr/lib/udev/rules.d/65-drbd.rules
# This file contains the rules to create named DRBD devices.
SUBSYSTEM!="block", GOTO="drbd_end"
KERNEL!="drbd*", GOTO="drbd_end"
IMPORT{program}="/sbin/drbdadm sh-udev minor-%m"
# Use symlink from the environment if available
ENV{SYMLINK}!="", SYMLINK="$env{SYMLINK}", GOTO="have_symlink"
# Legacy rules for older DRBD 8.3 & 8.4 when drbdadm sh-udev did not yet export SYMLINK
ENV{DISK}!="", SYMLINK+="drbd/by-disk/$env{DISK}"
ENV{RESOURCE}!="", SYMLINK+="drbd/by-res/$env{RESOURCE}"
LABEL="have_symlink"
ENV{DEVICE}=="drbd_?*", SYMLINK+="$env{DEVICE}"
LABEL="drbd_end"
Does anybody have an explanation for the creation of the errorneous link?
symlink udev drbd
add a comment |
My distribution is SLES 12 SP 2.
I work with DRBD (distributed replicated block device) right now. Here is an example of a configuration for a drbd resource.
resource HA1dat {
device /dev/drbd1;
disk /dev/mqdat/HA1;
meta-disk internal;
on srv0 {
address 192.168.174.10:7000;
node-id 0;
}
on srv1 {
address 192.168.174.11:7000;
node-id 1;
}
on srv9 {
address 192.168.174.19:7000;
node-id 2;
}
connection-mesh {
hosts srv0 srv1 srv9;
}
}
After activating this resource as a drbd device, normally the following objects are created.
brw-rw---- 1 root disk 147, 1 Feb 13 19:41 /dev/drbd1
lrwxrwxrwx 1 root root 14 Feb 13 19:41 /dev/drbd/by-res/HA1dat/0 -> ../../../drbd1
lrwxrwxrwx 1 root root 14 Feb 13 19:41 /dev/drbd/by-disk/mqdat/HA1 -> ../../../drbd1
These are the block device itself and two symbolic links to it.
This is the correct behaviour!
On some other servers (same distribution) the behaviour is different. The configuration of the drbd resource is very similiar.
resource LN0N001Edat {
device /dev/drbd1;
disk /dev/data1vg/LN0N001E_lv;
meta-disk internal;
on sedcmmwd0030 {
address xxx.yyy.zzz.83:7000;
node-id 0;
}
on sedcmmwd0040 {
address xxx.yyy.zzz.99:7000;
node-id 1;
}
on sedcmmwd0050 {
address xxx.yyy.zzz.100:7000;
node-id 2;
}
connection-mesh {
hosts sedcmmwd0030 sedcmmwd0040 sedcmmwd0050;
}
}
After activating this resource, only the block device and one link are created.
brw-rw---- 1 root disk 147, 1 Mar 2 09:49 /dev/drbd1
lrwxrwxrwx 1 root root 23 Mar 2 09:49 /dev/drbd/by-res/LN0N001Edat/0_drbd/by-disk/data1vg/LN0N001E_lv -> ../../../../../../drbd1
This is the problem! This link is a concatenation of the two expected links. I have no idea, why they are concatenated.
The link is created by udev. The following output show differences, what udev does on these nodes.
Server with correct behaviour
juser@srv0:~> udevadm info /dev/drbd1
P: /devices/virtual/block/drbd1
N: drbd1
S: drbd/by-disk/mqdat/HA1
S: drbd/by-res/HA1dat/0
E: DEVICE=drbd1
E: DEVLINKS=/dev/drbd/by-res/HA1dat/0 /dev/drbd/by-disk/mqdat/HA1
E: DEVNAME=/dev/drbd1
E: DEVPATH=/devices/virtual/block/drbd1
E: DEVTYPE=disk
E: MAJOR=147
E: MINOR=1
E: SUBSYSTEM=block
E: SYMLINK=drbd/by-res/HA1dat/0 drbd/by-disk/mqdat/HA1
E: TAGS=:systemd:
E: USEC_INITIALIZED=12263844870
Server with the problem
root@sedcmmwd0030:/root : udevadm info /dev/drbd1
P: /devices/virtual/block/drbd1
N: drbd1
S: drbd/by-res/LN0N001Edat/0_drbd/by-disk/data1vg/LN0N001E_lv
E: DEVICE=drbd1
E: DEVLINKS=/dev/drbd/by-res/LN0N001Edat/0_drbd/by-disk/data1vg/LN0N001E_lv
E: DEVNAME=/dev/drbd1
E: DEVPATH=/devices/virtual/block/drbd1
E: DEVTYPE=disk
E: MAJOR=147
E: MINOR=1
E: SUBSYSTEM=block
E: SYMLINK=drbd/by-res/LN0N001Edat/0 drbd/by-disk/data1vg/LN0N001E_lv
E: TAGS=:systemd:
E: USEC_INITIALIZED=1212108486973
The SYMLINK lines are still both correct. The differences start with the DEVLINKS lines.
The rules for drbd are the same in both cases
cat /usr/lib/udev/rules.d/65-drbd.rules
# This file contains the rules to create named DRBD devices.
SUBSYSTEM!="block", GOTO="drbd_end"
KERNEL!="drbd*", GOTO="drbd_end"
IMPORT{program}="/sbin/drbdadm sh-udev minor-%m"
# Use symlink from the environment if available
ENV{SYMLINK}!="", SYMLINK="$env{SYMLINK}", GOTO="have_symlink"
# Legacy rules for older DRBD 8.3 & 8.4 when drbdadm sh-udev did not yet export SYMLINK
ENV{DISK}!="", SYMLINK+="drbd/by-disk/$env{DISK}"
ENV{RESOURCE}!="", SYMLINK+="drbd/by-res/$env{RESOURCE}"
LABEL="have_symlink"
ENV{DEVICE}=="drbd_?*", SYMLINK+="$env{DEVICE}"
LABEL="drbd_end"
Does anybody have an explanation for the creation of the errorneous link?
symlink udev drbd
add a comment |
My distribution is SLES 12 SP 2.
I work with DRBD (distributed replicated block device) right now. Here is an example of a configuration for a drbd resource.
resource HA1dat {
device /dev/drbd1;
disk /dev/mqdat/HA1;
meta-disk internal;
on srv0 {
address 192.168.174.10:7000;
node-id 0;
}
on srv1 {
address 192.168.174.11:7000;
node-id 1;
}
on srv9 {
address 192.168.174.19:7000;
node-id 2;
}
connection-mesh {
hosts srv0 srv1 srv9;
}
}
After activating this resource as a drbd device, normally the following objects are created.
brw-rw---- 1 root disk 147, 1 Feb 13 19:41 /dev/drbd1
lrwxrwxrwx 1 root root 14 Feb 13 19:41 /dev/drbd/by-res/HA1dat/0 -> ../../../drbd1
lrwxrwxrwx 1 root root 14 Feb 13 19:41 /dev/drbd/by-disk/mqdat/HA1 -> ../../../drbd1
These are the block device itself and two symbolic links to it.
This is the correct behaviour!
On some other servers (same distribution) the behaviour is different. The configuration of the drbd resource is very similiar.
resource LN0N001Edat {
device /dev/drbd1;
disk /dev/data1vg/LN0N001E_lv;
meta-disk internal;
on sedcmmwd0030 {
address xxx.yyy.zzz.83:7000;
node-id 0;
}
on sedcmmwd0040 {
address xxx.yyy.zzz.99:7000;
node-id 1;
}
on sedcmmwd0050 {
address xxx.yyy.zzz.100:7000;
node-id 2;
}
connection-mesh {
hosts sedcmmwd0030 sedcmmwd0040 sedcmmwd0050;
}
}
After activating this resource, only the block device and one link are created.
brw-rw---- 1 root disk 147, 1 Mar 2 09:49 /dev/drbd1
lrwxrwxrwx 1 root root 23 Mar 2 09:49 /dev/drbd/by-res/LN0N001Edat/0_drbd/by-disk/data1vg/LN0N001E_lv -> ../../../../../../drbd1
This is the problem! This link is a concatenation of the two expected links. I have no idea, why they are concatenated.
The link is created by udev. The following output show differences, what udev does on these nodes.
Server with correct behaviour
juser@srv0:~> udevadm info /dev/drbd1
P: /devices/virtual/block/drbd1
N: drbd1
S: drbd/by-disk/mqdat/HA1
S: drbd/by-res/HA1dat/0
E: DEVICE=drbd1
E: DEVLINKS=/dev/drbd/by-res/HA1dat/0 /dev/drbd/by-disk/mqdat/HA1
E: DEVNAME=/dev/drbd1
E: DEVPATH=/devices/virtual/block/drbd1
E: DEVTYPE=disk
E: MAJOR=147
E: MINOR=1
E: SUBSYSTEM=block
E: SYMLINK=drbd/by-res/HA1dat/0 drbd/by-disk/mqdat/HA1
E: TAGS=:systemd:
E: USEC_INITIALIZED=12263844870
Server with the problem
root@sedcmmwd0030:/root : udevadm info /dev/drbd1
P: /devices/virtual/block/drbd1
N: drbd1
S: drbd/by-res/LN0N001Edat/0_drbd/by-disk/data1vg/LN0N001E_lv
E: DEVICE=drbd1
E: DEVLINKS=/dev/drbd/by-res/LN0N001Edat/0_drbd/by-disk/data1vg/LN0N001E_lv
E: DEVNAME=/dev/drbd1
E: DEVPATH=/devices/virtual/block/drbd1
E: DEVTYPE=disk
E: MAJOR=147
E: MINOR=1
E: SUBSYSTEM=block
E: SYMLINK=drbd/by-res/LN0N001Edat/0 drbd/by-disk/data1vg/LN0N001E_lv
E: TAGS=:systemd:
E: USEC_INITIALIZED=1212108486973
The SYMLINK lines are still both correct. The differences start with the DEVLINKS lines.
The rules for drbd are the same in both cases
cat /usr/lib/udev/rules.d/65-drbd.rules
# This file contains the rules to create named DRBD devices.
SUBSYSTEM!="block", GOTO="drbd_end"
KERNEL!="drbd*", GOTO="drbd_end"
IMPORT{program}="/sbin/drbdadm sh-udev minor-%m"
# Use symlink from the environment if available
ENV{SYMLINK}!="", SYMLINK="$env{SYMLINK}", GOTO="have_symlink"
# Legacy rules for older DRBD 8.3 & 8.4 when drbdadm sh-udev did not yet export SYMLINK
ENV{DISK}!="", SYMLINK+="drbd/by-disk/$env{DISK}"
ENV{RESOURCE}!="", SYMLINK+="drbd/by-res/$env{RESOURCE}"
LABEL="have_symlink"
ENV{DEVICE}=="drbd_?*", SYMLINK+="$env{DEVICE}"
LABEL="drbd_end"
Does anybody have an explanation for the creation of the errorneous link?
symlink udev drbd
My distribution is SLES 12 SP 2.
I work with DRBD (distributed replicated block device) right now. Here is an example of a configuration for a drbd resource.
resource HA1dat {
device /dev/drbd1;
disk /dev/mqdat/HA1;
meta-disk internal;
on srv0 {
address 192.168.174.10:7000;
node-id 0;
}
on srv1 {
address 192.168.174.11:7000;
node-id 1;
}
on srv9 {
address 192.168.174.19:7000;
node-id 2;
}
connection-mesh {
hosts srv0 srv1 srv9;
}
}
After activating this resource as a drbd device, normally the following objects are created.
brw-rw---- 1 root disk 147, 1 Feb 13 19:41 /dev/drbd1
lrwxrwxrwx 1 root root 14 Feb 13 19:41 /dev/drbd/by-res/HA1dat/0 -> ../../../drbd1
lrwxrwxrwx 1 root root 14 Feb 13 19:41 /dev/drbd/by-disk/mqdat/HA1 -> ../../../drbd1
These are the block device itself and two symbolic links to it.
This is the correct behaviour!
On some other servers (same distribution) the behaviour is different. The configuration of the drbd resource is very similiar.
resource LN0N001Edat {
device /dev/drbd1;
disk /dev/data1vg/LN0N001E_lv;
meta-disk internal;
on sedcmmwd0030 {
address xxx.yyy.zzz.83:7000;
node-id 0;
}
on sedcmmwd0040 {
address xxx.yyy.zzz.99:7000;
node-id 1;
}
on sedcmmwd0050 {
address xxx.yyy.zzz.100:7000;
node-id 2;
}
connection-mesh {
hosts sedcmmwd0030 sedcmmwd0040 sedcmmwd0050;
}
}
After activating this resource, only the block device and one link are created.
brw-rw---- 1 root disk 147, 1 Mar 2 09:49 /dev/drbd1
lrwxrwxrwx 1 root root 23 Mar 2 09:49 /dev/drbd/by-res/LN0N001Edat/0_drbd/by-disk/data1vg/LN0N001E_lv -> ../../../../../../drbd1
This is the problem! This link is a concatenation of the two expected links. I have no idea, why they are concatenated.
The link is created by udev. The following output show differences, what udev does on these nodes.
Server with correct behaviour
juser@srv0:~> udevadm info /dev/drbd1
P: /devices/virtual/block/drbd1
N: drbd1
S: drbd/by-disk/mqdat/HA1
S: drbd/by-res/HA1dat/0
E: DEVICE=drbd1
E: DEVLINKS=/dev/drbd/by-res/HA1dat/0 /dev/drbd/by-disk/mqdat/HA1
E: DEVNAME=/dev/drbd1
E: DEVPATH=/devices/virtual/block/drbd1
E: DEVTYPE=disk
E: MAJOR=147
E: MINOR=1
E: SUBSYSTEM=block
E: SYMLINK=drbd/by-res/HA1dat/0 drbd/by-disk/mqdat/HA1
E: TAGS=:systemd:
E: USEC_INITIALIZED=12263844870
Server with the problem
root@sedcmmwd0030:/root : udevadm info /dev/drbd1
P: /devices/virtual/block/drbd1
N: drbd1
S: drbd/by-res/LN0N001Edat/0_drbd/by-disk/data1vg/LN0N001E_lv
E: DEVICE=drbd1
E: DEVLINKS=/dev/drbd/by-res/LN0N001Edat/0_drbd/by-disk/data1vg/LN0N001E_lv
E: DEVNAME=/dev/drbd1
E: DEVPATH=/devices/virtual/block/drbd1
E: DEVTYPE=disk
E: MAJOR=147
E: MINOR=1
E: SUBSYSTEM=block
E: SYMLINK=drbd/by-res/LN0N001Edat/0 drbd/by-disk/data1vg/LN0N001E_lv
E: TAGS=:systemd:
E: USEC_INITIALIZED=1212108486973
The SYMLINK lines are still both correct. The differences start with the DEVLINKS lines.
The rules for drbd are the same in both cases
cat /usr/lib/udev/rules.d/65-drbd.rules
# This file contains the rules to create named DRBD devices.
SUBSYSTEM!="block", GOTO="drbd_end"
KERNEL!="drbd*", GOTO="drbd_end"
IMPORT{program}="/sbin/drbdadm sh-udev minor-%m"
# Use symlink from the environment if available
ENV{SYMLINK}!="", SYMLINK="$env{SYMLINK}", GOTO="have_symlink"
# Legacy rules for older DRBD 8.3 & 8.4 when drbdadm sh-udev did not yet export SYMLINK
ENV{DISK}!="", SYMLINK+="drbd/by-disk/$env{DISK}"
ENV{RESOURCE}!="", SYMLINK+="drbd/by-res/$env{RESOURCE}"
LABEL="have_symlink"
ENV{DEVICE}=="drbd_?*", SYMLINK+="$env{DEVICE}"
LABEL="drbd_end"
Does anybody have an explanation for the creation of the errorneous link?
symlink udev drbd
symlink udev drbd
asked Mar 6 '18 at 23:19
JochemJochem
83
83
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
The udev rules for DRBD come from the drbd-utils. What version of DRBD utils do you have installed?
The newest version, 9.2.2, includes additional rules with a comment from the devs that looks like it might address your issue:
# This file contains the rules to create named DRBD devices.
SUBSYSTEM!="block", GOTO="drbd_end"
KERNEL!="drbd*", GOTO="drbd_end"
IMPORT{program}="@sbindir@/drbdadm sh-udev minor-%m"
# Use symlink from the environment if available
# some udev version thought it was a good idea to change a long established
# default of string_escape=none to string_escape=replace :-/
# therefore, recent enough drbdadm will no longer export space separated lists.
ENV{SYMLINK_BY_DISK}!="", SYMLINK+="$env{SYMLINK_BY_DISK}"
ENV{SYMLINK_BY_RES}!="", SYMLINK+="$env{SYMLINK_BY_RES}", GOTO="have_symlink"
ENV{SYMLINK}!="", OPTIONS+="string_escape=none", SYMLINK="$env{SYMLINK}", GOTO="have_symlink"
# Legacy rules for older DRBD 8.3 & 8.4 when drbdadm sh-udev did not yet export SYMLINK
ENV{DISK}!="", SYMLINK+="drbd/by-disk/$env{DISK}"
ENV{RESOURCE}!="", SYMLINK+="drbd/by-res/$env{RESOURCE}"
LABEL="have_symlink"
ENV{DEVICE}=="drbd_?*", SYMLINK+="$env{DEVICE}"
LABEL="drbd_end"
Great! This solves exactly the problem. Thank you very much!
– Jochem
Mar 7 '18 at 20:39
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f428640%2fwhy-does-udev-concatenate-two-symlinks%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
The udev rules for DRBD come from the drbd-utils. What version of DRBD utils do you have installed?
The newest version, 9.2.2, includes additional rules with a comment from the devs that looks like it might address your issue:
# This file contains the rules to create named DRBD devices.
SUBSYSTEM!="block", GOTO="drbd_end"
KERNEL!="drbd*", GOTO="drbd_end"
IMPORT{program}="@sbindir@/drbdadm sh-udev minor-%m"
# Use symlink from the environment if available
# some udev version thought it was a good idea to change a long established
# default of string_escape=none to string_escape=replace :-/
# therefore, recent enough drbdadm will no longer export space separated lists.
ENV{SYMLINK_BY_DISK}!="", SYMLINK+="$env{SYMLINK_BY_DISK}"
ENV{SYMLINK_BY_RES}!="", SYMLINK+="$env{SYMLINK_BY_RES}", GOTO="have_symlink"
ENV{SYMLINK}!="", OPTIONS+="string_escape=none", SYMLINK="$env{SYMLINK}", GOTO="have_symlink"
# Legacy rules for older DRBD 8.3 & 8.4 when drbdadm sh-udev did not yet export SYMLINK
ENV{DISK}!="", SYMLINK+="drbd/by-disk/$env{DISK}"
ENV{RESOURCE}!="", SYMLINK+="drbd/by-res/$env{RESOURCE}"
LABEL="have_symlink"
ENV{DEVICE}=="drbd_?*", SYMLINK+="$env{DEVICE}"
LABEL="drbd_end"
Great! This solves exactly the problem. Thank you very much!
– Jochem
Mar 7 '18 at 20:39
add a comment |
The udev rules for DRBD come from the drbd-utils. What version of DRBD utils do you have installed?
The newest version, 9.2.2, includes additional rules with a comment from the devs that looks like it might address your issue:
# This file contains the rules to create named DRBD devices.
SUBSYSTEM!="block", GOTO="drbd_end"
KERNEL!="drbd*", GOTO="drbd_end"
IMPORT{program}="@sbindir@/drbdadm sh-udev minor-%m"
# Use symlink from the environment if available
# some udev version thought it was a good idea to change a long established
# default of string_escape=none to string_escape=replace :-/
# therefore, recent enough drbdadm will no longer export space separated lists.
ENV{SYMLINK_BY_DISK}!="", SYMLINK+="$env{SYMLINK_BY_DISK}"
ENV{SYMLINK_BY_RES}!="", SYMLINK+="$env{SYMLINK_BY_RES}", GOTO="have_symlink"
ENV{SYMLINK}!="", OPTIONS+="string_escape=none", SYMLINK="$env{SYMLINK}", GOTO="have_symlink"
# Legacy rules for older DRBD 8.3 & 8.4 when drbdadm sh-udev did not yet export SYMLINK
ENV{DISK}!="", SYMLINK+="drbd/by-disk/$env{DISK}"
ENV{RESOURCE}!="", SYMLINK+="drbd/by-res/$env{RESOURCE}"
LABEL="have_symlink"
ENV{DEVICE}=="drbd_?*", SYMLINK+="$env{DEVICE}"
LABEL="drbd_end"
Great! This solves exactly the problem. Thank you very much!
– Jochem
Mar 7 '18 at 20:39
add a comment |
The udev rules for DRBD come from the drbd-utils. What version of DRBD utils do you have installed?
The newest version, 9.2.2, includes additional rules with a comment from the devs that looks like it might address your issue:
# This file contains the rules to create named DRBD devices.
SUBSYSTEM!="block", GOTO="drbd_end"
KERNEL!="drbd*", GOTO="drbd_end"
IMPORT{program}="@sbindir@/drbdadm sh-udev minor-%m"
# Use symlink from the environment if available
# some udev version thought it was a good idea to change a long established
# default of string_escape=none to string_escape=replace :-/
# therefore, recent enough drbdadm will no longer export space separated lists.
ENV{SYMLINK_BY_DISK}!="", SYMLINK+="$env{SYMLINK_BY_DISK}"
ENV{SYMLINK_BY_RES}!="", SYMLINK+="$env{SYMLINK_BY_RES}", GOTO="have_symlink"
ENV{SYMLINK}!="", OPTIONS+="string_escape=none", SYMLINK="$env{SYMLINK}", GOTO="have_symlink"
# Legacy rules for older DRBD 8.3 & 8.4 when drbdadm sh-udev did not yet export SYMLINK
ENV{DISK}!="", SYMLINK+="drbd/by-disk/$env{DISK}"
ENV{RESOURCE}!="", SYMLINK+="drbd/by-res/$env{RESOURCE}"
LABEL="have_symlink"
ENV{DEVICE}=="drbd_?*", SYMLINK+="$env{DEVICE}"
LABEL="drbd_end"
The udev rules for DRBD come from the drbd-utils. What version of DRBD utils do you have installed?
The newest version, 9.2.2, includes additional rules with a comment from the devs that looks like it might address your issue:
# This file contains the rules to create named DRBD devices.
SUBSYSTEM!="block", GOTO="drbd_end"
KERNEL!="drbd*", GOTO="drbd_end"
IMPORT{program}="@sbindir@/drbdadm sh-udev minor-%m"
# Use symlink from the environment if available
# some udev version thought it was a good idea to change a long established
# default of string_escape=none to string_escape=replace :-/
# therefore, recent enough drbdadm will no longer export space separated lists.
ENV{SYMLINK_BY_DISK}!="", SYMLINK+="$env{SYMLINK_BY_DISK}"
ENV{SYMLINK_BY_RES}!="", SYMLINK+="$env{SYMLINK_BY_RES}", GOTO="have_symlink"
ENV{SYMLINK}!="", OPTIONS+="string_escape=none", SYMLINK="$env{SYMLINK}", GOTO="have_symlink"
# Legacy rules for older DRBD 8.3 & 8.4 when drbdadm sh-udev did not yet export SYMLINK
ENV{DISK}!="", SYMLINK+="drbd/by-disk/$env{DISK}"
ENV{RESOURCE}!="", SYMLINK+="drbd/by-res/$env{RESOURCE}"
LABEL="have_symlink"
ENV{DEVICE}=="drbd_?*", SYMLINK+="$env{DEVICE}"
LABEL="drbd_end"
edited 7 hours ago
Rui F Ribeiro
42.1k1484142
42.1k1484142
answered Mar 7 '18 at 16:24
Matt KereczmanMatt Kereczman
56227
56227
Great! This solves exactly the problem. Thank you very much!
– Jochem
Mar 7 '18 at 20:39
add a comment |
Great! This solves exactly the problem. Thank you very much!
– Jochem
Mar 7 '18 at 20:39
Great! This solves exactly the problem. Thank you very much!
– Jochem
Mar 7 '18 at 20:39
Great! This solves exactly the problem. Thank you very much!
– Jochem
Mar 7 '18 at 20:39
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f428640%2fwhy-does-udev-concatenate-two-symlinks%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown