diff --git a/kmod/src/data.c b/kmod/src/data.c index d1070f8f..713a2d36 100644 --- a/kmod/src/data.c +++ b/kmod/src/data.c @@ -632,9 +632,6 @@ int scoutfs_data_truncate_items(struct super_block *sb, u64 ino, u64 iblock, holding = false; } - if (holding) - scoutfs_release_trans(sb); - if (ret) { if (ins_ext) { err = insert_extent(sb, &ext, ino, @@ -648,6 +645,9 @@ int scoutfs_data_truncate_items(struct super_block *sb, u64 ino, u64 iblock, } } + if (holding) + scoutfs_release_trans(sb); + return ret; }