I was using btrfs filesystem for some time on one of my external drives mainly to test deduplication and everything was working just fine. Unfortunately yesterday when I mounted the partition I noticed I can't write to it:
[root@X hdd]# dd if=/dev/zero of=file bs=4M count=1
dd: failed to open ‘file’: Read-only file system
I checked mount and find out that filesystem is mounted read-only (and stays that way even if I use --rw flag):
[root@X hdd]# mount
(...)
/dev/sdb1 on /mnt/hdd type btrfs (ro,relatime,space_cache,subvolid=5,subvol=/)
I made an assumption it's filesystem error so I tried to check it using btrfs check but sadly I get this:
[root@X]# btrfs check /dev/sdb1
Checking filesystem on /dev/sdb1
UUID: 7994d5c5-7408-4375-a24c-570456292a63
checking extents
Aborted (core dumped)
Info from journal:
Jan 05 19:29:24 arch-inspiron systemd-coredump[24451]: Process 24450 (btrfs) of user 0 dumped core.
Stack trace of thread 24450:
#0 0x00007f7958a065f8 raise (libc.so.6)
#1 0x00007f7958a07a7a abort (libc.so.6)
#2 0x000000000042315b n/a (btrfs)
#3 0x0000000000423768 n/a (btrfs)
#4 0x0000000000425d54 n/a (btrfs)
#5 0x0000000000426fbd n/a (btrfs)
#6 0x0000000000427cba n/a (btrfs)
#7 0x0000000000429e01 cmd_check (btrfs)
#8 0x000000000040ef32 main (btrfs)
#9 0x00007f79589f3610 __libc_start_main (libc.so.6)
#10 0x000000000040f039 _start (btrfs)
-- Subject: Process 24450 (btrfs) dumped core
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- Documentation: man:core(5)
--
-- Process 24450 (btrfs) crashed and dumped core.
Any idea how to fix this? And what can be the problem and cause?
System info: Linux arch-inspiron 4.3.3-2-ARCH #1 SMP PREEMPT Wed Dec 23 20:09:18 CET 2015 x86_64 GNU/Linux, fully updated.