{"action":"created","issue":{"url":"https://api.github.com/repos/rockstor/rockstor-core/issues/1329","repository_url":"https://api.github.com/repos/rockstor/rockstor-core","labels_url":"https://api.github.com/repos/rockstor/rockstor-core/issues/1329/labels{/name}","comments_url":"https://api.github.com/repos/rockstor/rockstor-core/issues/1329/comments","events_url":"https://api.github.com/repos/rockstor/rockstor-core/issues/1329/events","html_url":"https://github.com/rockstor/rockstor-core/issues/1329","id":157027090,"number":1329,"title":"Conflicting udev rules causing failure to boot with root on multi-device btrfs","user":{"login":"greghensley","id":3876575,"avatar_url":"https://avatars.githubusercontent.com/u/3876575?v=3","gravatar_id":"","url":"https://api.github.com/users/greghensley","html_url":"https://github.com/greghensley","followers_url":"https://api.github.com/users/greghensley/followers","following_url":"https://api.github.com/users/greghensley/following{/other_user}","gists_url":"https://api.github.com/users/greghensley/gists{/gist_id}","starred_url":"https://api.github.com/users/greghensley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/greghensley/subscriptions","organizations_url":"https://api.github.com/users/greghensley/orgs","repos_url":"https://api.github.com/users/greghensley/repos","events_url":"https://api.github.com/users/greghensley/events{/privacy}","received_events_url":"https://api.github.com/users/greghensley/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2016-05-26T16:39:08Z","updated_at":"2016-12-31T04:58:20Z","closed_at":null,"body":"It is well known that Rockstor currently does not support booting to a multi-device btrfs root (hence, the official [mirrored boot device tutorial](http://rockstor.com/docs/mdraid-mirror/boot_drive_howto.html)), because the btrfs device scan is not being performed early in the boot process.\n\nHowever, the root cause of the issue appears to be `/etc/udev/rules.d/64-btrfs.rules`.  This udev rule file is installed by the post-install script of the `rockstor` RPM package (copied from `/opt/rockstor/conf/64-btrfs.rules`), and does nothing more than create the `/dev/btrfs-control` device file.\n\nFirst, it appears that the version of systemd, shipped with CentOS 7, is already capable of creating the btrfs-control file, automatically, so the rule file is redundant.\n\nSecond, and the cause of the failure to boot, this file shadows systemd's own btrfs rules: `/usr/lib/udev/rules.d/64-btrfs.rules`.  Systemd's rule file correctly runs `btrfs ready $devnode` for any device, found by udev, for which `blkid` identifies as a btrfs filesystem.  But, since there is already a rule file with a matching name in `/etc/udev/rules.d`, systemd's rule file is never loaded.  This can be verified by booting with the `rdudevdebug` kernel parameter.\n\nSimply removing the Rockstor-provided `/etc/udev/rules.d/64-btrfs.conf` and regenerating the initramfs was enough to successfully boot to a 2-disk btrfs mirror.\n"},"comment":{"url":"https://api.github.com/repos/rockstor/rockstor-core/issues/comments/269849597","html_url":"https://github.com/rockstor/rockstor-core/issues/1329#issuecomment-269849597","issue_url":"https://api.github.com/repos/rockstor/rockstor-core/issues/1329","id":269849597,"user":{"login":"haoto","id":792683,"avatar_url":"https://avatars.githubusercontent.com/u/792683?v=3","gravatar_id":"","url":"https://api.github.com/users/haoto","html_url":"https://github.com/haoto","followers_url":"https://api.github.com/users/haoto/followers","following_url":"https://api.github.com/users/haoto/following{/other_user}","gists_url":"https://api.github.com/users/haoto/gists{/gist_id}","starred_url":"https://api.github.com/users/haoto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/haoto/subscriptions","organizations_url":"https://api.github.com/users/haoto/orgs","repos_url":"https://api.github.com/users/haoto/repos","events_url":"https://api.github.com/users/haoto/events{/privacy}","received_events_url":"https://api.github.com/users/haoto/received_events","type":"User","site_admin":false},"created_at":"2016-12-31T04:58:20Z","updated_at":"2016-12-31T04:58:20Z","body":"@greghensley Thanks so much for the find! I have the same setup and have been plagued by this bug for more than a year. Before this I had to use yum versionlock kernel-ml to prevent kernel updates when I'm not around.\r\n\r\n@phillxnet Any chance we can get this fixed in Rockstor? Thanks!"}}
{"actor":{"display_login":"haoto"}}