From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D27D4C2D0A3 for ; Fri, 6 Nov 2020 21:27:42 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 604A820735 for ; Fri, 6 Nov 2020 21:27:42 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=toxicpanda-com.20150623.gappssmtp.com header.i=@toxicpanda-com.20150623.gappssmtp.com header.b="QBe7u7D4" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727982AbgKFV1l (ORCPT ); Fri, 6 Nov 2020 16:27:41 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53348 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726415AbgKFV1l (ORCPT ); Fri, 6 Nov 2020 16:27:41 -0500 Received: from mail-qk1-x742.google.com (mail-qk1-x742.google.com [IPv6:2607:f8b0:4864:20::742]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BBFA5C0613CF for ; Fri, 6 Nov 2020 13:27:39 -0800 (PST) Received: by mail-qk1-x742.google.com with SMTP id r7so2474214qkf.3 for ; Fri, 06 Nov 2020 13:27:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=toxicpanda-com.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=P83gXGVfhGmZBx0oWNh9axJuVieA5PWULbRlqHh8SXs=; b=QBe7u7D48mE7C6f9jBK9rkKbtzGBwmL5BgrfpLxg3T8fDky4jKT9CAtkdMYQ3wfSvz VzUREPZF4rEwx4DCri5gT1l/nano4hsS85/mOOeggoQo2z+z4K/syDvOBUnqMs+xzQHl cTj3gJ8Szk2r1krGOgY167gEHaZw8JlGsnKKNT/sOrBEe2KTy6WxMUeKoHDPu5LFwyKx 0ORKe0INt0slWknLb+nvO9TIkTPv9RQxklGXhSIHUqpy7Z6amIc5Mn2DO2obN/mgko7b EyAwT6Q4hihJ0tP2A7LT7LI9eKrpzmFB4JE3WvFXoRHmoFyqqZiGFaHk7i5rpRsuN413 tkcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=P83gXGVfhGmZBx0oWNh9axJuVieA5PWULbRlqHh8SXs=; b=db8cAtp6vUVtCaYpRNWurA7W7rBul8sYOlAKlsXaBq2uqPSsbGIzEliHLuoxbKyznp 5ZR5eWYDItHdFNF27lOVGPjQirv4q53cGE+VUZZJyFMZAH4mdM2BN0zrRDo7Um1NqiFZ BV4kkRByLKPe74PUde5yxpT6W7unga6Wx3Y2mah1HR5tQbMinuAKa5Wab/BdNhPs8Enn GXCCfhBI9UrEGPfvnGq1nwIySvs/KS1uxtgmUECVJt/HfIM+1m6JK5k7pYRKKHJvzgMu GYG1lNoQyu6Mur07y2MBhLcZmeiBZoI0GJcGwVrEz9eUpttDhUDwGINuFr1s5tUTvBwR VnFw== X-Gm-Message-State: AOAM532db6OsTiOZzlTw90fr49cWswCrbokXrOwxpIL6l8RkdtD/zD79 Ymn8tsE4bda7uoAFpc/gRvzTxnrrlEiGwm7g X-Google-Smtp-Source: ABdhPJx0nXj4c00ek7+uIyTj/2vIjRfGxeo9LL0aHNT7QB5bicfC7x1BYLqmQZ0gj7EGxQ+CqKr0ig== X-Received: by 2002:a37:b985:: with SMTP id j127mr3569447qkf.282.1604698058699; Fri, 06 Nov 2020 13:27:38 -0800 (PST) Received: from localhost (cpe-174-109-172-136.nc.res.rr.com. [174.109.172.136]) by smtp.gmail.com with ESMTPSA id 197sm1469175qkn.113.2020.11.06.13.27.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Nov 2020 13:27:38 -0800 (PST) From: Josef Bacik To: linux-btrfs@vger.kernel.org, kernel-team@fb.com Subject: [PATCH 0/8] Locking cleanups and lockdep fix Date: Fri, 6 Nov 2020 16:27:28 -0500 Message-Id: X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org Hello, Filipe reported a lockdep splat that he hit on btrfs/187, but honestly could be hit anywhere we do readdir on a sufficiently large fs. Fixing this is fairly straightforward, but enabled me to do a lot of extra cleanups, especially now that my other locking fixes have been merged. The first two patches are to address the lockdep problem. The followup patches are cleaning out the recursive locking support, which we no longer require. I would have separated this work, but btrfs_next_old_leaf was a heavy user of this, so it would be annoying to take separately, hence putting it all together. Thanks, Josef Josef Bacik (8): btrfs: cleanup the locking in btrfs_next_old_leaf btrfs: unlock to current level in btrfs_next_old_leaf btrfs: kill path->recurse btrfs: remove the recursion handling code in locking.c btrfs: remove __btrfs_read_lock_root_node btrfs: use btrfs_tree_read_lock in btrfs_search_slot btrfs: remove the recurse parameter from __btrfs_tree_read_lock btrfs: remove ->recursed from extent_buffer fs/btrfs/ctree.c | 47 +++++++++++++---------------- fs/btrfs/ctree.h | 1 - fs/btrfs/extent_io.c | 1 - fs/btrfs/extent_io.h | 1 - fs/btrfs/locking.c | 72 +++----------------------------------------- fs/btrfs/locking.h | 11 ++----- 6 files changed, 28 insertions(+), 105 deletions(-) -- 2.26.2