summaryrefslogtreecommitdiffstats
path: root/fs/nilfs2/segment.c
diff options
context:
space:
mode:
authorRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>2015-11-07 01:31:56 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2015-11-07 02:50:42 +0100
commitd0c14a9ee79467cd6a04b281577e1e6f74806ab2 (patch)
treea757000613b5d690b972ead91eb5a5adefc8c4b5 /fs/nilfs2/segment.c
parentnilfs2: add helper functions to delete blocks from dat file (diff)
downloadlinux-d0c14a9ee79467cd6a04b281577e1e6f74806ab2.tar.xz
linux-d0c14a9ee79467cd6a04b281577e1e6f74806ab2.zip
nilfs2: free unused dat file blocks during garbage collection
As a nilfs2 volume ages, the amount of available disk space decreases little by little due to bloat of DAT (disk address translation) metadata file. Even if we delete all files in a file system and free their block addresses from the DAT file through a garbage collection, empty DAT blocks are not freed. This fixes the issue by extending the deallocator of block addresses so that empty data blocks and empty bitmap blocks of DAT are deleted. The following comparison shows the effect of this patch. Each shows disk amount information of a nilfs2 volume that we cleaned out by deleting all files and running gc after having filled 90% of its capacity. Before: Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 500105212 3022844 472072192 1% /test After: Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 500105212 16380 475078656 1% /test Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/nilfs2/segment.c')
0 files changed, 0 insertions, 0 deletions