From patchwork Fri Oct 25 20:39:40 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Howells X-Patchwork-Id: 13851566 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 13E1AD149F2 for ; Fri, 25 Oct 2024 20:42:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9E34C6B00A9; Fri, 25 Oct 2024 16:41:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 96C326B00AB; Fri, 25 Oct 2024 16:41:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 80D346B00AC; Fri, 25 Oct 2024 16:41:59 -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 5C7276B00A9 for ; Fri, 25 Oct 2024 16:41:59 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id F2498A1121 for ; Fri, 25 Oct 2024 20:41:22 +0000 (UTC) X-FDA: 82713296148.28.60B59EA Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf04.hostedemail.com (Postfix) with ESMTP id CEC2B40009 for ; Fri, 25 Oct 2024 20:41:31 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=NDYGlNi9; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf04.hostedemail.com: domain of dhowells@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=dhowells@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1729888877; a=rsa-sha256; cv=none; b=g2Bw5kSGCiaXwLx6H9o0GosBfRqKVeOtelYGvHb92cPZusxpuayGDQCkzVWLlC8wpGL1X9 cfplzaGgqm/e5n05VGumMXC5bvlQmSl2d6/3kwDQelFlEMqXW4e7SAnbuooYqnRmVAr7GB MsHGCo0bgd6kOvzRSV1ASd9FtXzOst4= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=NDYGlNi9; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf04.hostedemail.com: domain of dhowells@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=dhowells@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1729888877; 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=yAb9MMOgq5cZ8VpnVhoAZbrWvb8urzV9+SyDe3QdgmhudGyVlrCCy6UPLBemgVLmn9oCkS 9NgLbxmHqGMLz4nezcqxN/w1zEzOAneFW+6gRPVdNqkeM/4Z6r5oHyGQizghii/9fPcUP2 jTuzligtgBwxeRVy2ToJw789VjVLIf0= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1729888916; 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=NDYGlNi9Gg+OLp+xNV7Et5qXzDXt6JlfCfGbm1CPAXx5qaRQcK1b6XwGw/sdZmUnhVIASx 8JP1OPrfk0BPtlTE3Yxnwm1+4ASOHIBEjhy/gn8e+Lm/MThrP+rmjvMIwQFeQbwNA4tE/S ulxIe+7r1oXycp/aIC6sf3WYWd+6Szg= Received: from mx-prod-mc-01.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-290-cSA3XPpmPWqGyLTukBmT0g-1; Fri, 25 Oct 2024 16:41:52 -0400 X-MC-Unique: cSA3XPpmPWqGyLTukBmT0g-1 Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (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-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 3354819560AF; Fri, 25 Oct 2024 20:41:48 +0000 (UTC) Received: from warthog.procyon.org.uk.com (unknown [10.42.28.231]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 38557300018D; Fri, 25 Oct 2024 20:41:43 +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 v2 13/31] afs: Fix EEXIST error returned from afs_rmdir() to be ENOTEMPTY Date: Fri, 25 Oct 2024 21:39:40 +0100 Message-ID: <20241025204008.4076565-14-dhowells@redhat.com> In-Reply-To: <20241025204008.4076565-1-dhowells@redhat.com> References: <20241025204008.4076565-1-dhowells@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Rspam-User: X-Stat-Signature: kba8m4ptxgzmhtsaahyt8z94bb6x9ayt X-Rspamd-Queue-Id: CEC2B40009 X-Rspamd-Server: rspam02 X-HE-Tag: 1729888891-497954 X-HE-Meta: U2FsdGVkX19ZonopKj3DMyjYF7B4aMUGGIQCXmDRn6OqjGAnxptOA7MBirLHorWikbrhbecV6JyXSmeJf9Nr1iJPJ8ZPqCk3R2fmyqeOlV1Ws7yYnpS3YRD8VhtkW5FYoTYdt7eWCjurJMmR24akJyMcusYpm7G8VOOjqzM3OLXxoiIbUFxp2PSagTwfqpyeSmwfwIRDXcxQ99qq1l1m1LDTT3Jdt8lScT027Tk2u23a0gDqnToB767qqpDfkeu7ZboE0IvOdqZltE0Z6V8NMlUliwJO/PrWi+rk2dgFmm1wvA0XyJywbwSeFs8gsw9iLxsXfcX/YaMwt7Ct+MGmasnt18q5zsMv4ZPPXQ+Ihz8C06MWVEI+xzcMMqX/eYD1SY6D8pd3ZfKIWRzdx0TEJ8Fpx/dnB0LKjRz6ZbJhqnW8arxDGFzD+914mQg07+3DNk51C01SFNfvnVYacXJzWwU4mm7G/SD2qAZHa10ymqNY3/r8+7yDKn+Vv4ymNTxBsJW+RWU3q6kehZ58H5Gig2Szm7zsbNACtctF6pe6CdNjQTsfPWIUFlJ+cAHSjztOaQaD2L9J6VXhocqSBZDC1TedCkNAI+k6NSn0EWmQiKxuQyk/d+WByd3H/olCq1U1uHDs8o+VJT3MvK9bs4WPj6WLIKF5A5R4AtlDkT+EQ8C2zI/K4RhDHZ3hJJtvC05P90L7kuodcxhRJzu8CwyN9dRvo/s/BggJtHY+rcAHGtR1UgS79OsnEyZK98G5NsF0KzTX7aoG0T9s8OkRZWrM244LoRUPSG3CTyP9ze971KL4hYhKho6c5jcBrE9HARcOyoXCcNTRb6bOSTL/YW7oG5YfG52lYZ9ULQszfvU9GbloKODcbll+ql0aLzz2q+N49hgTsWYUznooNlYxg9FByKjomUSgLgkVZ5Us+NJRve4eg3gkA+ut8FijtF8pJC999d19LmX3ZN+NVKSA3Pz Gw+7BWo5 Oq9WgGODTaBxk+DHJRlI6dSJPwJU/tlDWzWDD8mz5qv9Az5ONPrsz5BK7Wr6tLiI3sY/+eswQ6nlFtoADHGXTVtKaTm/IrkfqrIHWq9Iy7Yfl+ArXMLDdGvSIQtVI212Madq27eBN6wzbydvsLxZWWbTEIclKmHzn7aaOCb68s47MKWOh7G2vLu5oPac0gAvLneJC/gAj0FBBSA8bAJO1tiV/7zptLfJ0Tz0sCZaNKFWPa6WYjuINeEeXOpdTRQsTODhU7YteUoqo4JZcvZsqlo+0PC8G5DfVL4IOC5yotNWDEHJl0wbzqR38wOdfBIPOAxoDkv5g5yYXBlPT6zlqnITlYQhPkzUmQqL/NaAsE84CZF7OiRb5JeSLxh2ChEjhAUC1EZBKeSIqqkNJenJAN6fXXy8lNwsgwkojTDgLUUQufDrAb8uLUXM3czHjaWeHQmLhBYeo2I4P8X/7uFTw4jflVBarg0QNK3k4mCEBHaAto1o= 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);