From patchwork Thu Oct 24 14:05:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Howells X-Patchwork-Id: 13849107 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3799BCE8E7A for ; Thu, 24 Oct 2024 14:07:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B06096B00B9; Thu, 24 Oct 2024 10:07:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AB5656B00BA; Thu, 24 Oct 2024 10:07:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 92F656B00BB; Thu, 24 Oct 2024 10:07:45 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 707B46B00B9 for ; Thu, 24 Oct 2024 10:07:45 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 0A96BC12F7 for ; Thu, 24 Oct 2024 14:07:24 +0000 (UTC) X-FDA: 82708673544.24.1881DCC Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf07.hostedemail.com (Postfix) with ESMTP id E4D854002C for ; Thu, 24 Oct 2024 14:07:16 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=hAxPdpKK; spf=pass (imf07.hostedemail.com: domain of dhowells@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=dhowells@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1729778708; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=E8xdMX/uFcK2gZEOhPcswqOMkVx14v1DliFqQKEHbv4=; b=HmJY63znV3lFrifA7OG+wL8pCNlxDkga2zKDUNqSa4lyvdOos8Qjvf+s6b65EvvVCPj07w 5BtInpUmaRnnFFEQHk9XiqNobwgbQPHvg/rCoCLW9ArdMGKU5YoN5h/C0zoDETAA5ceTX4 qP+CIJZlIxwBFkTC48EDbhdKQqv6u1E= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1729778708; a=rsa-sha256; cv=none; b=hnENjaasbd5y0YEUuk7POG5lYMHzXdrLpFu8LvGbh+FLzKh4OPBiUlayb0cWBJzleCfJz9 pDVgve8ihkr76a29uZCjWVZstYoW+FhojQxPmMTdnrmLpICrWQ+kiucMf8+38xM2llqwHr x+eE2p9AXkRj8XOz+QKaccMhebofnMg= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=hAxPdpKK; spf=pass (imf07.hostedemail.com: domain of dhowells@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=dhowells@redhat.com; dmarc=pass (policy=none) header.from=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1729778861; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=E8xdMX/uFcK2gZEOhPcswqOMkVx14v1DliFqQKEHbv4=; b=hAxPdpKKIUGi8jTlq3rL1V6bLnORAmfl7XHJ2ENPAq7qB6bs/5CFNGETMd3x7ctLPoCHHG h1ktGpxO6GsByx4Rjh0o3xa9pXg6JHXQ4KYtGFJ2peKzmVxzNooftJXpLx2p9kOL9ETfnJ ZqpBU+8uS9BTg9k6qqy7tOOztFJMet0= Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-647-S4S2A4KAOVabOf3n8LI1SQ-1; Thu, 24 Oct 2024 10:07:38 -0400 X-MC-Unique: S4S2A4KAOVabOf3n8LI1SQ-1 Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 537361955BE7; Thu, 24 Oct 2024 14:07:35 +0000 (UTC) Received: from warthog.procyon.org.uk.com (unknown [10.42.28.231]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id EE6B21955F43; Thu, 24 Oct 2024 14:07:28 +0000 (UTC) From: David Howells To: Christian Brauner , Steve French , Matthew Wilcox Cc: David Howells , Jeff Layton , Gao Xiang , Dominique Martinet , Marc Dionne , Paulo Alcantara , Shyam Prasad N , Tom Talpey , Eric Van Hensbergen , Ilya Dryomov , netfs@lists.linux.dev, linux-afs@lists.infradead.org, linux-cifs@vger.kernel.org, linux-nfs@vger.kernel.org, ceph-devel@vger.kernel.org, v9fs@lists.linux.dev, linux-erofs@lists.ozlabs.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 13/27] afs: Fix EEXIST error returned from afs_rmdir() to be ENOTEMPTY Date: Thu, 24 Oct 2024 15:05:11 +0100 Message-ID: <20241024140539.3828093-14-dhowells@redhat.com> In-Reply-To: <20241024140539.3828093-1-dhowells@redhat.com> References: <20241024140539.3828093-1-dhowells@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17 X-Stat-Signature: xhbzfxwsnpms8yyrbatyjdgatf9pece7 X-Rspamd-Queue-Id: E4D854002C X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1729778836-898350 X-HE-Meta: U2FsdGVkX1/svlZQX/0xCFUkMhH2INIDnloWRkVJJMImzgVqAOT4vR0ihK4DQsxAVJHRzg1hqyOJXg2FK0QFcYGq22GPsO6jaEQssHFSl5HTqYG+hX59k/GNEiXqrHFVWzEH+U5gmj0n3h3We5M8AT/RQlREYcpMMcfjlpSOGkUJrX9QXgSLa/CWPdmbV+hD2YA/fD5w03LhSDmSodhRjBFWbhM+y0MQGQyYFaXRsz/ulRhvGMkSdK0EcLUPPMlTdjSJsNvg5EBvJcCO6Qr/y2kKpc/iQaFMgiL6YHInnYlunp12bsxM0rNCO7yapdSVCIdyuI7BqX84tNXMz/D/xRmid2drRuUidlOpA9YI8rG4DKyF2Q6FVDkjCznZsQF/m/4nDP0IGor8KvjCcZwwiWM3AjrJtKRDf43qcHnIOe5tyUAvfq9eLpYKkekCICtzsZqWMab6jEdAt9H11+JBVKTR0rgtD1ZXbWzv2vybtmp3X8er+WeQz/kdSDkldsQkyCXyFdGUSuvCbvFMSc0ohyUibTMsCJoIqwyY3AYyswCMFaUwMYgmbC1UCTFOOIeOrOq2IgXpWY86ovJjyorsOU6nYTDocDyA2sx/p3JvFMcZAgQRoUrC57IViYWOTCOTf17BXaMEz6QF+LwK9nwpY1OBHwLT7/KFE3odyXbmp2Y6Gnicm+RX2PaTKrsn4eWmOxOysSCjgJQUmNLtjeq/XTj4x+NJ2bHJMeQHYC8nz8WkkE+py/jG7IfT48002QPFozCqxblJSh1PdzQyibM1VI9dU4R4R3dWtoV0HoRn9gd5lEgUdr3EVIW3JLho9phlMIy8ANy/mIKvFxF/phvtXSYgL8NNkJnICTiJrOH04Skh40UTtOXM5VdkkL9CKjQxE0AIFLxxYEcHtazp1iTYM6tkAD0UMFz4dXVzpMUw/HzxEOUHcejYmpmj/j85+kK4yf2s+z+/DVmJTAANXm+ solqWujq ES3M6Yw19MlgnmtfJGvXCx871U3BBzuixDN/4gvxCkMSMP2AREF4VABfJu+7Jhs5bl4qp9Bg+mOxs7mDYFr1Hv9bSh0BBfVEjWC4gzlMdkx7hFDWnvcK27sySqVMQXKdlz3dzVrWsKQY7IXrF+a08NZZfwrlKWkXe6q2WycbNV7brYiuN/ujHB+1/PEHW1ecJT6HxsfOdZ94Fnfhb+V2tCXfQXTG1WvScPg860GkOlwUcQpAw5EzVapCP5DVLUkUCuXjy1RmGBjDLMlpv9T5K/ZNsTRaO9u79+gGHdbDJwfDRKbHmur6PZPb66Vn6uYbclrMEMUm7mtizei9lesnsVfGWseciBeJO1JWgjWz81gYPlHWsqMLSnsPIWYlTtWlnmEodWHWOBd+lVnWKr7OWmvTB7S4sUok3B0V6KafXNkm0+Ctrcg3KBwA7JFvhDlWzaZ2Pe2T2ZfRo0K8WO37NQ1yoyx0gJdRpmwWetpO4uf1ffX0= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: AFS servers pass back a code indicating EEXIST when they're asked to remove a directory that is not empty rather than ENOTEMPTY because not all the systems that an AFS server can run on have the latter error available and AFS preexisted the addition of that error in general. Fix afs_rmdir() to translate EEXIST to ENOTEMPTY. Fixes: 260a980317da ("[AFS]: Add "directory write" support.") Signed-off-by: David Howells cc: Marc Dionne cc: linux-afs@lists.infradead.org --- fs/afs/dir.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/fs/afs/dir.c b/fs/afs/dir.c index ada363af5aab..50edd1cae28a 100644 --- a/fs/afs/dir.c +++ b/fs/afs/dir.c @@ -1472,7 +1472,12 @@ static int afs_rmdir(struct inode *dir, struct dentry *dentry) op->file[1].vnode = vnode; } - return afs_do_sync_operation(op); + ret = afs_do_sync_operation(op); + + /* Not all systems that can host afs servers have ENOTEMPTY. */ + if (ret == -EEXIST) + ret = -ENOTEMPTY; + return ret; error: return afs_put_operation(op);