Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp2539246rwr; Fri, 21 Apr 2023 10:10:37 -0700 (PDT) X-Google-Smtp-Source: AKy350b3VX442jeWhvRNeNipK34zesY3k7T5L6FYgpdFgKBmb1wL1EElSPEjVx5Dp+WUmvzno5Fe X-Received: by 2002:a05:6a00:24ca:b0:63d:3a18:4a08 with SMTP id d10-20020a056a0024ca00b0063d3a184a08mr7929547pfv.24.1682097037060; Fri, 21 Apr 2023 10:10:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1682097037; cv=none; d=google.com; s=arc-20160816; b=vjt2/S3GFvQTzvu8wg6sOHfS3/IIPibUCErrPYiUUyQQNRo02K1NUeg+HLJ9RV4C+5 kSAG02sep1XzsGs01KzE+OkhhiS3MnTOgxgcjZ/FkTMAk5DBjQodP51HpMTkx4Tp+Up5 /yVdyQBFr8oAdj+JGj27QLpgdRN5GArgAyJQHL6CtTePNq1X/LB6gUtmseXSfgOX8xHG SlH4y3EMzADxnWi0fHz1MNIM31amccby1Uy2adVFX/msPp2EyX+Zarlntnr6J9a43ma6 Yjm8KRb9KCxIxKdPhWJVgRGJxhPAcrxXyuKt+f/7dt8JzAtRNpvqHay3ymIXbxVu2J+3 VhuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:to:from:dkim-signature; bh=QcPCdK56wM8GjZkUgc11YZ7bImZ1LYhbe8+qrhRQR7w=; b=jAyob4TSuwW8oDm4HmAskkDrMcT4ce41tg6thytjQrPaGsw/HUU3w6frNY8muJQGMa nASnTVDG8tq0+b+qSlULKi9dV+qqo5JIVj4zx+TsECzqZd392MQ4D9uvAHueqWxVIH8R qUnSqYKEKWasXflRwDLrFYQq+6bEbzruRpYd8mYe1V4ZyktTuXYxEMaYoIOI8hpOkEqq ZW8znuzIH3wchgggIuWP2zi9UfWeLZulhs40FSR+PvTjBjalZebVW5c5me2RZgD06URF OxpFfbQe5OHseYuFDyvHQE4nJq6ci8xGYg6xQsQRFrjh764Hrek8pbvnrCqZqFuSb0xt xmLQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=i1qtWe+Q; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f194-20020a6238cb000000b00639cb36bb82si4729689pfa.362.2023.04.21.10.10.24; Fri, 21 Apr 2023 10:10:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=i1qtWe+Q; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233293AbjDURJ2 (ORCPT + 99 others); Fri, 21 Apr 2023 13:09:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51892 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229641AbjDURJ1 (ORCPT ); Fri, 21 Apr 2023 13:09:27 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3AD6E167FD for ; Fri, 21 Apr 2023 10:08:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1682096895; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=QcPCdK56wM8GjZkUgc11YZ7bImZ1LYhbe8+qrhRQR7w=; b=i1qtWe+Qvv4lWz2VPKmPWeIgls3JMKDZ63MjXLQnq0uhVLaJxLouHU++qWXiJkBNOSd+Ba EkGnooQlda657txxqPEQT64MM7et9VwmFsBKFjawakJJfPMOPYFjXO2Kblg5q6Z6p4CIla munK36cWfT4D1vFRGQO7oyKUFfLuPgA= Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-653-1ZZ0hCbgODmfE2fOf7wDCg-1; Fri, 21 Apr 2023 13:08:13 -0400 X-MC-Unique: 1ZZ0hCbgODmfE2fOf7wDCg-1 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id A7D4E29AA3BE for ; Fri, 21 Apr 2023 17:08:13 +0000 (UTC) Received: from bcodding.csb.redhat.com (ovpn-0-3.rdu2.redhat.com [10.22.0.3]) by smtp.corp.redhat.com (Postfix) with ESMTP id 61810492C13 for ; Fri, 21 Apr 2023 17:08:13 +0000 (UTC) From: Benjamin Coddington To: linux-nfs@vger.kernel.org Subject: [PATCH 0/9 RFC v2] NFS sysfs scaffolding Date: Fri, 21 Apr 2023 13:08:03 -0400 Message-Id: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org Here's another round of sysfs entries for each nfs_server, this time with a single use-case: a "shutdown" toggle that causes the basic rpc_clnt(s) to immediately fail tasks with -EIO. It works well for the non pNFS cases to allow an unmount of a filesystem when the NFS server has gone away. I'm posting to gain potential NACKing, or to be redirected, or to serve as fodder for discussion at LSF. I'm thinking I'd like to toggle v4.2 things like READ_PLUS in here next, or other module-level options that maybe would be useful per-mount. Benjamin Coddington (9): NFS: rename nfs_client_kset to nfs_kset NFS: rename nfs_client_kobj to nfs_net_kobj NFS: add superblock sysfs entries NFS: Add sysfs links to sunrpc clients for nfs_clients NFS: add a sysfs link to the lockd rpc_client NFS: add a sysfs link to the acl rpc_client NFS: add sysfs shutdown knob NFS: Cleanup unused rpc_clnt variable NFSv4: Clean up some shutdown loops fs/lockd/clntlock.c | 6 ++ fs/nfs/client.c | 21 +++++ fs/nfs/nfs3client.c | 4 + fs/nfs/nfs4client.c | 2 + fs/nfs/nfs4proc.c | 2 +- fs/nfs/nfs4state.c | 5 +- fs/nfs/super.c | 6 +- fs/nfs/sysfs.c | 148 +++++++++++++++++++++++++++++++++--- fs/nfs/sysfs.h | 9 ++- include/linux/lockd/bind.h | 2 + include/linux/nfs_fs_sb.h | 3 + include/linux/sunrpc/clnt.h | 11 ++- net/sunrpc/clnt.c | 5 ++ net/sunrpc/sysfs.h | 7 -- 14 files changed, 204 insertions(+), 27 deletions(-) -- 2.39.2