Re: [PATCH] Btrfs: dynamically remove unused block groups

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Nov 30, 2010 at 09:37:17AM -0800, Josh Berry wrote:
> On Tue, Nov 30, 2010 at 08:46, Josef Bacik <josef@xxxxxxxxxx> wrote:
> > Btrfs only allocates chunks as we need them, however we do not delete chunks as
> > we stop using them.  This patch adds this capability.  Whenever we clear the
> > last bit of used space in a block group we try and mark it read only, and then
> > when the last pinned space is finally removed we queue up the deletion work.
> > I've tested this with xfstests and my enospc tests.  When filling up the disk
> > I see that we've allocated the entire disk of chunks, and then when I do rm *
> > there is a bunch of space freed up.  Thanks,
> 
> Stupid user question:
> 
> I have a btrfs filesystem on a 2.6.36 kernel that used to have ~800GB
> of data on it.  Then I deleted ~500GB of it (moved it elsewhere), but
> my space usage as reported by df and the btrfs tool didn't decrease
> appreciably.  Might this be why?
> 

So without this patch, with a full fs I do this

[root@test1244 ~]# ./btrfs-progs-unstable/btrfs fi df /mnt/btrfs-test/
Data: total=980.25MB, used=909.91MB
System, DUP: total=16.00MB, used=4.00KB
System: total=4.00MB, used=0.00
Metadata, DUP: total=511.88MB, used=190.42MB
Metadata: total=8.00MB, used=0.00

If I removed everything from the fs, you'd still see Data total=980.25MB, but
used should be close to 0 (this is assuming no snapshots and such).  With this
patch if I rm -rf /mnt/btrfs/* I get this

[root@test1244 ~]# ./btrfs-progs-unstable/btrfs fi df /mnt/btrfs-test/
Data: total=204.75MB, used=192.00KB
System, DUP: total=16.00MB, used=4.00KB
System: total=4.00MB, used=0.00
Metadata, DUP: total=307.12MB, used=24.00KB
Metadata: total=8.00MB, used=0.00

So that free'd up ~700mb in data space and ~200mb in metadata space that can be
allocated to either data/metadata based on your usage patterns.  I hope that
helps explain it.  Thanks,

Josef
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux