История изменений
Исправление
uwuwuu,
(текущая версия)
:
Я еще попытался переполнить файловую систему, а потом начать ее чинить, и починка ее тоже не сломала:
/tmp
❯ fallocate -l 10G btr_container
/tmp
❯ mkfs.btrfs btr_container
btrfs-progs v6.3
See https://btrfs.readthedocs.io for more information.
NOTE: several default settings have changed in version 5.15, please make sure
this does not affect your deployments:
- DUP for metadata (-m dup)
- enabled no-holes (-O no-holes)
- enabled free-space-tree (-R free-space-tree)
Label: (null)
UUID: f5b76b4a-41d2-4d98-9146-98efb04fa9de
Node size: 16384
Sector size: 4096
Filesystem size: 10.00GiB
Block group profiles:
Data: single 8.00MiB
Metadata: DUP 256.00MiB
System: DUP 8.00MiB
SSD detected: no
Zoned device: no
Incompat features: extref, skinny-metadata, no-holes, free-space-tree
Runtime features: free-space-tree
Checksum: crc32c
Number of devices: 1
Devices:
ID SIZE PATH
1 10.00GiB btr_container
/tmp
❯ sudo losetup -f --show btr_container
/dev/loop0
/tmp
❯ sudo mount /dev/loop0 /mnt
/tmp
❯ cd /mnt
/mnt
❯ sudo mkdir -m 0777 test
/mnt
❯ cd test
/mnt/test
❯ for ((i=0;i<10*1024;i++)); do dd if=/dev/urandom of=$i.dat bs=1M count=1; done
1+0 records in
1+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.00250879 s, 418 MB/s
...
dd: error writing '10239.dat': No space left on device
1+0 records in
0+0 records out
0 bytes copied, 0.00320071 s, 0.0 kB/s
/mnt/test 45s
❯ touch 1
/mnt/test
❯ touch foo
/mnt/test
❯ echo 'test' > 🍆
echo: write error: no space left on device
/mnt/test
❯ findmnt /mnt
TARGET
SOURCE FSTYPE OPTIONS
/mnt /dev/loop0 btrfs rw,relatime,ssd,discard=async,space_cache=v2,subvolid=5,subvol=/
/mnt/test
❯ ..
/mnt
❯ sudo btrfsck --repair /mnt
enabling repair mode
WARNING:
Do not use --repair unless you are advised to do so by a developer
or an experienced user, and then only after having accepted that no
fsck can successfully repair all types of filesystem corruption. E.g.
some software or hardware bugs can fatally damage a volume.
The operation will start in 10 seconds.
Use Ctrl-C to stop it.
10 9 8 7 6 5 4 3 2 1
Starting repair.
Opening filesystem to check...
ERROR: not a regular file or block device: /mnt
ERROR: cannot open file system
❯ sudo btrfsck --repair --force /dev/loop0
enabling repair mode
Opening filesystem to check...
WARNING: filesystem mounted, continuing because of --force
Checking filesystem on /dev/loop0
UUID: f5b76b4a-41d2-4d98-9146-98efb04fa9de
[1/7] checking root items
Fixed 0 roots.
[2/7] checking extents
No device size related problem found
[3/7] checking free space tree
[4/7] checking fs roots
[5/7] checking only csums items (without verifying data)
[6/7] checking root refs
[7/7] checking quota groups skipped (not enabled on this FS)
found 10200875008 bytes used, no error found
total csum bytes: 9944064
total tree bytes: 18153472
total fs tree bytes: 5357568
total extent tree bytes: 868352
btree space waste bytes: 2766396
file data blocks allocated: 10182721536
referenced 10182721536
/mnt
❯ sudo rm -rf test
/mnt
❯ sudo mkdir -m 0777 foo
/mnt
❯ cd foo
/mnt/foo
❯ echo 'test' > 🍆
/mnt/foo
❯ cat 🍆
test
Я подозреваю, что у ОПа диск при смерти либо память. Те если принудительно починить переполненную файловую систему, то ее этим не сломать.
Исправление
uwuwuu,
:
Я еще попытался переполнить файловую систему, а потом начать ее чинить, и починка ее тоже не сломала:
/tmp
❯ fallocate -l 10G btr_container
/tmp
❯ mkfs.btrfs btr_container
btrfs-progs v6.3
See https://btrfs.readthedocs.io for more information.
NOTE: several default settings have changed in version 5.15, please make sure
this does not affect your deployments:
- DUP for metadata (-m dup)
- enabled no-holes (-O no-holes)
- enabled free-space-tree (-R free-space-tree)
Label: (null)
UUID: f5b76b4a-41d2-4d98-9146-98efb04fa9de
Node size: 16384
Sector size: 4096
Filesystem size: 10.00GiB
Block group profiles:
Data: single 8.00MiB
Metadata: DUP 256.00MiB
System: DUP 8.00MiB
SSD detected: no
Zoned device: no
Incompat features: extref, skinny-metadata, no-holes, free-space-tree
Runtime features: free-space-tree
Checksum: crc32c
Number of devices: 1
Devices:
ID SIZE PATH
1 10.00GiB btr_container
/tmp
❯ sudo losetup -f --show btr_container
/dev/loop0
/tmp
❯ sudo mount /dev/loop0 /mnt
/tmp
❯ cd /mnt
/mnt
❯ sudo mkdir -m 0777 test
/mnt
❯ cd test
/mnt/test
❯ for ((i=0;i<10*1024;i++)); do dd if=/dev/urandom of=$i.dat bs=1M count=1; done
1+0 records in
1+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.00250879 s, 418 MB/s
...
dd: error writing '10239.dat': No space left on device
1+0 records in
0+0 records out
0 bytes copied, 0.00320071 s, 0.0 kB/s
/mnt/test 45s
❯ touch 1
/mnt/test
❯ touch foo
/mnt/test
❯ echo 'test' > 🍆
echo: write error: no space left on device
/mnt/test
❯ findmnt /mnt
TARGET
SOURCE FSTYPE OPTIONS
/mnt /dev/loop0 btrfs rw,relatime,ssd,discard=async,space_cache=v2,subvolid=5,subvol=/
/mnt/test
❯ ..
/mnt
❯ sudo btrfsck --repair /mnt
enabling repair mode
WARNING:
Do not use --repair unless you are advised to do so by a developer
or an experienced user, and then only after having accepted that no
fsck can successfully repair all types of filesystem corruption. E.g.
some software or hardware bugs can fatally damage a volume.
The operation will start in 10 seconds.
Use Ctrl-C to stop it.
10 9 8 7 6 5 4 3 2 1
Starting repair.
Opening filesystem to check...
ERROR: not a regular file or block device: /mnt
ERROR: cannot open file system
❯ sudo btrfsck --repair --force /dev/loop0
enabling repair mode
Opening filesystem to check...
WARNING: filesystem mounted, continuing because of --force
Checking filesystem on /dev/loop0
UUID: f5b76b4a-41d2-4d98-9146-98efb04fa9de
[1/7] checking root items
Fixed 0 roots.
[2/7] checking extents
No device size related problem found
[3/7] checking free space tree
[4/7] checking fs roots
[5/7] checking only csums items (without verifying data)
[6/7] checking root refs
[7/7] checking quota groups skipped (not enabled on this FS)
found 10200875008 bytes used, no error found
total csum bytes: 9944064
total tree bytes: 18153472
total fs tree bytes: 5357568
total extent tree bytes: 868352
btree space waste bytes: 2766396
file data blocks allocated: 10182721536
referenced 10182721536
/mnt
❯ sudo rm -rf test
/mnt
❯ sudo mkdir -m 0777 foo
/mnt
❯ cd foo
/mnt/foo
❯ echo 'test' > 🍆
/mnt/foo
❯ cat 🍆
test
Я подозреваю, что диск при смерти либо память.
Исходная версия
uwuwuu,
:
Я еще попытался переполнить файловую систему, а потом начать ее чинить, и починка ее тоже не сломала:
/tmp
❯ fallocate -l 10G btr_container
/tmp
❯ mkfs.btrfs btr_container
btrfs-progs v6.3
See https://btrfs.readthedocs.io for more information.
NOTE: several default settings have changed in version 5.15, please make sure
this does not affect your deployments:
- DUP for metadata (-m dup)
- enabled no-holes (-O no-holes)
- enabled free-space-tree (-R free-space-tree)
Label: (null)
UUID: f5b76b4a-41d2-4d98-9146-98efb04fa9de
Node size: 16384
Sector size: 4096
Filesystem size: 10.00GiB
Block group profiles:
Data: single 8.00MiB
Metadata: DUP 256.00MiB
System: DUP 8.00MiB
SSD detected: no
Zoned device: no
Incompat features: extref, skinny-metadata, no-holes, free-space-tree
Runtime features: free-space-tree
Checksum: crc32c
Number of devices: 1
Devices:
ID SIZE PATH
1 10.00GiB btr_container
/tmp
❯ sudo losetup -f --show btr_container
/dev/loop0
/tmp
❯ sudo mount /dev/loop0 /mnt
/tmp
❯ cd /mnt
/mnt
❯ sudo mkdir -m 0777 test
/mnt
❯ cd test
/mnt/test
❯ for ((i=0;i<10*1024;i++)); do dd if=/dev/urandom of=$i.dat bs=1M count=1; done
1+0 records in
1+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.00250879 s, 418 MB/s
...
dd: error writing '10239.dat': No space left on device
1+0 records in
0+0 records out
0 bytes copied, 0.00320071 s, 0.0 kB/s
/mnt/test 45s
❯ touch 1
/mnt/test
❯ touch foo
/mnt/test
❯ echo 'test' > 🍆
echo: write error: no space left on device
/mnt/test
❯ findmnt /mnt
TARGET
SOURCE FSTYPE OPTIONS
/mnt /dev/loop0 btrfs rw,relatime,ssd,discard=async,space_cache=v2,subvolid=5,subvol=/
/mnt/test
❯ ..
/mnt
❯ sudo btrfsck --repair /mnt
enabling repair mode
WARNING:
Do not use --repair unless you are advised to do so by a developer
or an experienced user, and then only after having accepted that no
fsck can successfully repair all types of filesystem corruption. E.g.
some software or hardware bugs can fatally damage a volume.
The operation will start in 10 seconds.
Use Ctrl-C to stop it.
10 9 8 7 6 5 4 3 2 1
Starting repair.
Opening filesystem to check...
ERROR: not a regular file or block device: /mnt
ERROR: cannot open file system
/mnt
❯ sudo rm -rf test
/mnt
❯ sudo mkdir -m 0777 foo
/mnt
❯ cd foo
/mnt/foo
❯ echo 'test' > 🍆
/mnt/foo
❯ cat 🍆
test
Я подозреваю, что диск при смерти либо память.