[udev] no uevent when block devices change
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| | systemd (Debian) |
Fix Released
|
Unknown
|
||
| | systemd (Ubuntu) |
High
|
Martin Pitt | ||
Bug Description
Since July 7, udisks2 fails its tests: https:/
After a file system operation like mkfs or e2label udisks2 does not update its properties any more. This can be replicated easily locally with e. g.
sudo modprobe scsi_debug
sudo mkfs.ext2 -L old /dev/sda
udisksctl info -b /dev/sdb
# -> no IdType, IdLabel, etc.
It starts being correct after manually triggering an uevent with "sudo udevadm trigger -v --sysname-
Upstream bug: https:/
| Martin Pitt (pitti) wrote : | #1 |
| summary: |
- Does not update properties any more when file systems change + no uevent when block devices change |
| Changed in udisks2 (Ubuntu): | |
| status: | New → Incomplete |
| status: | Incomplete → Triaged |
| importance: | Undecided → High |
| tags: | added: regression-release |
Downgrading udev to 219-7ubuntu6 fixes this, so this is a regression in udev.
| affects: | udisks2 (Ubuntu) → systemd (Ubuntu) |
| summary: |
- no uevent when block devices change + [udev] no uevent when block devices change |
| Changed in systemd (Ubuntu): | |
| assignee: | nobody → Martin Pitt (pitti) |
| description: | updated |
| Changed in systemd (Debian): | |
| status: | Unknown → New |
| Martin Pitt (pitti) wrote : | #3 |
This is fixed in upstream trunk already, with the daily packages from https:/
| Changed in systemd (Ubuntu): | |
| status: | Triaged → Fix Committed |
| status: | Fix Committed → In Progress |
| Changed in systemd (Ubuntu): | |
| status: | In Progress → Fix Committed |
| Launchpad Janitor (janitor) wrote : | #4 |
This bug was fixed in the package systemd - 220-7ubuntu1
---------------
systemd (220-7ubuntu1) wily; urgency=medium
* Merge with Debian unstable. Remaining Ubuntu changes:
- Hack to support system-image read-only /etc, and modify files in
/
- Keep our much simpler udev maintainer scripts (all platforms must
support udev, no debconf).
- initramfs init-top: Drop scsi_wait_scan and udevadm settle, we do that
in a more sensible way with wait-for-root.
- initramfs init-bottom: If LVM is installed, settle udev,
otherwise we get missing LV symlinks. Workaround for LP #1185394.
- Add debian/
dependencies to "lvm2" which is handled with udev rules in Ubuntu.
- Add debian/
script.
- Provide shutdown fallback for upstart. (LP: #1370329)
- debian/
really support "allow-hotplug" in Ubuntu at the moment, so we need to
deal with "auto" devices appearing after "/etc/init.
already ran. (LP: #1374521) Also run ifup in the background during boot,
to avoid blocking network.target. (LP: #1425376)
- ifup@.service: Drop dependency on networking.service (i. e.
/
This avoids unnecessary dependencies/
cycles if hooks wait for other interfaces to come up (like ifenslave
with bonding interfaces). (LP: #1414544)
- Add Get-RTC-
Ubuntu we currently keep the setting whether the RTC is in local or UTC
time in /etc/default/rcS "UTC=yes|no", instead of /etc/adjtime.
(LP: #1377258)
- Put session scopes into all cgroup controllers. This makes unprivileged
user LXC containers work under systemd. (LP: #1346734)
- systemctl: Don't forward telinit u to upstart. This works around
upstart's Restart() always reexec'ing /sbin/init on Restart(), even if
that changes to point to systemd during the upgrade. This avoids running
systemd during a dist-upgrade. (LP: #1430479)
- Drop hwdb-update dependency from udev-trigger.
introduced in v219-stable. This causes udev and plymouth to start too
late and isn't really needed in Ubuntu yet as we don't support stateless
systems yet and handle hwdb.bin updates through dpkg triggers. This can
be dropped again with initramfs-tools 0.117.
- Lower Breaks: to plymouth version which has the udev inotify fix in
Ubuntu.
- Lower apparmor Breaks: to the Ubuntu version that dropped $remote_fs.
- Change systemd-sysv's conflicts to upstart-sysv. (LP: #1422681)
Upgrade fixes, keep until 16.04 LTS release:
- systemd Conflicts/
- Remove obsolete systemd-logind upstart job.
- Clean up obsolete /etc/udev/
systemd (220-7) unstable; urgency=medium
[ Michael Biebl ]
* Enable seccomp support on arm...
| Changed in systemd (Ubuntu): | |
| status: | Fix Committed → Fix Released |
| Changed in systemd (Debian): | |
| status: | New → Fix Released |


This is because in wily, fs operations like mkfs, e2label, or other things which directly open the block device don't trigger a change event any more:
$ sudo modprobe scsi_debug
$ udevadm monitor
Then run this in another terminal: sudo sh -c '> /dev/sda'
Up to vivid you get
KERNEL[40.913525] change /devices/ pseudo_ 0/adapter0/ host2/target2: 0:0/2:0: 0:0/block/ sda (block) pseudo_ 0/adapter0/ host2/target2: 0:0/2:0: 0:0/block/ sda (block)
UDEV [41.021205] change /devices/
In wily there is no uevent.