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
