linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hendrik Friedel <hendrik@friedels.name>
To: Btrfs BTRFS <linux-btrfs@vger.kernel.org>
Subject: booting from BTRFS works only with one device in the pool
Date: Mon, 1 Feb 2016 22:31:47 +0100	[thread overview]
Message-ID: <56AFCEC3.9050803@friedels.name> (raw)

Hello,

I am running CentOS from a btrfs root.
This worked fine until I added a device to that pool:
btrfs device add /dev/sda3 /
reboot

This now causes the errors:
BTRFS: failed to read chunk tree on sdb3
BTRFS: open_ctree failed

Here  I am stuck in a recovery prompt.

btrfs fi show displays the file system correctly with 2.1GiB used for 
sdb3 and 0.00GiB used on sda3

btrfs-tools version reports
btrfs-progs v4.3.1

Now, I read that in case of this issue, should add the second device of 
the pool to the commandline argument of the kernel/the boot options/grub.cfg

But I am not sure how to do this.
I can mount /boot/  and the /boot/grub2/grub.cfg contains:
insmod ext2 (but not btrfs!)
set root='hd0,msdos1'
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 
--hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' 
4a470ac6-f013-4e7b-a4f3-3a58cc4debc3

after removing sda3 from the pool again, the system boots normally.

blkid gives:
/dev/sdb3: LABEL="rockstor_rockstor" 
UUID="f9de7c11-012e-4e5d-8b53-0e6d6c2916a3" 
UUID_SUB="24bdf07b-dbd3-44dc-9195-4b0bfedf974f" TYPE="btrfs" 
PARTLABEL="Linux filesystem" PARTUUID="c438bd3c-df9a-4e49-8607-47cd9b45e212"
(note /dev/sda3 is not shown here)

btrfs fi show
Label: 'rockstor_rockstor'  uuid: f9de7c11-012e-4e5d-8b53-0e6d6c2916a3
         Total devices 1 FS bytes used 1.38GiB
         devid    1 size 6.87GiB used 2.10GiB path /dev/sdb3





It's a pitty that the only NAS Distribution built around btrfs does not 
support the full feature-set of btrfs on its root partition.
Could you please help me fixing this?

Below you find the complete grub.cfg.

Regards,
Hendrik







cat /boot/grub2/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
set pager=1

if [ -s $prefix/grubenv ]; then
   load_env
fi
if [ "${next_entry}" ] ; then
    set default="${next_entry}"
    set next_entry=
    save_env next_entry
    set boot_once=true
else
    set default="${saved_entry}"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
   menuentry_id_option="--id"
else
   menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
   set saved_entry="${prev_saved_entry}"
   save_env saved_entry
   set prev_saved_entry=
   save_env prev_saved_entry
   set boot_once=true
fi

function savedefault {
   if [ -z "${boot_once}" ]; then
     saved_entry="${chosen}"
     save_env saved_entry
   fi
}

function load_video {
   if [ x$feature_all_video_module = xy ]; then
     insmod all_video
   else
     insmod efi_gop
     insmod efi_uga
     insmod ieee1275_fb
     insmod vbe
     insmod vga
     insmod video_bochs
     insmod video_cirrus
   fi
}

terminal_output console
if [ x$feature_timeout_style = xy ] ; then
   set timeout_style=menu
   set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
   set timeout=5
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/00_tuned ###
set tuned_params=""
### END /etc/grub.d/00_tuned ###

### BEGIN /etc/grub.d/01_users ###
if [ -f ${prefix}/user.cfg ]; then
   source ${prefix}/user.cfg
   if [ -n "${GRUB2_PASSWORD}" ]; then
     set superusers="root"
     export superusers
     password_pbkdf2 root ${GRUB2_PASSWORD}
   fi
fi
### END /etc/grub.d/01_users ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Rockstor (4.3.3-1.el7.elrepo.x86_64) 3 (Core)' --class rhel 
fedora --class gnu-linux --class gnu --class os --unrestricted 
$menuentry_id_option 
'gnulinux-4.3.3-1.el7.elrepo.x86_64-advanced-f9de7c11-012e-4e5d-8b53-0e6d6c2916a3' 
{
         load_video
         set gfxpayload=keep
         insmod gzio
         insmod part_msdos
         insmod ext2
         set root='hd0,msdos1'
         if [ x$feature_platform_search_hint = xy ]; then
           search --no-floppy --fs-uuid --set=root 
--hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 
--hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' 
4a470ac6-f013-4e7b-a4f3-3a58cc4debc3
         else
           search --no-floppy --fs-uuid --set=root 
4a470ac6-f013-4e7b-a4f3-3a58cc4debc3
         fi
         linux16 /vmlinuz-4.3.3-1.el7.elrepo.x86_64 
root=UUID=f9de7c11-012e-4e5d-8b53-0e6d6c2916a3 ro rootflags=subvol=root 
crashkernel=auto rhgb quiet LANG=en_US.UTF-8
         initrd16 /initramfs-4.3.3-1.el7.elrepo.x86_64.img
}
menuentry 'Rockstor (0-rescue-f5f625480f394bdc90d6d3c06be7fb88) 3 
(Core)' --class rhel fedora --class gnu-linux --class gnu --class os 
--unrestricted $menuentry_id_option 
'gnulinux-0-rescue-f5f625480f394bdc90d6d3c06be7fb88-advanced-f9de7c11-012e-4e5d-8b53-0e6d6c2916a3' 
{
         load_video
         insmod gzio
         insmod part_msdos
         insmod ext2
         set root='hd0,msdos1'
         if [ x$feature_platform_search_hint = xy ]; then
           search --no-floppy --fs-uuid --set=root 
--hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 
--hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' 
4a470ac6-f013-4e7b-a4f3-3a58cc4debc3
         else
           search --no-floppy --fs-uuid --set=root 
4a470ac6-f013-4e7b-a4f3-3a58cc4debc3
         fi
         linux16 /vmlinuz-0-rescue-f5f625480f394bdc90d6d3c06be7fb88 
root=UUID=f9de7c11-012e-4e5d-8b53-0e6d6c2916a3 ro rootflags=subvol=root 
crashkernel=auto rhgb quiet
         initrd16 /initramfs-0-rescue-f5f625480f394bdc90d6d3c06be7fb88.img
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_ppc_terminfo ###
### END /etc/grub.d/20_ppc_terminfo ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply 
type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
   source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
   source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###


---
Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft.
https://www.avast.com/antivirus


             reply	other threads:[~2016-02-01 21:44 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-01 21:31 Hendrik Friedel [this message]
2016-02-01 22:11 ` booting from BTRFS works only with one device in the pool Hugo Mills
2016-02-01 23:02   ` Duncan
2016-02-01 23:15     ` Hugo Mills
2016-02-02 22:01   ` Hendrik Friedel
2016-02-02 22:06     ` Chris Murphy
2016-02-03  6:31       ` Hendrik Friedel
2016-02-02 22:09     ` Hugo Mills
2016-02-01 23:29 ` Chris Murphy
2016-02-02 21:59   ` Hendrik Friedel
2016-02-02 22:04     ` Chris Murphy
2016-02-03 18:14       ` Hendrik Friedel
2016-02-03 20:30         ` Chris Murphy
2016-02-03 22:19           ` Chris Murphy
2016-02-13 14:38             ` Hendrik Friedel
2016-02-13 18:20               ` Chris Murphy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56AFCEC3.9050803@friedels.name \
    --to=hendrik@friedels.name \
    --cc=linux-btrfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).