From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-yw1-f171.google.com (mail-yw1-f171.google.com [209.85.128.171]) (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 96CB3369353 for ; Tue, 26 Aug 2025 15:41:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.171 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756222901; cv=none; b=VBk+xxypyqST8bpoEWN7OCUjEbb2S8+kltFlwY29pH8YVKX138L34BMmoZyNioC/0IR2F8Nc/FM6z7IxJN/Btw1CJ5OGf287ck2NBbokHxrwfBMQYBuHyaTpyQDomTMxYoH4JmfokGV9OBvH4WhsybFJE10JXIwbROvxLdrnuPU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756222901; c=relaxed/simple; bh=sLtWG4tBwYzFayC8el4qA8KAx3MpBYf6WBWbOygRAvQ=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VYpcZio8662jA/FD4zMZsP1BloZY30qiwvf8vT7R/OSML69sVBgXKq3uISZqIZ+Hz65ASmWPrsm7Oxj7+TLAaTnunleN8FfVBNQenGY9fDfCGilPLyseXBsEGOujHxUj5oeTjTpbHTcK0domlP6LcD96nzRIq4EOGS/3zNGanZw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=toxicpanda.com; spf=none smtp.mailfrom=toxicpanda.com; dkim=pass (2048-bit key) header.d=toxicpanda-com.20230601.gappssmtp.com header.i=@toxicpanda-com.20230601.gappssmtp.com header.b=xpekYlcu; arc=none smtp.client-ip=209.85.128.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=toxicpanda.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=toxicpanda.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=toxicpanda-com.20230601.gappssmtp.com header.i=@toxicpanda-com.20230601.gappssmtp.com header.b="xpekYlcu" Received: by mail-yw1-f171.google.com with SMTP id 00721157ae682-71d60504788so47005877b3.2 for ; Tue, 26 Aug 2025 08:41:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=toxicpanda-com.20230601.gappssmtp.com; s=20230601; t=1756222898; x=1756827698; 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=1kMEWwVY5zqmZ8rO1Ng8kME7oWtjO/CBjlFvprNCTeU=; b=xpekYlcupzksEPwfTAr3kLtByk1OmAAg2qRR+9hPoBCjq48w6teVYU1+bGy1ngIHtQ pS3JCgiGYSNooy4fC38/ecutCCbMOjpqwKwNThPu7bWur6lunTlXmpiEyt/uumFPVL1M DM7+VOFKcPnwWDbL+JULui3OtXjDt3U/N+cOT2wfto4W0H1URPi4Ep67HkSNMBZgq+32 Uq1rcHzlnQm7PIXxj46rtjEJK+E6+YqyHvDLNb5siK1Vw4WEtR4N+2uhwmTV8eE7/RHm IZDKT4xAG+9PCuWHQtwChrxqbS5QI4hNoGd5E37ZyaHgnG6VBsRZiQQhJc1wxlLg2k5b BLUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756222898; x=1756827698; 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=1kMEWwVY5zqmZ8rO1Ng8kME7oWtjO/CBjlFvprNCTeU=; b=AQGyjN/NYdOP7fUlsWI0HkFU8YU1IRZTwErWt0PohT/hROAkOPFQIpyxtjJa2BcKGn ksrMdj6mSfQfH09gjtdSJJyEHo8kpbKf0vYShOmsUZhl7jwNa6KrfDfNH/338O31faSi MvqA09dg7Sr8pKvr48um2ex+edmafqzxgO8IxbgzfI8Er2TZRwzu0wfgoZkolGCypuOu x2dR2dpnp3/qZM53IXryhIc17C3QWtLaJkMHwSWXLbmSkTYyu9N0yzSrXdiSI2uot86k 3vszQm20P23fHWxCCUO9vHIaIgYG9UNv/8RQBc6GzTyIik0W1OT6A36Or4RcQwhvhkcM fHcA== X-Forwarded-Encrypted: i=1; AJvYcCV7B0EoVBt4uFkGYC7b2zJUhFEvSBE4RNZrDHLwJZa7oSgg6mC5+aLyouW9346lnTjmEnkYqH9T0kY=@vger.kernel.org X-Gm-Message-State: AOJu0YwG00Cy4Ox0zS6E372ffoRqqIcK4t9cWWxCtYga05PhFRvFYmmk mg/tTf9Ev5a4SGot142DaOY2zykFK6IU3a+fU4XGbgl1r2UY2qotisf8HDsEeqi8Ib5NiCkTNcL X6VRB X-Gm-Gg: ASbGncsAONSrZhqGS4ZA/MZQF99mzF/L/OkqUtLTMXbnhyB6U2vg0ZeqajcqgTzHYJp 45fJDnKvQZFWdZKEQnBbxC2ZTpIw/feEX5eHfSQNznhKe3+9NkraVTJmpyL4X7JhxMXbY4ntGI+ ELNeg482bs3ByNboHUg6QB6AjmLfhMeLFxM0cHcNh1WvnGCNbEaftSARzie6ijyHuDtRspltBc9 rrgtZDO/v4f2rq4OyArcmpMLV7TlCFmgatgTzz8CPe0gv0X6e88TFKdBbLSHmWMOP0yL3xYPY4j kGRtk+SxsBkYYPa5SAoJWvck7Ovr7vJ+qquQuO04PfgLWU7O6aYWlfyJ+0mq1vfRyQ5QH6OOGgc BMkNBZmcWJZl7ilm+W1RjqZhQakkTHN2P3fWIBtkc6DIRcaK/TsesPmOO/8OrnWMag1D8A293fD s9lyvO X-Google-Smtp-Source: AGHT+IEh6w4J98zHKB0KJJey1JZ+RYFPa+jSq6TTzIF+srA6iK+yY8jmdv8EqkOy5QUDc4KAmX6MNA== X-Received: by 2002:a05:690c:968b:b0:71b:f56a:d116 with SMTP id 00721157ae682-71fdc2d2454mr170681447b3.2.1756222898334; Tue, 26 Aug 2025 08:41:38 -0700 (PDT) Received: from localhost (syn-076-182-020-124.res.spectrum.com. [76.182.20.124]) by smtp.gmail.com with ESMTPSA id 00721157ae682-71ff18821e5sm25327457b3.44.2025.08.26.08.41.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Aug 2025 08:41:37 -0700 (PDT) From: Josef Bacik To: linux-fsdevel@vger.kernel.org, linux-btrfs@vger.kernel.org, kernel-team@fb.com, linux-ext4@vger.kernel.org, linux-xfs@vger.kernel.org, brauner@kernel.org, viro@ZenIV.linux.org.uk, amir73il@gmail.com Subject: [PATCH v2 34/54] fs: use igrab in drop_pagecache_sb Date: Tue, 26 Aug 2025 11:39:34 -0400 Message-ID: X-Mailer: git-send-email 2.49.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Just use igrab to see if the inode is valid instead of checking I_FREEING|I_WILL_FREE. Signed-off-by: Josef Bacik --- fs/drop_caches.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/fs/drop_caches.c b/fs/drop_caches.c index 019a8b4eaaf9..852ccf8e84cb 100644 --- a/fs/drop_caches.c +++ b/fs/drop_caches.c @@ -23,18 +23,15 @@ static void drop_pagecache_sb(struct super_block *sb, void *unused) spin_lock(&sb->s_inode_list_lock); list_for_each_entry(inode, &sb->s_inodes, i_sb_list) { spin_lock(&inode->i_lock); - /* - * We must skip inodes in unusual state. We may also skip - * inodes without pages but we deliberately won't in case - * we need to reschedule to avoid softlockups. - */ - if ((inode->i_state & (I_FREEING|I_WILL_FREE|I_NEW)) || + if ((inode->i_state & I_NEW) || (mapping_empty(inode->i_mapping) && !need_resched())) { spin_unlock(&inode->i_lock); continue; } - __iget(inode); spin_unlock(&inode->i_lock); + + if (!igrab(inode)) + continue; spin_unlock(&sb->s_inode_list_lock); invalidate_mapping_pages(inode->i_mapping, 0, -1); -- 2.49.0