From 0844727c55d52ec24f6cfb7fa043755a6635949c Mon Sep 17 00:00:00 2001 From: Andrew Perepechko Date: Thu, 21 Oct 2021 22:40:39 +0300 Subject: [PATCH 1/1] LU-15143 osd-ldiskfs: osd_declare_write() underestimates credits osd_declare_write() seems to underestimate journal credits for the extent case. It does not properly account credits for a new extent tree block. 3 credits (bitmap, gd, self) should be accounted for a new data block and for a new extent tree block. Change-Id: Iad463cac3a2a8c2b2a6b1a634e7502039bb1b7e5 HPE-bug-id: LUS-10514 Signed-off-by: Andrew Perepechko Reviewed-on: https://review.whamcloud.com/45328 Reviewed-by: Alexander Boyko Tested-by: Maloo Reviewed-by: Artem Blagodarenko Tested-by: jenkins Reviewed-by: Oleg Drokin --- lustre/osd-ldiskfs/osd_io.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lustre/osd-ldiskfs/osd_io.c b/lustre/osd-ldiskfs/osd_io.c index 52ff06b3..dc4208a 100644 --- a/lustre/osd-ldiskfs/osd_io.c +++ b/lustre/osd-ldiskfs/osd_io.c @@ -1956,7 +1956,7 @@ static ssize_t osd_declare_write(const struct lu_env *env, struct dt_object *dt, * level. */ depth = inode != NULL ? ext_depth(inode) : 0; - depth = min(max(depth, 1) + 1, LDISKFS_MAX_EXTENT_DEPTH); + depth = min(max(depth, 1) + 3, LDISKFS_MAX_EXTENT_DEPTH); credits = depth; /* if not append, then split may need to modify * existing blocks moving entries into the new ones -- 1.8.3.1