From 1f4151ba716c023429e5d6ad7530717f99a43c9f Mon Sep 17 00:00:00 2001 From: Timothy Day Date: Sun, 20 Aug 2023 04:10:27 +0000 Subject: [PATCH] LU-6142 lov: cleanup unneeded macros from lov_request.c One macro defines a custom U64_MAX. The other adds together two numbers, capping the sum at U64_MAX. These macros are only used in a couple places. The logic would be clearer and more concise without them. Also, fix an incorrect comment. Test-Parameters: trivial Signed-off-by: Timothy Day Change-Id: I31012fbddba459df909c27cde8c59461f013c3be Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52014 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: James Simmons Reviewed-by: Arshad Hussain Reviewed-by: Oleg Drokin --- lustre/lov/lov_request.c | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/lustre/lov/lov_request.c b/lustre/lov/lov_request.c index 511e423..76074ed 100644 --- a/lustre/lov/lov_request.c +++ b/lustre/lov/lov_request.c @@ -142,15 +142,6 @@ out: return rc; } -#define LOV_U64_MAX ((__u64)~0ULL) -#define LOV_SUM_MAX(tot, add) \ - do { \ - if ((tot) + (add) < (tot)) \ - (tot) = LOV_U64_MAX; \ - else \ - (tot) += (add); \ - } while (0) - static int lov_fini_statfs(struct obd_device *obd, struct obd_statfs *osfs, int success) { @@ -159,9 +150,9 @@ lov_fini_statfs(struct obd_device *obd, struct obd_statfs *osfs, int success) if (success) { __u32 expected_stripes = lov_get_stripe_count(&obd->u.lov, LOV_MAGIC, 0); - if (osfs->os_files != LOV_U64_MAX) + if (osfs->os_files != U64_MAX) lov_do_div64(osfs->os_files, expected_stripes); - if (osfs->os_ffree != LOV_U64_MAX) + if (osfs->os_ffree != U64_MAX) lov_do_div64(osfs->os_ffree, expected_stripes); spin_lock(&obd->obd_osfs_lock); @@ -256,12 +247,12 @@ lov_update_statfs(struct obd_statfs *osfs, struct obd_statfs *lov_sfs, * - could be sum if we stripe whole objects * - could be average, just to give a nice number * - * To give a "reasonable" (if not wholly accurate) - * number, we divide the total number of free objects - * by expected stripe count (watch out for overflow). + * Currently using the sum capped at U64_MAX. */ - LOV_SUM_MAX(osfs->os_files, lov_sfs->os_files); - LOV_SUM_MAX(osfs->os_ffree, lov_sfs->os_ffree); + osfs->os_files = osfs->os_files + lov_sfs->os_files < osfs->os_files ? + U64_MAX : osfs->os_files + lov_sfs->os_files; + osfs->os_ffree = osfs->os_ffree + lov_sfs->os_ffree < osfs->os_ffree ? + U64_MAX : osfs->os_ffree + lov_sfs->os_ffree; } } -- 1.8.3.1