Ok, I'll include this to the 3.15.2-reiser4-basic-discard-support.patch As to 3.16: unfortunately the ancient bug, which leads to non-deleted directories raised the head in 3.16. I don't want to release buggy stuff. So let's work around the stable 3.15 for now.. Thanks, Edward. On 09/08/2014 08:43 PM, Ivan Shapovalov wrote:
Actually, the idea of converting immediate allocations into deferred when discard is enabled was flawed. Deferred deallocations ignore block stage and additional flags, while some immediate deallocations use non-standard stage/flags which do not match what's done by reiser4_post_write_back_hook(). While at it, I've removed specifications of block stage in deferred deallocations. It is not used anyway. This is first commit. Next commit does the following. Actually, most of the immediate deallocations do not need to be considered for discarding: these are deallocations done in error paths, and respective blocks are never written between their allocation and deallocation. Two exceptions are deallocations in wandering log code. In these cases, blocks are allocated, then written, then deallocated without BA_DEFER. I've just made these deallocations explicitly deferred, which is OK because they have a suitable block stage. Last commit actually removes wrong code, again making immediate deallocations always immediate. Ivan Shapovalov (3): reiser4: deferred (BA_DEFER) deallocations do not make use of target stage. reiser4: mark final deallocations in wandering log code as deferred. reiser4: block_alloc: get rid of discard-related hack in reiser4_dealloc_blocks(). fs/reiser4/block_alloc.c | 9 +++++++-- fs/reiser4/plugin/txmod.c | 15 +++++---------- fs/reiser4/wander.c | 6 +++--- 3 files changed, 15 insertions(+), 15 deletions(-)
-- 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