Mailinglist Archive: opensuse-bugs (3349 mails)

< Previous Next >
[Bug 912170] Boot fails with BTRFS RAID1 array as /home - open ctree failed
  • From: bugzilla_noreply@xxxxxxxxxx
  • Date: Tue, 03 May 2016 22:20:03 +0000
  • Message-id: <bug-912170-21960-dEZ0qM9CHZ@http.bugzilla.suse.com/>
http://bugzilla.suse.com/show_bug.cgi?id=912170
http://bugzilla.suse.com/show_bug.cgi?id=912170#c44

Jeff Mahoney <jeffm@xxxxxxxx> changed:

What |Removed |Added
----------------------------------------------------------------------------
Flags|needinfo?(jeffm@xxxxxxxx) |

--- Comment #44 from Jeff Mahoney <jeffm@xxxxxxxx> ---
Bugzilla cleanup day for me. Sorry this got lost for so long. The good news
is that I think I have a cleaner fix that doesn't involve any code changes.

Here are the updated rules:

# let the kernel know about this btrfs filesystem, and check if it is complete
IMPORT{builtin}="btrfs ready $devnode"

# Once the device mapper symlink is created, tell btrfs about it
# so we get the friendly name in /proc/mounts (and tools that read it)
ENV{DM_NAME}=="?*", RUN{builtin}+="btrfs ready /dev/mapper/$env{DM_NAME}"

I've tested this to work as expected on my test system using two device mapper
devices as components for a RAID1 btrfs setup. The file system mounts without
intervention and the friendly names appear in 'df' output.

The reason this works is: IMPORT rules are executed immediately since they are
a dependency for further rule evaluation. RUN and SYMLINK are executed at the
end in the order they are defined. Since the SYMLINK rule is before the btrfs
rules, the symlink is in place by the time the RUN rule executes.

The kernel recognizes it as a device we've already seen and just updates the
name we use for it.

--
You are receiving this mail because:
You are on the CC list for the bug.
< Previous Next >