Linux Btrfs filesystem development
 help / color / mirror / Atom feed
* Effect of punching holes
@ 2019-10-22  9:47 Tobias Reinhard
  2019-10-22 10:01 ` Qu Wenruo
  0 siblings, 1 reply; 6+ messages in thread
From: Tobias Reinhard @ 2019-10-22  9:47 UTC (permalink / raw)
  To: linux-btrfs

Hi,


I noticed that if you punch a hole in the middle of a file the available 
filesystem space seems not to increase.

Kernel is 5.2.11

To reproduce:

->mkfs.btrfs /dev/loop1 -f

btrfs-progs v4.15.1
See http://btrfs.wiki.kernel.org for more information.

Detected a SSD, turning off metadata duplication.  Mkfs with -m dup if 
you want to force metadata duplication.
Label:              (null)
UUID:               415e925a-588a-4b8f-bdc7-c30a4a0f5587
Node size:          16384
Sector size:        4096
Filesystem size:    1.00GiB
Block group profiles:
   Data:             single            8.00MiB
   Metadata:         single            8.00MiB
   System:           single            4.00MiB
SSD detected:       yes
Incompat features:  extref, skinny-metadata
Number of devices:  1
Devices:
    ID        SIZE  PATH
     1     1.00GiB  /dev/loop1

->mount /dev/loop1 /srv/btrtest2

->for i in $(seq 1 20); do dd if=/dev/urandom of=test$i bs=16M count=4 ; 
sync ; fallocate -p -o 4096 -l 67100672 test$i && sync ; done

this failed from the 16th file on because of no space left

->df -T .
Filesystem     Type  1K-blocks   Used Available Use% Mounted on
/dev/loop1     btrfs   1048576 935856      2272 100% /srv/btrtest2

->btrfs fi du .
      Total   Exclusive  Set shared  Filename
    8.00KiB     8.00KiB           -  ./test1
    8.00KiB     8.00KiB           -  ./test2
    8.00KiB     8.00KiB           -  ./test3
    8.00KiB     8.00KiB           -  ./test4
    8.00KiB     8.00KiB           -  ./test5
    8.00KiB     8.00KiB           -  ./test6
    8.00KiB     8.00KiB           -  ./test7
    8.00KiB     8.00KiB           -  ./test8
    8.00KiB     8.00KiB           -  ./test9
    8.00KiB     8.00KiB           -  ./test10
    8.00KiB     8.00KiB           -  ./test11
    8.00KiB     8.00KiB           -  ./test12
    8.00KiB     8.00KiB           -  ./test13
    8.00KiB     8.00KiB           -  ./test14
    8.00KiB     8.00KiB           -  ./test15
    4.00KiB     4.00KiB           -  ./test16
    4.00KiB     4.00KiB           -  ./test17
    4.00KiB     4.00KiB           -  ./test18
    4.00KiB     4.00KiB           -  ./test19
    4.00KiB     4.00KiB           -  ./test20
  140.00KiB   140.00KiB       0.00B  .

When doing this on XFS or EXT4 it works as expected:

Filesystem     Type 1K-blocks  Used Available Use% Mounted on
/dev/loop1     ext4    999320  2764    927744   1% /srv/btrtest
/dev/loop2     xfs    1038336 40456    997880   4% /srv/xfstest

How to i reclaim the space on BTRFS? Defrag does not seem to help.

Best regards


Tobias


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-10-24 19:04 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-22  9:47 Effect of punching holes Tobias Reinhard
2019-10-22 10:01 ` Qu Wenruo
2019-10-22 13:04   ` Austin S. Hemmelgarn
2019-10-24 18:52     ` Tobias Reinhard
2019-10-24 19:04       ` Austin S. Hemmelgarn
2019-10-24 18:54   ` Tobias Reinhard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox