Re: [systemd-devel] [PATCH] allow systemd to manage loop device partitions

2014-07-31 Thread Kay Sievers
On Thu, Jul 31, 2014 at 4:00 AM, Kevin Wells wellsie1...@gmail.com wrote:
 SYSTEMD_READY is currently set to 0 for all loop devices (loop[0-9]*)
 that do not have a backing_file. Partitioned loop devices (ex. loop0p1),
 however, are matched by this rule and excluded by systemd even though
 they are active devices.

 This change adds an additional check to the rule, ensuring that only
 top level loop devices (loop[0-9]+$) are excluded from systemd.

Applied.

Thanks,
Kay
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


[systemd-devel] [PATCH] allow systemd to manage loop device partitions

2014-07-30 Thread Kevin Wells
Hello,

A recent change to udev prevented loop partitions (ex. /dev/loop0p2) from
being managed by systemd.  I'd like to modify the rule to match only what
was intended, loop devices that aren't yet attached to anything.

git format-patch below.  I've never submitted a patch before, please let me
know if I did this wrong.


SYSTEMD_READY is currently set to 0 for all loop devices (loop[0-9]*)
that do not have a backing_file. Partitioned loop devices (ex. loop0p1),
however, are matched by this rule and excluded by systemd even though
they are active devices.

This change adds an additional check to the rule, ensuring that only
top level loop devices (loop[0-9]+$) are excluded from systemd.
---
 rules/99-systemd.rules.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/rules/99-systemd.rules.in b/rules/99-systemd.rules.in
index c3ef81b..aa435c4 100644
--- a/rules/99-systemd.rules.in
+++ b/rules/99-systemd.rules.in
@@ -23,7 +23,7 @@ SUBSYSTEM==block, ENV{DEVTYPE}==disk, KERNEL==md*,
TEST!=md/array_state,
 SUBSYSTEM==block, ENV{DEVTYPE}==disk, KERNEL==md*,
ATTR{md/array_state}==|clear|inactive, ENV{SYSTEMD_READY}=0

 # Ignore loop devices that don't have any file attached
-SUBSYSTEM==block, KERNEL==loop[0-9]*, TEST!=loop/backing_file,
ENV{SYSTEMD_READY}=0
+SUBSYSTEM==block, KERNEL==loop[0-9]*, ENV{DEVTYPE}==disk,
TEST!=loop/backing_file, ENV{SYSTEMD_READY}=0

 # Ignore nbd devices in the add event, with change the nbd is ready
 ACTION==add, SUBSYSTEM==block, KERNEL==nbd*, ENV{SYSTEMD_READY}=0
-- 
2.0.3


Why add the check I did?
inactive loop devices have a DEVTYPE of disk and no backing file
active loop devices have a DEVTYPE of disk and a backing file
active loop partitions (loop*p*) have a DEVTYPE of partition and no backing
file

So, this change selects on both a DEVTYPE of disk and no backing file, so
we only get inactive loop devices, and not loop partitions, that might just
happen to be my root partition.

Thanks!

Kevin
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel