Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4579342pxj; Tue, 25 May 2021 11:08:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzOcWt5HNlQxJVQKTOBtY9BnoyIJMMGavyrOMxyrtnypRk0tqUfcslc3ab5x4enkOXNFhzx X-Received: by 2002:a05:6602:3146:: with SMTP id m6mr22798283ioy.158.1621966107560; Tue, 25 May 2021 11:08:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621966107; cv=none; d=google.com; s=arc-20160816; b=ieRAujjDmwynUzgiEn+M+Esoijf/0sS7SjK6DDTSZdcim7lEYhGP9M5fAbdH3yh8Gb TKPbFsqcJjXq/LXBC5Ez3OVLZisoBSu0fziOUFS3oBQ/7u06Ih3npkCBR4W+PcMJZF1/ Y0BT0lahn5R4UjX320tQH1oIqin3Bgm/XYaingMp+NoKJq4YYv2qMu/AI1bqaBQ/SEgc BhiJqiN+O14orvKgXhn22NCyWw3DzwdYLG37QA+KEhTgGXhBSSYXl37qYrmM1cRAAI4S yIiu0q8KGps00PD7Hx49owfpBwV6alXRdvSgLqgJutYX0wAvLy0wbvhur8ahN6tAGDpB NZBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=tb7ZXH1D1cwKZAT823HMk0GHO8oGdv5P3a7/nbM1BzU=; b=Zn/0zw7QydOrAjnvMswWbmX7e4hf9Fu9Hqk0m6Pw2ORTabAOByJ+Dgoe2c9m81JSC1 aT47hA/NUd2F3cdTsjjRBxoB6mre607pX1rSaBZx1h/KDNgpmMqDaG5801X8HbeXLNth 12OtHbhoa435/KIKkrfqrFqevyb4Zzz1kDgAhmYWv4GgrOxjBlAhMEqpIsy6RXDlYRk9 YCa18EoZhqR1Lrbpi/0ffUabAONqNAgYK7hozvieiYXtKEvTSC3D9bhEXizcMBrnJ8Bw 2eHpJmjnmRsLpNoWOC4t7R9Su6Afoha+kA1yIByVwJg8d90p4W1C87mA0G5ELwOBttyZ Outw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Ufo2RKRi; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u13si18058793jak.126.2021.05.25.11.08.14; Tue, 25 May 2021 11:08:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Ufo2RKRi; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233866AbhEYR1u (ORCPT + 99 others); Tue, 25 May 2021 13:27:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59300 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229955AbhEYR1s (ORCPT ); Tue, 25 May 2021 13:27:48 -0400 Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com [IPv6:2a00:1450:4864:20::429]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CD4CAC061574; Tue, 25 May 2021 10:26:17 -0700 (PDT) Received: by mail-wr1-x429.google.com with SMTP id y14so30994542wrm.13; Tue, 25 May 2021 10:26:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=tb7ZXH1D1cwKZAT823HMk0GHO8oGdv5P3a7/nbM1BzU=; b=Ufo2RKRiquGpX291FCaRDo39U2YU+75WNJ+TJtorDu92rtzAJa5DnA3QA4fMdamUoD F2/nBcqGhlG4Hjv9BooXNfGEFY8KnnCGCjdNX+ZjrcvLsaGtyvnYyO6UTpZQFJsZegaO F0IitOdpnPvmGDRcvKh0JXApsAqi+qDfo1LU6hr52mRJbmIH5CUpWnDqIvWOQO0KXMuT CWV3XwPqRCMX2vKuprgYKfceM/YIEpK9iroIVomGrDC/uSsLN4Bhr6fEO2y/PVV9sV3b w5Myhwm17SRY4uwk4s75FSt10SfRCZc8uGKmRpIiUQlrldzPWLYikOR6m8hhacH5U+0D q84Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=tb7ZXH1D1cwKZAT823HMk0GHO8oGdv5P3a7/nbM1BzU=; b=LVPU1S4kVvmtRGh8NmYypo7zHItPSeBU+GpHgt9V5lWfamCB50iUx/35GqjNKubTtF fFOSpgM59rqAA8N+VKOXfJ1fnc+wqwbhctbK8h6sxgK7M7x3fFG8BdLwka75GPEFpTCH O4c38/H6wbpglFtEPK4Z4hByLhbpXmUmzCsM2rHIzX56fhEQ6d+yK4JW402VPWxkusTf 3Bz/WFiHJu5pLheQhBOgvy4gNKLy6XqOdcUv95O09Vnt2RpKDj8rADoWkTFcNl3aLD2A 0fPPJGa0ewahpm1XTr329lZczHVua1lRQbCf3OpKI5MmEc37AySKSvsvALcg/IMpBNKb 8FHw== X-Gm-Message-State: AOAM531C6ZdLHuQb8/8+R+CoWQCJ6SRM0gXWUedtjScE4JV2TUMIFEHM sFsjSPQ0OGH+FYRIHZdGIMJ2EBIahub4c6BnW8pCEhdl X-Received: by 2002:adf:e8c3:: with SMTP id k3mr28870750wrn.255.1621963576504; Tue, 25 May 2021 10:26:16 -0700 (PDT) MIME-Version: 1.0 References: <162194384460.3999479.7605572278074191079.stgit@warthog.procyon.org.uk> In-Reply-To: <162194384460.3999479.7605572278074191079.stgit@warthog.procyon.org.uk> From: Marc Dionne Date: Tue, 25 May 2021 14:26:05 -0300 Message-ID: Subject: Re: [PATCH] afs: Fix the nlink handling of dir-over-dir rename To: David Howells Cc: linux-afs@lists.infradead.org, linux-fsdevel@vger.kernel.org, Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, May 25, 2021 at 8:57 AM David Howells wrote: > > Fix rename of one directory over another such that the nlink on the deleted > directory is cleared to 0 rather than being decremented to 1. > > This was causing the generic/035 xfstest to fail. > > Fixes: e49c7b2f6de7 ("afs: Build an abstraction around an "operation" concept") > Signed-off-by: David Howells > cc: linux-afs@lists.infradead.org > --- > > fs/afs/dir.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/fs/afs/dir.c b/fs/afs/dir.c > index 9fbe5a5ec9bd..78719f2f567e 100644 > --- a/fs/afs/dir.c > +++ b/fs/afs/dir.c > @@ -1919,7 +1919,9 @@ static void afs_rename_edit_dir(struct afs_operation *op) > new_inode = d_inode(new_dentry); > if (new_inode) { > spin_lock(&new_inode->i_lock); > - if (new_inode->i_nlink > 0) > + if (S_ISDIR(new_inode->i_mode)) > + clear_nlink(new_inode); > + else if (new_inode->i_nlink > 0) > drop_nlink(new_inode); > spin_unlock(&new_inode->i_lock); > } Reviewed-by: Marc Dionne Marc