mirror of
https://github.com/systemd/systemd.git
synced 2025-01-10 05:18:17 +03:00
Merge pull request #28476 from bluca/revert_loop_links
Revert "udev: add /dev/loop/ symlinks"
This commit is contained in:
commit
d168daa5c2
@ -148,13 +148,4 @@ ENV{ID_PART_ENTRY_SCHEME}=="gpt", ENV{ID_PART_ENTRY_NAME}=="?*", SYMLINK+="disk/
|
||||
# the right device, to access specific disks in a race-free fashion)
|
||||
ENV{DISKSEQ}=="?*", ENV{ID_IGNORE_DISKSEQ}!="1", SYMLINK+="disk/by-diskseq/$env{DISKSEQ}$env{.PART_SUFFIX}"
|
||||
|
||||
# Create symlinks that allow referencing loopback devices by their backing file's inode number
|
||||
ENV{ID_LOOP_BACKING_DEVICE}!="", ENV{ID_LOOP_BACKING_INODE}!="", SYMLINK+="loop/by-inode/$env{ID_LOOP_BACKING_DEVICE}-$env{ID_LOOP_BACKING_INODE}$env{.PART_SUFFIX}"
|
||||
|
||||
# Similar, but uses the .lo_file_name field of the loopback device (note that
|
||||
# this is basically just a free-form string passed from userspace to the kernel
|
||||
# when the device is created, it is not necessarily a file system path like the
|
||||
# "loop/backing_file" sysfs attribute, which is always an absolute path)
|
||||
ENV{ID_LOOP_BACKING_FILENAME_ENC}!="", SYMLINK+="loop/by-ref/$env{ID_LOOP_BACKING_FILENAME_ENC}$env{.PART_SUFFIX}"
|
||||
|
||||
LABEL="persistent_storage_end"
|
||||
|
@ -470,48 +470,6 @@ mount -t ddi "${image}.gpt" "$T" -o ro,X-mount.mkdir,discard
|
||||
umount -R "$T"
|
||||
rmdir "$T"
|
||||
|
||||
LOOP="$(systemd-dissect --attach --loop-ref=waldo "${image}.raw")"
|
||||
|
||||
# Wait until the symlinks we want to test are established
|
||||
udevadm trigger -w "$LOOP"
|
||||
|
||||
# Check if the /dev/loop/* symlinks really reference the right device
|
||||
test /dev/loop/by-ref/waldo -ef "$LOOP"
|
||||
|
||||
if [ "$(stat -c '%Hd:%Ld' "${image}.raw")" != '?d:?d' ] ; then
|
||||
# Old stat didn't know the %Hd and %Ld specifiers and turned them into ?d
|
||||
# instead. Let's simply skip the test on such old systems.
|
||||
test "$(stat -c '/dev/loop/by-inode/%Hd:%Ld-%i' "${image}.raw")" -ef "$LOOP"
|
||||
fi
|
||||
|
||||
# Detach by loopback device
|
||||
systemd-dissect --detach "$LOOP"
|
||||
|
||||
# Test long reference name.
|
||||
# Note, sizeof_field(struct loop_info64, lo_file_name) == 64,
|
||||
# and --loop-ref accepts upto 63 characters, and udev creates symlink
|
||||
# based on the name when it has upto _62_ characters.
|
||||
name="$(for _ in {1..62}; do echo -n 'x'; done)"
|
||||
LOOP="$(systemd-dissect --attach --loop-ref="$name" "${image}.raw")"
|
||||
udevadm trigger -w "$LOOP"
|
||||
|
||||
# Check if the /dev/loop/by-ref/$name symlink really references the right device
|
||||
test "/dev/loop/by-ref/$name" -ef "$LOOP"
|
||||
|
||||
# Detach by the /dev/loop/by-ref symlink
|
||||
systemd-dissect --detach "/dev/loop/by-ref/$name"
|
||||
|
||||
name="$(for _ in {1..63}; do echo -n 'x'; done)"
|
||||
LOOP="$(systemd-dissect --attach --loop-ref="$name" "${image}.raw")"
|
||||
udevadm trigger -w "$LOOP"
|
||||
|
||||
# Check if the /dev/loop/by-ref/$name symlink does not exist
|
||||
test ! -e "/dev/loop/by-ref/$name"
|
||||
|
||||
# Detach by backing inode
|
||||
systemd-dissect --detach "${image}.raw"
|
||||
(! systemd-dissect --detach "${image}.raw")
|
||||
|
||||
# check for confext functionality
|
||||
mkdir -p /run/confexts/test/etc/extension-release.d
|
||||
echo "ID=_any" >/run/confexts/test/etc/extension-release.d/extension-release.test
|
||||
|
Loading…
Reference in New Issue
Block a user