Thread (4 messages) 4 messages, 2 authors, 2021-01-27

Re: Only one subvolume can be mounted after replace/balance

From: Chris Murphy <hidden>
Date: 2021-01-25 22:49:01

On Sat, Jan 23, 2021 at 7:50 AM Jakob Schöttl [off-list ref] wrote:
Hi,

In short:
When mounting a second subvolume from a pool, I get this error:
"mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sda,
missing code page or helper program, or other."
dmesg | grep BTRFS only shows this error:
info (device sda): disk space caching is enabled
error (device sda): Remounting read-write after error is not allowed
It went read-only before this because it's confused. You need to
unmount it before it can be mounted rw. In some cases a reboot is
needed.
What happened:

In my RAID1 pool with two disk, I successfully replaced one disk with

btrfs replace start 2 /dev/sdx

After that, I mounted the pool and did
I don't understand this sequence. In order to do a replace, the file
system is already mounted.
btrfs fi show /mnt

which showed WARNINGs about
"filesystems with multiple block group profiles detected"
(don't remember exactly)

I thought it is a good idea to do

btrfs balance start /mnt

which finished without errors.
Balance alone does not convert block groups to a new profile. You have
to explicitly select a conversion filter, e.g.

btrfs balance start -dconvert=raid1,soft -mconvert=raid1,soft /mnt
Now, I can only mount one (sub)volume of the pool at a time. Others can
only be mounted read-only. See error messages at top of this mail.

Do you have any idea what happened or how to fix it?

I already tried rescue zero-log and super-recovery which was successful
but didn't help.
I advise anticipating the confusion will get worse, and take the
opportunity to refresh the backups. That's the top priority, not
fixing the file system.

Next let us know the following:

kernel version
btrfs-progs version
Output from commands:
btrfs fi us /mnt
btrfs check --readonly


-- 
Chris Murphy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help