From patchwork Tue Apr 2 21:28:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dave Chinner X-Patchwork-Id: 13614649 Received: from mail-pg1-f182.google.com (mail-pg1-f182.google.com [209.85.215.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A46E115E5D5 for ; Tue, 2 Apr 2024 21:35:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712093749; cv=none; b=S2J4C1zSLoD1qD7HUd702CSnPItRlaPzWsHKygm2maM+3ddPZ19PWLwLdzOLr3z2bajzXdeapUy3TYdbfDp6mO0wvJLsfWH4cxAPiYpZi1UQ97XB5koOMibDKlKpmwKTDyxwkbYoPSRPqF9vWcGH8ibinZSelUmNDVi7vSL72OY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712093749; c=relaxed/simple; bh=keM1ljnnPeIAbQ0bORlCquMqcu2A3JvF81NTWSeARB8=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=kjatdqEcxqBWiF32LGMc7V+jsaE3SLKjmnMrIiZl9VI0dwJpKvQsAez34dRhFs5sn+uz+PmW3lDdQYGoH+o6+cqUgqyPNYMLEBPM+n7XpT5GsiYHeMU2UktIZg41rKjvB/Fsri0/RHJqx+9MtiGXfHF3a8bYZFnanxN9E4jzOvI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fromorbit.com; spf=pass smtp.mailfrom=fromorbit.com; dkim=pass (2048-bit key) header.d=fromorbit-com.20230601.gappssmtp.com header.i=@fromorbit-com.20230601.gappssmtp.com header.b=JEEUNs0W; arc=none smtp.client-ip=209.85.215.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fromorbit.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fromorbit.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fromorbit-com.20230601.gappssmtp.com header.i=@fromorbit-com.20230601.gappssmtp.com header.b="JEEUNs0W" Received: by mail-pg1-f182.google.com with SMTP id 41be03b00d2f7-5d4d15ec7c5so4338358a12.1 for ; Tue, 02 Apr 2024 14:35:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fromorbit-com.20230601.gappssmtp.com; s=20230601; t=1712093747; x=1712698547; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=TPxyqSpZNKM8dOHMT3TpHef2/D/uXnXA//lmszRzxHc=; b=JEEUNs0WOWLdH2NjtHZTSKvmZyVECAGjh80DEldSujhaEOvKktHMa665RgUvdO4YGb Zt5Th++23Pa/qT9NGzVIompLqdYmUGR1+ru4c/C4xLqEsxry+hyxlx9NN/CoNTG9tbSW hEB4lC6Twfgc2bj8gyXq5dyGl6K2R9zQRlXDXSe7vxOWeaaI0t3q49EcyA1bntDrXYXp zE4bAFF2ykXAlSMSDhuHgHGQkWHudyNItcBJg1jyra+zGgZZrqT5rHFyt85pDblrXVOS 8RXn09hYOXMZRCDzGuaAnI36e81sf7FluA98LEFSKxneiLjeU9KNax4qXtHbOGPTdwUP 7vHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712093747; x=1712698547; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TPxyqSpZNKM8dOHMT3TpHef2/D/uXnXA//lmszRzxHc=; b=MfyqhMPSuFlIT1xq/SR37uUHM4cD9BtVxduvxh9OcS3qwox39Gv+iAp6RvbCeuekHB aZelRMJ9Yy9OywSMjdN9S6iH/uN0UVCI7yzwmH6FUXFxFV4h0YRec9tdp1z4U8fhyhUt 6BJzkiIWKczZTqw2erhQ4kVdOLhSsNvAcBj+K4j/Cc23h6JefYXwiFJ8CwA8SyZEJExg sk4uLYI0kKrRYGE7TqoWq55P47WCEaZ2vlP7gCAIbCyknexZ8frgncITHpx9Q5B+OzFP 6jvzRmEEpNVYEr/iuwA51YqzhCaGZxsj3wg5rtH18SGwFaIOE7bk/keN+Nim0ZICOPgO e64A== X-Gm-Message-State: AOJu0Ywi1PlRBo4o5Doj8UeUWJRD7R1yOts6Qt+dgR6yyo0DdY3sm62U aE7b5yFqF7n9bohUhU/TiBZxDl5snhatlwQLfzQQ9BlTYmRsPInDLkxpONhBttm+2XAk/QE2Vfi R X-Google-Smtp-Source: AGHT+IGLp7lvzOPTORGgzg+6weQ88RHwDTJXqg4JT4fQeDXUWBccTu73SWug8Q+xty/NLqXF/EcYjQ== X-Received: by 2002:a17:90a:4216:b0:2a0:33c2:997e with SMTP id o22-20020a17090a421600b002a033c2997emr11700401pjg.41.1712093746935; Tue, 02 Apr 2024 14:35:46 -0700 (PDT) Received: from dread.disaster.area (pa49-181-56-237.pa.nsw.optusnet.com.au. [49.181.56.237]) by smtp.gmail.com with ESMTPSA id j23-20020a17090a841700b0029c5ed2c9b3sm10263086pjn.21.2024.04.02.14.35.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Apr 2024 14:35:46 -0700 (PDT) Received: from [192.168.253.23] (helo=devoid.disaster.area) by dread.disaster.area with esmtp (Exim 4.96) (envelope-from ) id 1rrlnE-001n73-0G for linux-xfs@vger.kernel.org; Wed, 03 Apr 2024 08:35:43 +1100 Received: from dave by devoid.disaster.area with local (Exim 4.97) (envelope-from ) id 1rrlnD-000000052FS-2UvG for linux-xfs@vger.kernel.org; Wed, 03 Apr 2024 08:35:43 +1100 From: Dave Chinner To: linux-xfs@vger.kernel.org Subject: [PATCH 1/5] xfs: fix CIL sparse lock context warnings Date: Wed, 3 Apr 2024 08:28:28 +1100 Message-ID: <20240402213541.1199959-2-david@fromorbit.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240402213541.1199959-1-david@fromorbit.com> References: <20240402213541.1199959-1-david@fromorbit.com> Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Dave Chinner Sparse reports: fs/xfs/xfs_log_cil.c:1127:1: warning: context imbalance in 'xlog_cil_push_work' - different lock contexts for basic block fs/xfs/xfs_log_cil.c:1380:1: warning: context imbalance in 'xlog_cil_push_background' - wrong count at exit fs/xfs/xfs_log_cil.c:1623:9: warning: context imbalance in 'xlog_cil_commit' - unexpected unlock xlog_cil_push_background() has a locking annotations for an rw_sem. Sparse does not track lock contexts for rw_sems, so the annotation generates false warnings. Remove the annotation. xlog_wait_on_iclog() drops the log->l_ic_loglock. The function has a sparse annotation, but the prototype in xfs_log_priv.h does not. Hence the warning from xlog_cil_push_work() which calls xlog_wait_on_iclog(). Add the missing annotation. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig --- fs/xfs/xfs_log_cil.c | 2 +- fs/xfs/xfs_log_priv.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/fs/xfs/xfs_log_cil.c b/fs/xfs/xfs_log_cil.c index 73f5b7f628f4..f51cbc6405c1 100644 --- a/fs/xfs/xfs_log_cil.c +++ b/fs/xfs/xfs_log_cil.c @@ -1378,7 +1378,7 @@ xlog_cil_push_work( */ static void xlog_cil_push_background( - struct xlog *log) __releases(cil->xc_ctx_lock) + struct xlog *log) { struct xfs_cil *cil = log->l_cilp; int space_used = atomic_read(&cil->xc_ctx->space_used); diff --git a/fs/xfs/xfs_log_priv.h b/fs/xfs/xfs_log_priv.h index e30c06ec20e3..c39956c41374 100644 --- a/fs/xfs/xfs_log_priv.h +++ b/fs/xfs/xfs_log_priv.h @@ -623,7 +623,8 @@ xlog_wait( remove_wait_queue(wq, &wait); } -int xlog_wait_on_iclog(struct xlog_in_core *iclog); +int xlog_wait_on_iclog(struct xlog_in_core *iclog) + __releases(iclog->ic_log->l_icloglock); /* * The LSN is valid so long as it is behind the current LSN. If it isn't, this From patchwork Tue Apr 2 21:28:29 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dave Chinner X-Patchwork-Id: 13614651 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 37C9115E5DC for ; Tue, 2 Apr 2024 21:35:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712093749; cv=none; b=RzrG3aUMYO415exn1I6SGQYGo5Xc1tpzArx+m3OYk2g5TIe815564NQkg6fx31CVudmKpDb4gXv9bJmo+RrXjItdhkTabUhKbgJbnHBpGnJuBXRXW8rP7SMXGHrhRyVHRAsUnlFZ21KxDBsg4VC/rmu0fVyBxQOHWE7O5MaQ7Rk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712093749; c=relaxed/simple; bh=lztd+BvvC/tgLjagG/Lp2VpLta0TLp3t8MrR6gBNz0o=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AgaL5VywlOWqhU2liFje55oIEvQpktrdjxIinxyc8Bq+X5o04e8TsKoyi/KItS9am714ZIjY3E1TXsOk+SLl1WnsuVIIvuvDDHe8jBMcZR4kQzpzegpWJYhaoOQK7U8gler7Sd6/Pnn7MTjW/n1ZxBCA/aWra1JWlk+WSNE8z4A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fromorbit.com; spf=pass smtp.mailfrom=fromorbit.com; dkim=pass (2048-bit key) header.d=fromorbit-com.20230601.gappssmtp.com header.i=@fromorbit-com.20230601.gappssmtp.com header.b=NXzQZRzH; arc=none smtp.client-ip=209.85.214.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fromorbit.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fromorbit.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fromorbit-com.20230601.gappssmtp.com header.i=@fromorbit-com.20230601.gappssmtp.com header.b="NXzQZRzH" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-1e0d82d441bso51165555ad.3 for ; Tue, 02 Apr 2024 14:35:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fromorbit-com.20230601.gappssmtp.com; s=20230601; t=1712093747; x=1712698547; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=tOw+VF89Und/L8z1kB7MLa5I0o0oJqetO+bP0JEvy/U=; b=NXzQZRzHCMMtlJuXLShLxFwFknVBpkhB9L214Ua2f5zXFC9aoaXkTuYQljOPF9j7IA Hz08lh+omfqBWX488gdGii5sJWhuBe9EiiCaa725DbihnsktE2kN+BAPGxIHrbErThFN LU8u+LOpZERhw+oQ4dgTHXwJmtphCGFQgQUMo7FPELPqjt6656P+TXZse/pUZG+qyc+r QflcheA12RuMqfPNMPLwOh72AuNuoJkAReKi5+aMs2vW3UVXtshgYKtEtSUynl5GPNq3 s7cvjyemWHMRH294OplDAie26ZdYHUd6YatYR3WiunnX2xJbu8jXNCYB/tbZQe2eCOk0 Onaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712093747; x=1712698547; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tOw+VF89Und/L8z1kB7MLa5I0o0oJqetO+bP0JEvy/U=; b=NqiVuL2FM8KccKQ4RFBWjl0Aaf3oHmwe4Elbeqa3pbZB8qvGix07qW0UT0hH3h34mn y3P76UfzciiK32fVEPgw2apQK5s290DxFf1e5ZWpXnZPKJNUB6VN/WNT1mdiuEFKQs4N 43sp7Lk77mZa1yIwPeM4qxPOi3EFGcgp77dH2dw6QVx98uDpr7lYCq4cdFhKa/+D+8G6 iB7671fTT18iroMM3fjyjuBrXeCGPUOGlkhcDna6OaiYIZxIScDpgK37nlAiTfVF8xAQ ZY0Sj7g7NUNTVp1dnSCd2WKur4edMHIM7HW3lMebs5HM7q6+zRnEUjZU8b5qTdyGguOd 9d5Q== X-Gm-Message-State: AOJu0YxWrnCa0OHAbmDF39hn84BzfNZD4konfShX8ubzA6xGzjOIj00P UI9ZaY53cLIYJALEPcPmIUAglLIhRjw0mKNApmvTEI66rJEdmrqA1DeE9ACrdJGv7a5LkHWjqzg S X-Google-Smtp-Source: AGHT+IHn0q1zs2l7SEybokM5u0U2y5B/279zux9CDdtmcH3BlJrxigp8H4BDjuYExthcz13yHElTDg== X-Received: by 2002:a17:902:c40f:b0:1df:f859:91bd with SMTP id k15-20020a170902c40f00b001dff85991bdmr877949plk.4.1712093747223; Tue, 02 Apr 2024 14:35:47 -0700 (PDT) Received: from dread.disaster.area (pa49-181-56-237.pa.nsw.optusnet.com.au. [49.181.56.237]) by smtp.gmail.com with ESMTPSA id s2-20020a170902b18200b001ddb505d50asm11643331plr.244.2024.04.02.14.35.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Apr 2024 14:35:46 -0700 (PDT) Received: from [192.168.253.23] (helo=devoid.disaster.area) by dread.disaster.area with esmtp (Exim 4.96) (envelope-from ) id 1rrlnE-001n76-0Q for linux-xfs@vger.kernel.org; Wed, 03 Apr 2024 08:35:43 +1100 Received: from dave by devoid.disaster.area with local (Exim 4.97) (envelope-from ) id 1rrlnD-000000052FW-2ctf for linux-xfs@vger.kernel.org; Wed, 03 Apr 2024 08:35:43 +1100 From: Dave Chinner To: linux-xfs@vger.kernel.org Subject: [PATCH 2/5] xfs: fix sparse warning in xfs_extent_busy_clear Date: Wed, 3 Apr 2024 08:28:29 +1100 Message-ID: <20240402213541.1199959-3-david@fromorbit.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240402213541.1199959-1-david@fromorbit.com> References: <20240402213541.1199959-1-david@fromorbit.com> Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Dave Chinner Sparse reports: fs/xfs/xfs_extent_busy.c:588:17: warning: context imbalance in 'xfs_extent_busy_clear' - unexpected unlock But there is no locking bug here. Sparse simply doesn't understand the logic and locking in the busy extent processing loop. xfs_extent_busy_put_pag() has an annotation to suppresses an unexpected unlock warning, but that isn't sufficient. If we move the pag existence check into xfs_extent_busy_put_pag() and annotate that with a __release() so that this function always appears to release the pag->pagb_lock, sparse now thinks the loop locking is balanced (one unlock, one lock per loop) but still throws an unexpected unlock warning after loop cleanup. i.e. it does not understand that we enter the loop without any locks held and exit it with the last lock still held. Whilst the locking within the loop is inow balanced, we need to add an __acquire() to xfs_extent_busy_clear() to set the initial lock context needed to avoid false warnings. Signed-off-by: Dave Chinner Reviewed-by: Darrick J. Wong --- fs/xfs/xfs_extent_busy.c | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/fs/xfs/xfs_extent_busy.c b/fs/xfs/xfs_extent_busy.c index 56cfa1498571..686b67372030 100644 --- a/fs/xfs/xfs_extent_busy.c +++ b/fs/xfs/xfs_extent_busy.c @@ -534,12 +534,24 @@ xfs_extent_busy_clear_one( kfree(busyp); } +/* + * Sparse has real trouble with the structure of xfs_extent_busy_clear() and it + * is impossible to annotate it correctly if we leave the 'if (pag)' conditional + * in xfs_extent_busy_clear(). Hence we always "release" the lock in + * xfs_extent_busy_put_pag() so sparse only ever sees one possible path to + * drop the lock. + */ static void xfs_extent_busy_put_pag( struct xfs_perag *pag, bool wakeup) __releases(pag->pagb_lock) { + if (!pag) { + __release(pag->pagb_lock); + return; + } + if (wakeup) { pag->pagb_gen++; wake_up_all(&pag->pagb_wait); @@ -565,10 +577,18 @@ xfs_extent_busy_clear( xfs_agnumber_t agno = NULLAGNUMBER; bool wakeup = false; + /* + * Sparse thinks the locking in the loop below is balanced (one unlock, + * one lock per loop iteration) and doesn't understand that we enter + * with no lock held and exit with a lock held. Hence we need to + * "acquire" the lock to create the correct initial condition for the + * cleanup after loop termination to avoid an unexpected unlock warning. + */ + __acquire(pag->pagb_lock); + list_for_each_entry_safe(busyp, n, list, list) { if (busyp->agno != agno) { - if (pag) - xfs_extent_busy_put_pag(pag, wakeup); + xfs_extent_busy_put_pag(pag, wakeup); agno = busyp->agno; pag = xfs_perag_get(mp, agno); spin_lock(&pag->pagb_lock); @@ -584,8 +604,7 @@ xfs_extent_busy_clear( } } - if (pag) - xfs_extent_busy_put_pag(pag, wakeup); + xfs_extent_busy_put_pag(pag, wakeup); } /* From patchwork Tue Apr 2 21:28:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dave Chinner X-Patchwork-Id: 13614653 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BA3DE15E7EB for ; Tue, 2 Apr 2024 21:35:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712093750; cv=none; b=PxyZEpdHH8FhOqrrwlgA6CPSa+MajXQFlw/6bkJaFqfP4/eV4i/+Vx1VOWQRNxSBfg0WYZye5cU5QcDLiloTBLIjht0J7GarWhWCUzI8/MDPaRS9+52uIrZZ+bPAo5c9E6zC94VvJwarWNw3Y4ZhPZb/X/3qg+W8Mowi/C2Faz4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712093750; c=relaxed/simple; bh=cnhqGQS6B4zSCO3oTRbt//5FaU9ATJWT/10+Yxh4PKs=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=L2YzJpUS7dWntZirn1kBgyiz0FDTL5T/IbEuQFHtSZbq6DaLB6an1XMXp349hTev7qD78lGmoPmtJnxUUuRMufEkcW6dBTJyDRwG6cPK4s7m0syv3KtnXv3UUllsecVX0Ee/eb6nGB9fzaSDVxIuAN/2KuqLXG46XYQxzHWJLyQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fromorbit.com; spf=pass smtp.mailfrom=fromorbit.com; dkim=pass (2048-bit key) header.d=fromorbit-com.20230601.gappssmtp.com header.i=@fromorbit-com.20230601.gappssmtp.com header.b=U7gqxx4Y; arc=none smtp.client-ip=209.85.214.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fromorbit.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fromorbit.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fromorbit-com.20230601.gappssmtp.com header.i=@fromorbit-com.20230601.gappssmtp.com header.b="U7gqxx4Y" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-1dff837d674so44667475ad.3 for ; Tue, 02 Apr 2024 14:35:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fromorbit-com.20230601.gappssmtp.com; s=20230601; t=1712093748; x=1712698548; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=9xl4PzADOc1eK2vEz886f13LE4p3W8qAMdKdUaBl/bY=; b=U7gqxx4Ybd3tk/ShDRgdaytTXjaQTdUdbohXwaSblRn/sqJUmlewu4Fz2f8OgdRmgK Gs1OkWUmVM3T/mhP+yaHGtpYzQ/+H8/7GG2hWKeGjBgtfh5jzdmHkJR/0bwVFEWo6mTb u5Q2FL8JvLiXOCVfixZlwAxcLa3ZNef4Bctx9KqN8ZgfUrj6Al9H4p6Ih337fKn02Dv7 EqdXcKILoLPPuwsOgttO1g1Z0Pbmi8JjConF9GZPBVbp/93dUvHrnY0E99Nq7PXvp6+C 9sDYQ+k3Lt/ksCA0tc8XspGX+/uaG0r9TR+3dOxOa1fe8ZrK2tUNMLEYhTOFCkvpchDg XNDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712093748; x=1712698548; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9xl4PzADOc1eK2vEz886f13LE4p3W8qAMdKdUaBl/bY=; b=KextudIqQ1QuLKOvkMY4BIF64GUSJ3Un0qzOZQa/4/3x9/zXosqxJWLjkF4yEhSw9i XoT0OD9nPFGv+fd6pOzYhsC/dxwOoaOG5ZaTu/LgmKxIi8xjTIp2VOXpQtCoO2rRiFRn 9XrCOVM5jvxMyQxrSZZaMWChMO3ivq3FLFDbtyH2q26hunKng9mO2GKNLJm1Ief4OgUy QnGeZb6WDF8X+p8bT17L3geU4tZFnTZ4awOK3GdU3QjVgLK43FRJ3YC+wrWDb+vFyA7A i7GxryKHdgieNl490rpuAGkxXIWeK8UzlzgVoIrVUxp3yCOzRaEeiTV+jbhbhJJiz9G4 G9gQ== X-Gm-Message-State: AOJu0YwPvewBnQox4SN17JxuKVUYphNyBVT3/0VgweX/BSvltz0/qCVs rV6XHU7EBE39dtRUzrGKMyxwla1E65V6kSJVmY69jyz0fTPO9gFa+PeazyJe6iwUgACzBup00qN E X-Google-Smtp-Source: AGHT+IHgcaGqDmOSG0rDcR0PGfPUIu3jyULwmZc/iDiEzTGngs2QYAwlKGutVTnjvyDuZq+nYwdcSA== X-Received: by 2002:a17:902:db04:b0:1e2:2587:d43f with SMTP id m4-20020a170902db0400b001e22587d43fmr14630000plx.36.1712093747888; Tue, 02 Apr 2024 14:35:47 -0700 (PDT) Received: from dread.disaster.area (pa49-181-56-237.pa.nsw.optusnet.com.au. [49.181.56.237]) by smtp.gmail.com with ESMTPSA id lg13-20020a170902fb8d00b001dddbb58d5esm11656169plb.109.2024.04.02.14.35.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Apr 2024 14:35:46 -0700 (PDT) Received: from [192.168.253.23] (helo=devoid.disaster.area) by dread.disaster.area with esmtp (Exim 4.96) (envelope-from ) id 1rrlnE-001n77-0T for linux-xfs@vger.kernel.org; Wed, 03 Apr 2024 08:35:43 +1100 Received: from dave by devoid.disaster.area with local (Exim 4.97) (envelope-from ) id 1rrlnD-000000052Fa-2l6S for linux-xfs@vger.kernel.org; Wed, 03 Apr 2024 08:35:43 +1100 From: Dave Chinner To: linux-xfs@vger.kernel.org Subject: [PATCH 3/5] xfs: silence sparse warning when checking version number Date: Wed, 3 Apr 2024 08:28:30 +1100 Message-ID: <20240402213541.1199959-4-david@fromorbit.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240402213541.1199959-1-david@fromorbit.com> References: <20240402213541.1199959-1-david@fromorbit.com> Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Dave Chinner Scrub checks the superblock version number against the known good feature bits that can be set in the version mask. It calculates the version mask to compare like so: vernum_mask = cpu_to_be16(~XFS_SB_VERSION_OKBITS | XFS_SB_VERSION_NUMBITS | XFS_SB_VERSION_ALIGNBIT | XFS_SB_VERSION_DALIGNBIT | XFS_SB_VERSION_SHAREDBIT | XFS_SB_VERSION_LOGV2BIT | XFS_SB_VERSION_SECTORBIT | XFS_SB_VERSION_EXTFLGBIT | XFS_SB_VERSION_DIRV2BIT); This generates a sparse warning: fs/xfs/scrub/agheader.c:168:23: warning: cast truncates bits from constant value (ffff3f8f becomes 3f8f) This is because '~XFS_SB_VERSION_OKBITS' is considered a 32 bit constant, even though it's value is always under 16 bits. This is a kinda silly thing to do, because: /* * Supported feature bit list is just all bits in the versionnum field because * we've used them all up and understand them all. Except, of course, for the * shared superblock bit, which nobody knows what it does and so is unsupported. */ #define XFS_SB_VERSION_OKBITS \ ((XFS_SB_VERSION_NUMBITS | XFS_SB_VERSION_ALLFBITS) & \ ~XFS_SB_VERSION_SHAREDBIT) #define XFS_SB_VERSION_NUMBITS 0x000f #define XFS_SB_VERSION_ALLFBITS 0xfff0 #define XFS_SB_VERSION_SHAREDBIT 0x0200 XFS_SB_VERSION_OKBITS has a value of 0xfdff, and so ~XFS_SB_VERSION_OKBITS == XFS_SB_VERSION_SHAREDBIT. The calculated mask already sets XFS_SB_VERSION_SHAREDBIT, so starting with ~XFS_SB_VERSION_OKBITS is completely redundant.... Signed-off-by: Dave Chinner Reviewed-by: Darrick J. Wong Reviewed-by: Christoph Hellwig --- fs/xfs/scrub/agheader.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/fs/xfs/scrub/agheader.c b/fs/xfs/scrub/agheader.c index e954f07679dd..d6a1a9fc63c9 100644 --- a/fs/xfs/scrub/agheader.c +++ b/fs/xfs/scrub/agheader.c @@ -165,8 +165,7 @@ xchk_superblock( xchk_block_set_corrupt(sc, bp); /* Check sb_versionnum bits that are set at mkfs time. */ - vernum_mask = cpu_to_be16(~XFS_SB_VERSION_OKBITS | - XFS_SB_VERSION_NUMBITS | + vernum_mask = cpu_to_be16(XFS_SB_VERSION_NUMBITS | XFS_SB_VERSION_ALIGNBIT | XFS_SB_VERSION_DALIGNBIT | XFS_SB_VERSION_SHAREDBIT | From patchwork Tue Apr 2 21:28:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dave Chinner X-Patchwork-Id: 13614648 Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com [209.85.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 35AFA15E5D4 for ; Tue, 2 Apr 2024 21:35:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712093748; cv=none; b=fVU7ngHaibxn7civbWE3PxxhFqGBK6ihPmdyD2rQSF9+e8bfnltRLODobu5CRfh4QbJ3eagQRLu3qrQSojqzszxeRSOn6gzu/zCcV/j5i03hkfA9W66YqwlyRTr5CB2i//pCr3G/TQs+4NnhUSyPG7DXL/kaCVvrLWZiv7UWfcY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712093748; c=relaxed/simple; bh=J1LgAwkJiSd+UFA6eImeSkCKycabAUA6ppImKrZFHzc=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=uwBjtXJhZRjPahV8/HvfLA6W9pNEnevepyjswSjowz1nSrr5wme2yPiNi518Tn8MTwRKdEqKp5d/HHvNhX/DemCecTGGtUsdG5adUeaRKie9wdeSGOBrBqTwSQ2jVl9QFbCS7edZnFUvrcKdDLoXrxQZ9udJsMV1JXOKFgsXuoA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fromorbit.com; spf=pass smtp.mailfrom=fromorbit.com; dkim=pass (2048-bit key) header.d=fromorbit-com.20230601.gappssmtp.com header.i=@fromorbit-com.20230601.gappssmtp.com header.b=ArF2H30c; arc=none smtp.client-ip=209.85.210.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fromorbit.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fromorbit.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fromorbit-com.20230601.gappssmtp.com header.i=@fromorbit-com.20230601.gappssmtp.com header.b="ArF2H30c" Received: by mail-pf1-f177.google.com with SMTP id d2e1a72fcca58-6ea7f2d093aso5331767b3a.3 for ; Tue, 02 Apr 2024 14:35:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fromorbit-com.20230601.gappssmtp.com; s=20230601; t=1712093746; x=1712698546; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=GzGYnCojsw9DArsoF4xVETsLg5Ux1AXn/v4k9A0FUZ4=; b=ArF2H30cM0tYm0diiXOz66MVHH5MkKohdhgv8N5OgsBVxnhgyvL07XCbpcDqVBnhFr BW2vyyV1cpcXckdYsCj0bf2arFE8pwvyOcR04H3y/KhZKLvtTOUqd6fSgYIDs2pLXr44 0WPMeRRrm89cFDFaOILujh+ru14y5bvSTJV3WGBs8FsmhH49wv2W/GjbRNbegqg4eiYO ZduKrH5FjyT7jMtaKKT3xvqhWueed1lu5PE5ehInTeDFtASx/qKMeCBAdlFZ0tpARkkK iqvWheraxc5YLMjhfK08er9SrxaPjrOoXkILbU7ByX4v14u9u+FWpAe3BGAEhMfMWr9o isPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712093746; x=1712698546; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GzGYnCojsw9DArsoF4xVETsLg5Ux1AXn/v4k9A0FUZ4=; b=Jlq2QzytPOctekxRyIj920PULCGwwqvjb5nOJP0gr8BaYRnR7Txy4fo8n6cv39W4BQ Ud0LITjM/2a4tYqkPJYRolzzH5W+MtIKoe3tHcsWACpmFEKt64kyUQljTIm6calRWIJL ibhKvy2zLLhGBJ+v+gykpJaCjBhTQHXCdQYeOkHNH+Z+8l7CVtUZ+uSkLWSzWuQMwglA Fpox1eJkN4FrhgQmIo7sk+0VUYqMwXHZYCU8BT+xHB+6qOaWAiWu3uuYun4hSoome9p8 HEZ7nQAbD/62qnALxYADVb7sXsSFQsQRx4LBpgBnH/SK6+zWNX5oo3/KXERk7TJig7ba c8gw== X-Gm-Message-State: AOJu0YzLh5RrI84QZOzll82meyMCUs/Da8RsG3/KdGl2B/VgxFdS4t02 MPMBlF/9PjGtpLM1cVDqRqneeIPCjX8ql5eRbug4p9H6PGyiwk+AfUZ9Hk0RfF3UztApBZVy0mI f X-Google-Smtp-Source: AGHT+IFstVZOeplvE2qokSfFcV07NYzM6zwCO2ZBN0K4vFuPMUfvWOwOl8piT60SLyv+CkRQTP1YyQ== X-Received: by 2002:a05:6a00:1d1d:b0:6ea:89e5:99a3 with SMTP id a29-20020a056a001d1d00b006ea89e599a3mr1057199pfx.8.1712093746379; Tue, 02 Apr 2024 14:35:46 -0700 (PDT) Received: from dread.disaster.area (pa49-181-56-237.pa.nsw.optusnet.com.au. [49.181.56.237]) by smtp.gmail.com with ESMTPSA id i21-20020aa787d5000000b006eaada3860dsm10293450pfo.200.2024.04.02.14.35.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Apr 2024 14:35:46 -0700 (PDT) Received: from [192.168.253.23] (helo=devoid.disaster.area) by dread.disaster.area with esmtp (Exim 4.96) (envelope-from ) id 1rrlnE-001n7C-0Z for linux-xfs@vger.kernel.org; Wed, 03 Apr 2024 08:35:43 +1100 Received: from dave by devoid.disaster.area with local (Exim 4.97) (envelope-from ) id 1rrlnD-000000052Fe-2say for linux-xfs@vger.kernel.org; Wed, 03 Apr 2024 08:35:43 +1100 From: Dave Chinner To: linux-xfs@vger.kernel.org Subject: [PATCH 4/5] xfs: remove unused is_rt_data_fork() function Date: Wed, 3 Apr 2024 08:28:31 +1100 Message-ID: <20240402213541.1199959-5-david@fromorbit.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240402213541.1199959-1-david@fromorbit.com> References: <20240402213541.1199959-1-david@fromorbit.com> Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Dave Chinner Sparse warns that is_rt_data_fork() is unused. Indeed, it is a static inline function that isn't used in the file it is defined in. It looks like xfs_ifork_is_realtime() has superceded this function, so remove it and get rid of the sparse warning. Signed-off-by: Dave Chinner Reviewed-by: Darrick J. Wong Reviewed-by: Christoph Hellwig --- fs/xfs/scrub/rmap_repair.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/fs/xfs/scrub/rmap_repair.c b/fs/xfs/scrub/rmap_repair.c index e8e07b683eab..7e73ddfb3d44 100644 --- a/fs/xfs/scrub/rmap_repair.c +++ b/fs/xfs/scrub/rmap_repair.c @@ -432,14 +432,6 @@ xrep_rmap_scan_iroot_btree( return error; } -static inline bool -is_rt_data_fork( - struct xfs_inode *ip, - int whichfork) -{ - return XFS_IS_REALTIME_INODE(ip) && whichfork == XFS_DATA_FORK; -} - /* * Iterate the block mapping btree to collect rmap records for anything in this * fork that matches the AG. Sets @mappings_done to true if we've scanned the From patchwork Tue Apr 2 21:28:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dave Chinner X-Patchwork-Id: 13614652 Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7082915E5DE for ; Tue, 2 Apr 2024 21:35:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712093750; cv=none; b=sqCE7b7gRpqnyGNWPxs+o6iqPr4c4BNoZuZU+1A0f9ifV37lnGjKmSDa2q5nyAGEAxSFPwLLUmNdMZPfbfjpECnZu7lnpuevzRZGQJ08jPMDpLEowu7/xkmdFrRSyCEdEMS3+AJGkkBKo1oi51qoFtjRBS4wGsYibdDK3uT2IpE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712093750; c=relaxed/simple; bh=UVFaSvKtQtbkxIKww4Gb8H8z9Qia4xQf/EiX/zan0Io=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Pw3/IVpohuxhEq/uUn4vH2M9G/VLxWqKTM7OwQ+1kkBBfiZnj3S3NMznGGw+/UQ74p43KFQi3u+s9THYHRRRbhv+UT4f9BES8xZNpgJ5fnuLpVIrZYCRXp1t8eMeH0ySbuat/e8H4LvN7a2s7optz+rNS/5I1Vrl9RiTRc1bF78= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fromorbit.com; spf=pass smtp.mailfrom=fromorbit.com; dkim=pass (2048-bit key) header.d=fromorbit-com.20230601.gappssmtp.com header.i=@fromorbit-com.20230601.gappssmtp.com header.b=TIAXUDH/; arc=none smtp.client-ip=209.85.215.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fromorbit.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fromorbit.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fromorbit-com.20230601.gappssmtp.com header.i=@fromorbit-com.20230601.gappssmtp.com header.b="TIAXUDH/" Received: by mail-pg1-f170.google.com with SMTP id 41be03b00d2f7-5dcc4076c13so252827a12.0 for ; Tue, 02 Apr 2024 14:35:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fromorbit-com.20230601.gappssmtp.com; s=20230601; t=1712093748; x=1712698548; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=NEnfM+jopKkDMHCtvibf7wJfRopPLPsgM5YkBKMJle0=; b=TIAXUDH/y+xgUwlH2Co7Z9Kb+JikirVUid7aOW+vEr+VWwTCl9juhxbEUu5nSJKzYb 9CW7qFBficylkf+WGmUdbzKnu5sAZ99lSMior3cmqPapUM1/7pT7HipAem5XiPfYP6/Z PdESKxsB9ljSuoDSt4GHNB3ndbBQZDSFLyicZc2y5du4jCtSQnLWyCL24VqA+55nryPl KoTVDor88pH+dH8KOPPMF0pefD2LBuJrosnwnReyvPO6LApYzi9Sm3nLTT7G/wurpKP5 Qw/3xPS3R+GxKjGme/vO8jC8wh2SRdF8l4Cb1KWOirScrNgOzrg9NLlWu7V1JUPZK5qc Q0/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712093748; x=1712698548; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NEnfM+jopKkDMHCtvibf7wJfRopPLPsgM5YkBKMJle0=; b=YU+HzdoYx5gvKOhBIBD9vXUu/IJdBgnyiofLkU6DD/LmhQlm+ozapJZmroaF6o/o18 JAiRZEzrADXOMaYSzRE0vxMkACXdcI5dj2Fv7Apdh19Z8V7FiiT5hcRYRnuo1iUQweBH 2j2k8t+3K1oE9vScyMmYt6J06u/n+FsJpTb8Kb0sqXaZ7R2GkSvS+u32Xtnw5JQHUTpQ 9yd+UXWT9Q6/fO1L/WC7FyiHNPDaUoWBl8GQ2nQN1vCn7IvIlr8K+vmxuxvhpKupUXcb tiepxJtpX4e2yKgCvmyttqjXZNq3+jsB/xGpbHGL+m9MzIDpRun43adbQ6suMiYqHHCo exug== X-Gm-Message-State: AOJu0YyRYb1n2KCFlAsoEIVGGMed1PNndjiiT/kjUW2XCKHvV8mb8Wcr acttv3A8Vbwg1PiHfJTb1A8nAtntIDOLor8/Vm+cM4a5mHav7tmLe2N2OVH+LmhXOnQcVWkSmU0 C X-Google-Smtp-Source: AGHT+IHjmiWuparFR6Fhqk6Oxg3UbvrZuI56Qu0VjhCOhIxeTu4x4cmpxkc0UV8VSJLhgsjLTvzdAw== X-Received: by 2002:a17:903:1206:b0:1e0:1a52:3c59 with SMTP id l6-20020a170903120600b001e01a523c59mr1028871plh.23.1712093747514; Tue, 02 Apr 2024 14:35:47 -0700 (PDT) Received: from dread.disaster.area (pa49-181-56-237.pa.nsw.optusnet.com.au. [49.181.56.237]) by smtp.gmail.com with ESMTPSA id x5-20020a170902a38500b001e256cb48f7sm2047251pla.197.2024.04.02.14.35.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Apr 2024 14:35:46 -0700 (PDT) Received: from [192.168.253.23] (helo=devoid.disaster.area) by dread.disaster.area with esmtp (Exim 4.96) (envelope-from ) id 1rrlnE-001n7G-0k for linux-xfs@vger.kernel.org; Wed, 03 Apr 2024 08:35:43 +1100 Received: from dave by devoid.disaster.area with local (Exim 4.97) (envelope-from ) id 1rrlnD-000000052Fi-31Zv for linux-xfs@vger.kernel.org; Wed, 03 Apr 2024 08:35:43 +1100 From: Dave Chinner To: linux-xfs@vger.kernel.org Subject: [PATCH 5/5] xfs: fix sparse warnings about unused interval tree functions Date: Wed, 3 Apr 2024 08:28:32 +1100 Message-ID: <20240402213541.1199959-6-david@fromorbit.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240402213541.1199959-1-david@fromorbit.com> References: <20240402213541.1199959-1-david@fromorbit.com> Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Dave Chinner Sparse throws warnings about the interval tree functions that are defined and then not used in the scrub bitmap code: fs/xfs/scrub/bitmap.c:57:1: warning: unused function 'xbitmap64_tree_iter_next' [-Wunused-function] INTERVAL_TREE_DEFINE(struct xbitmap64_node, bn_rbnode, uint64_t, ^ ./include/linux/interval_tree_generic.h:151:33: note: expanded from macro 'INTERVAL_TREE_DEFINE' ITSTATIC ITSTRUCT * \ ^ :3:1: note: expanded from here xbitmap64_tree_iter_next ^ fs/xfs/scrub/bitmap.c:331:1: warning: unused function 'xbitmap32_tree_iter_next' [-Wunused-function] INTERVAL_TREE_DEFINE(struct xbitmap32_node, bn_rbnode, uint32_t, ^ ./include/linux/interval_tree_generic.h:151:33: note: expanded from macro 'INTERVAL_TREE_DEFINE' ITSTATIC ITSTRUCT * \ ^ :59:1: note: expanded from here xbitmap32_tree_iter_next Fix these by marking the functions created by the interval tree creation macro as __maybe_unused to suppress this warning. Signed-off-by: Dave Chinner Reviewed-by: Darrick J. Wong --- fs/xfs/scrub/bitmap.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/fs/xfs/scrub/bitmap.c b/fs/xfs/scrub/bitmap.c index 0cb8d43912a8..7ba35a7a7920 100644 --- a/fs/xfs/scrub/bitmap.c +++ b/fs/xfs/scrub/bitmap.c @@ -40,22 +40,23 @@ struct xbitmap64_node { * These functions are defined by the INTERVAL_TREE_DEFINE macro, but we'll * forward-declare them anyway for clarity. */ -static inline void +static inline __maybe_unused void xbitmap64_tree_insert(struct xbitmap64_node *node, struct rb_root_cached *root); -static inline void +static inline __maybe_unused void xbitmap64_tree_remove(struct xbitmap64_node *node, struct rb_root_cached *root); -static inline struct xbitmap64_node * +static inline __maybe_unused struct xbitmap64_node * xbitmap64_tree_iter_first(struct rb_root_cached *root, uint64_t start, uint64_t last); -static inline struct xbitmap64_node * +static inline __maybe_unused struct xbitmap64_node * xbitmap64_tree_iter_next(struct xbitmap64_node *node, uint64_t start, uint64_t last); INTERVAL_TREE_DEFINE(struct xbitmap64_node, bn_rbnode, uint64_t, - __bn_subtree_last, START, LAST, static inline, xbitmap64_tree) + __bn_subtree_last, START, LAST, static inline __maybe_unused, + xbitmap64_tree) /* Iterate each interval of a bitmap. Do not change the bitmap. */ #define for_each_xbitmap64_extent(bn, bitmap) \ @@ -314,22 +315,23 @@ struct xbitmap32_node { * These functions are defined by the INTERVAL_TREE_DEFINE macro, but we'll * forward-declare them anyway for clarity. */ -static inline void +static inline __maybe_unused void xbitmap32_tree_insert(struct xbitmap32_node *node, struct rb_root_cached *root); -static inline void +static inline __maybe_unused void xbitmap32_tree_remove(struct xbitmap32_node *node, struct rb_root_cached *root); -static inline struct xbitmap32_node * +static inline __maybe_unused struct xbitmap32_node * xbitmap32_tree_iter_first(struct rb_root_cached *root, uint32_t start, uint32_t last); -static inline struct xbitmap32_node * +static inline __maybe_unused struct xbitmap32_node * xbitmap32_tree_iter_next(struct xbitmap32_node *node, uint32_t start, uint32_t last); INTERVAL_TREE_DEFINE(struct xbitmap32_node, bn_rbnode, uint32_t, - __bn_subtree_last, START, LAST, static inline, xbitmap32_tree) + __bn_subtree_last, START, LAST, static inline __maybe_unused, + xbitmap32_tree) /* Iterate each interval of a bitmap. Do not change the bitmap. */ #define for_each_xbitmap32_extent(bn, bitmap) \