The atoms generated by reiser4_trim_fs(), despite being empty (zero capture_count), still have non-empty delete sets which have to be processed. Signed-off-by: Ivan Shapovalov <intelfx100@xxxxxxxxx> --- fs/reiser4/txnmgr.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/fs/reiser4/txnmgr.c b/fs/reiser4/txnmgr.c index 2862940..3f44c9c 100644 --- a/fs/reiser4/txnmgr.c +++ b/fs/reiser4/txnmgr.c @@ -1064,8 +1064,13 @@ static int commit_current_atom(long *nr_submitted, txn_atom ** atom) return RETERR(-E_REPEAT); } - if ((*atom)->capture_count == 0) + if ((*atom)->capture_count == 0) { + /* Process the atom's delete set. + * Even if the atom has no captured nodes, the delete set may + * still be non-empty (see e. g. reiser4_trim_fs()). */ + reiser4_post_writeback_hook(); goto done; + } /* Up to this point we have been flushing and after flush is called we return -E_REPEAT. Now we can commit. We cannot return -E_REPEAT -- 2.0.4 -- 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