2017-04-06 20:13:18 |
Scott Moser |
bug |
|
|
added bug |
2017-04-06 20:19:12 |
Scott Moser |
curtin: status |
New |
Confirmed |
|
2017-04-06 20:18:58 |
Launchpad Janitor |
branch linked |
|
lp:~smoser/curtin/trunk.lp1680591 |
|
2017-04-06 20:19:16 |
Scott Moser |
curtin: importance |
Undecided |
Medium |
|
2017-04-06 20:38:13 |
Scott Moser |
description |
In some debugging of another issue, we realized that installs with root on bcache such as in tests/vmtests/test_bcache_basic.py end up booting with root=/dev/bcache0 (or bcache*) rather than UUID=.
This is not good as bcache names are not guaranteed in any order.
The reason this was failing was that when we create a filesystem on /dev/bcache0 no symlinks would be updated in /dev/disk/by-uuid/. The lack of a by-uuid entry causes /etc/grub.d/10_linux to take the 'GRUB_DEVICE' path in
| if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
| || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
| || ( test -e "${GRUB_DEVICE}" && uses_abstraction "${GRUB_DEVICE}" lvm ); then
| LINUX_ROOT_DEVICE=${GRUB_DEVICE}
| else
| LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
| fi
For other devices the /dev/disk/by-uuid entries were (we believe) being created by the the udev watches in /lib/udev/rules.d/60-block.rules. However, the watch there does not cover bcache devices.
## /lib/udev/rules.d/60-block.rules
| # watch metadata changes, caused by tools closing the device node which was opened for writing
| ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*", OPTIONS+="watch" |
In some debugging of another issue, we realized that installs with root on bcache such as in tests/vmtests/test_bcache_basic.py end up booting with root=/dev/bcache0 (or bcache*) rather than UUID=.
This is not good as bcache names are not guaranteed in any order.
The reason this was failing was that when we create a filesystem on /dev/bcache0 no symlinks would be updated in /dev/disk/by-uuid/. The lack of a by-uuid entry causes /etc/grub.d/10_linux to take the 'GRUB_DEVICE' path in
| if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
| || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
| || ( test -e "${GRUB_DEVICE}" && uses_abstraction "${GRUB_DEVICE}" lvm ); then
| LINUX_ROOT_DEVICE=${GRUB_DEVICE}
| else
| LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
| fi
For other devices the /dev/disk/by-uuid entries were (we believe) being created by the the udev watches in /lib/udev/rules.d/60-block.rules. However, the watch there does not cover bcache devices.
## /lib/udev/rules.d/60-block.rules
| # watch metadata changes, caused by tools closing the device node which was opened for writing
| ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*", OPTIONS+="watch"
Related bugs:
* bug 1680597: udev 60-block.rules does not watch bcache |
|
2017-04-06 20:38:44 |
Scott Moser |
description |
In some debugging of another issue, we realized that installs with root on bcache such as in tests/vmtests/test_bcache_basic.py end up booting with root=/dev/bcache0 (or bcache*) rather than UUID=.
This is not good as bcache names are not guaranteed in any order.
The reason this was failing was that when we create a filesystem on /dev/bcache0 no symlinks would be updated in /dev/disk/by-uuid/. The lack of a by-uuid entry causes /etc/grub.d/10_linux to take the 'GRUB_DEVICE' path in
| if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
| || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
| || ( test -e "${GRUB_DEVICE}" && uses_abstraction "${GRUB_DEVICE}" lvm ); then
| LINUX_ROOT_DEVICE=${GRUB_DEVICE}
| else
| LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
| fi
For other devices the /dev/disk/by-uuid entries were (we believe) being created by the the udev watches in /lib/udev/rules.d/60-block.rules. However, the watch there does not cover bcache devices.
## /lib/udev/rules.d/60-block.rules
| # watch metadata changes, caused by tools closing the device node which was opened for writing
| ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*", OPTIONS+="watch"
Related bugs:
* bug 1680597: udev 60-block.rules does not watch bcache |
In some debugging of another issue, we realized that installs with root on bcache such as in tests/vmtests/test_bcache_basic.py end up booting with root=/dev/bcache0 (or bcache*) rather than UUID=.
This is not good as bcache names are not guaranteed in any order.
The reason this was failing was that when we create a filesystem on /dev/bcache0 no symlinks would be updated in /dev/disk/by-uuid/. The lack of a by-uuid entry causes /etc/grub.d/10_linux to take the 'GRUB_DEVICE' path in
| if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
| || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
| || ( test -e "${GRUB_DEVICE}" && uses_abstraction "${GRUB_DEVICE}" lvm ); then
| LINUX_ROOT_DEVICE=${GRUB_DEVICE}
| else
| LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
| fi
For other devices the /dev/disk/by-uuid entries were (we believe) being created by the the udev watches in /lib/udev/rules.d/60-block.rules. However, the watch there does not cover bcache devices.
## /lib/udev/rules.d/60-block.rules
| # watch metadata changes, caused by tools closing the device node which was opened for writing
| ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*", OPTIONS+="watch"
Related bugs:
* bug 1680597: udev 60-block.rules does not watch bcache
* bug 1676991: bcache mounts inconsistent after node reboots |
|
2017-04-06 20:42:29 |
Launchpad Janitor |
branch linked |
|
lp:curtin |
|
2017-04-06 20:42:57 |
Scott Moser |
bug task added |
|
curtin (Ubuntu) |
|
2017-04-06 20:43:04 |
Scott Moser |
curtin (Ubuntu): status |
New |
Confirmed |
|
2017-04-06 20:43:09 |
Scott Moser |
curtin (Ubuntu): importance |
Undecided |
Medium |
|
2017-04-06 20:43:16 |
Scott Moser |
curtin: status |
Confirmed |
Fix Committed |
|
2017-05-19 21:51:07 |
Launchpad Janitor |
curtin (Ubuntu): status |
Confirmed |
Fix Released |
|
2017-06-12 19:51:54 |
Launchpad Janitor |
branch linked |
|
lp:~curtin-dev/curtin/artful |
|
2017-12-15 22:12:37 |
Scott Moser |
curtin: status |
Fix Committed |
Fix Released |
|