On 2018/11/9 上午6:40, Pieter Maes wrote: > Hello, > > So, I've had the full disk issue, so when I tried re-balancing, > I got a panic, that pushed filesystem read-only and I'm unable to > balance or grow the filesystem now. > > fs info: > btrfs fi show / > Label: none uuid: 9b591b6b-6040-437e-9398-6883ca3bf1bb > Total devices 1 FS bytes used 614.94GiB > devid 1 size 750.00GiB used 750.00GiB path /dev/mapper/vg0-root > > btrfs fi df / > Data, single: total=740.94GiB, used=610.75GiB > System, DUP: total=32.00MiB, used=112.00KiB > Metadata, DUP: total=4.50GiB, used=3.94GiB Metadata usage the the biggest problem. It's already used up. > GlobalReserve, single: total=512.00MiB, used=255.06MiB And the reserved space is also been used, that's a pretty bad news. > > btrfs sub list -ta / > ID gen top level path > -- --- --------- ---- > > btrfs --version > btrfs-progs v4.4 > > Log when booting machine now from root: > > ---- > > [ 54.746700] ------------[ cut here ]------------ > [ 54.746701] BTRFS: Transaction aborted (error -28) Transaction can't even be done due to lack of space. [snip] > > ---- > > When booting to a net/livecd rescue > First I run a check with repair: > > ---- > > enabling repair mode > Checking filesystem on /dev/vg0/root > UUID: 9b591b6b-6040-437e-9398-6883ca3bf1bb > checking extents > Fixed 0 roots. > checking free space cache > cache and super generation don't match, space cache will be invalidated > checking fs roots > reset nbytes for ino 6228034 root 5 It's a minor problem. So the fs itself is still pretty health. > checking csums > checking root refs > found 664259596288 bytes used err is 0 > total csum bytes: 619404608 > total tree bytes: 4237737984 > total fs tree bytes: 1692581888 > total extent tree bytes: 1461665792 > btree space waste bytes: 945044758 > file data blocks allocated: 1568329531392 > referenced 537131163648 > ---- > > But then when I try to mount the fs: > > ---- [snip] > > rescue kernel: 4.9.120 > > ---- > > I've grown the blockdevice, but there is no way I can grow the fs, > it doesn't want to mount in my rescue system, and it only mounts > read-only when booting from it, so I can't do it from there either Btrfs-progs could do it with some extra dirty work. (I purposed offline device resize idea, but didn't implement it yet) You could use this branch: https://github.com/adam900710/btrfs-progs/tree/dirty_fix It's a quick and dirty fix to allow "btrfs-corrupt-block -X <device>" to extent device size to max. Please try above command to see if it solves your problem. Thanks, Qu > > I hope someone can help me out with this. > Thanks! >
Attachment:
signature.asc
Description: OpenPGP digital signature
