On Tue, Nov 30, 2010 at 11:01, Josef Bacik <josef@xxxxxxxxxx> wrote: > 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. That makes sense, thanks. I was still seeing very high data-used, but it turns out there was an old snapshot I didn't know I had, so the problem was really stupid-user error. :) -- Josh -- 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
