...I'm back on board, now more or less till September. v1: - initial implementation (patches 1, 2) v2: - cleanup, fixes discovered in debug mode - saner logging - assertions - enablement of discard through mount option v3: - fixed the extent merge loop in discard_atom() v4: - squashed fix-ups into the main patch (with exception of reiser4_debug()) - fixed bug in usage of division ops discovered while building on ARM BTW, it seems that I've understood the logic of block allocation/deallocation (the disk space leak problem you mentioned earlier), and... this breaks the idea of ->discard_set (i. e. "log everything"). I'll write a follow-up once I verify the (in-)consistency of my thoughts :) Ivan Shapovalov (4): reiser4: discard support: make space_allocator's check_blocks() reusable. reiser4: add reiser4_debug(): a conditional equivalent of reiser4_log(). reiser4: discard support: initial implementation using extent lists. reiser4: discard support: enable discard functionality through a mount option. fs/reiser4/Makefile | 1 + fs/reiser4/block_alloc.c | 38 ++- fs/reiser4/block_alloc.h | 14 +- fs/reiser4/debug.h | 4 + fs/reiser4/dformat.h | 2 + fs/reiser4/discard.c | 488 ++++++++++++++++++++++++++++++ fs/reiser4/discard.h | 38 +++ fs/reiser4/forward.h | 1 + fs/reiser4/init_super.c | 2 + fs/reiser4/plugin/space/bitmap.c | 81 +++-- fs/reiser4/plugin/space/bitmap.h | 2 +- fs/reiser4/plugin/space/space_allocator.h | 4 +- fs/reiser4/super.h | 4 +- fs/reiser4/txnmgr.c | 19 ++ fs/reiser4/txnmgr.h | 5 + fs/reiser4/znode.c | 9 +- 16 files changed, 657 insertions(+), 55 deletions(-) create mode 100644 fs/reiser4/discard.c create mode 100644 fs/reiser4/discard.h -- 2.0.0 -- To unsubscribe from this list: send the line "unsubscribe reiserfs-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html