Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp3616671pxv; Mon, 12 Jul 2021 23:06:32 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy+pggpfVadjyrm/8QthF4Xni376Nf4ooQLsVP/v6RI/A4UQWF0OD26h1lIFrkexUFP80Dt X-Received: by 2002:a05:6402:d5a:: with SMTP id ec26mr3452333edb.4.1626156391815; Mon, 12 Jul 2021 23:06:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626156391; cv=none; d=google.com; s=arc-20160816; b=NOiFX1/2tETVjwdOI2vvuaf45PEhGnY6ewOAMJOkn6iB+qyxGbYYrJUufWoFR4zwRS J0dqp5vKCrUGFjob9BQeTg5RE/afVswc0Kh/w31ASek7hj3s4ffSFpaci0pEJkhGkeTy SKnfj01b7+dXQVnKmPbERCBLT0Wfrsipx5qmq8M3Qr1/QE2MWClBlE0p/aSwzGHMSzdy 0rs1js2tLanJkfE1CNgzGpxi+5frtZE0+EvTKXrl7A2R0KcyOEI/j8Y67entIR2w479t uaH5KA5aXoCkjSb7THeCFhRZuIwCynMA9nyfHQoa+7gtxntY52e1dm/1jM4Xk++oe69d 5FDA== 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:cc:to:from:dkim-signature; bh=OSfHCkUeoqFBlO/kRloJLOcxPEOwP4kTTQ/Iao3wlrg=; b=H1duwW24lVdRGLSbCBKv6jyD/glvzG1fxMqb0wCfO1g1qmxPfYQy/72Yi30dHbN3Qn Eer9ntMnEnmd2ZZrSBKKkAmDugzm3NPBIvy4CBn/H0NYMATc2cNk0SLU5F0qc3VgVgGS VyGbTNCJzj1HNDimNUyE7kiFnNS8TCU3A8Lwztr7hV4eG/QgmbKbWtWBtg2iR/kF5Qpf WKlcVISAMD8G3SLiOcBzPNsdNNps9NyuOkxtAyZaVvXu0kaz/mEcIsZAZzAGxSNOtdJF ceggyIk1h4kzksqcbzERQR8A6i5iy57rXArnTCwGhZoB3iI77UBpNw+El2mHFhTE+46U io6g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=KuRHTq0C; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-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 k19si23226437ejv.176.2021.07.12.23.06.02; Mon, 12 Jul 2021 23:06:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-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=KuRHTq0C; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-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 S232562AbhGMGIn (ORCPT + 99 others); Tue, 13 Jul 2021 02:08:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41940 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231261AbhGMGIm (ORCPT ); Tue, 13 Jul 2021 02:08:42 -0400 Received: from mail-io1-xd35.google.com (mail-io1-xd35.google.com [IPv6:2607:f8b0:4864:20::d35]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4BAFAC0613DD for ; Mon, 12 Jul 2021 23:05:52 -0700 (PDT) Received: by mail-io1-xd35.google.com with SMTP id u7so25679122ion.3 for ; Mon, 12 Jul 2021 23:05:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=OSfHCkUeoqFBlO/kRloJLOcxPEOwP4kTTQ/Iao3wlrg=; b=KuRHTq0CpR8yoFtTSKk1Z6YAGBNLW3vMZJiAl9y0ForcJ/O4xv3HZjjXwrnyu+m4Ra YTq3++86XX3EVr7t2/vKbZ9h9vQPBMFR6dNijxE9biff1YQ4TmETvxcnu3cXl8SH5SHO WGwx2aUEj0ZvWVjJ5Us4+nHzncU06pAG4J0X/uLpcsWGCy/ZyOL27oFhvYSSMpJ1JKdh l6qCeVgVOsOBfPFyZqX+8Eel/vSr6iID60ZpNBgNj6PMO9rcb1c16K+OjHgAoipIGJKF WCLdK0dZedBHJtAVWrW9Ja/aMuAUYTWcBYYidVyY8OwpjIQk6rgKADQnfKSetAreaxYI nMoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=OSfHCkUeoqFBlO/kRloJLOcxPEOwP4kTTQ/Iao3wlrg=; b=hqF1Xig4BJ8tXOhiGDKPPbc8XSAjbhMbbyFVI0kopm4druOPVQWMNINpfPjAq0i+DN n3E4pSVyuGmm0uC73OOD4SwsrMYfCdBMPOvPb9iC0BLIdYZ3/zYslJz0Bfqu6Z6HG4gr UjIoNTODJOaWEyGeVGcv8RUHnedQtBFToGIxlr9LbjAKnzgmsO+thrqpHVbzrlP/AAkU UqcYaVy7HouIUzVJjvw3E0RUoe9bu0qnwy9ZwNl1kAvPNVAtTrkYnLwcb6XrBdhMaCl8 7Foci7N2ibWAuU96uoPtj0MugObPKIjS0I82KhxBlGwWinnsIBGJBp0CzCW2WMbXwRfZ 3niw== X-Gm-Message-State: AOAM533PRc1zvgaAKiZAZa0MUbvKobFR9dyHVw1gZgsUib+Zitu1+Tpi 08EMxga76j7iqeoJ+ZVDBHlg/yTC6dk= X-Received: by 2002:a05:6602:188:: with SMTP id m8mr1971788ioo.201.1626156351468; Mon, 12 Jul 2021 23:05:51 -0700 (PDT) Received: from james-x399.localdomain (97-118-178-184.hlrn.qwest.net. [97.118.178.184]) by smtp.gmail.com with ESMTPSA id j4sm9080951iom.28.2021.07.12.23.05.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jul 2021 23:05:50 -0700 (PDT) From: James Hilliard To: linux-nfs@vger.kernel.org Cc: James Hilliard Subject: [PATCH v2 1/1] Fix non-default statedir paths. Date: Tue, 13 Jul 2021 00:05:39 -0600 Message-Id: <20210713060539.1261321-1-james.hilliard1@gmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org Signed-off-by: James Hilliard --- Changes v1 -> v2: - fix the statedir path in exportfs.h as well --- configure.ac | 19 +++++++++++++++++++ support/include/exportfs.h | 2 +- systemd/Makefile.am | 5 ++++- systemd/rpc-pipefs-generator.c | 2 +- systemd/rpc_pipefs.target | 3 --- systemd/rpc_pipefs.target.in | 3 +++ ....mount => var-lib-nfs-rpc_pipefs.mount.in} | 2 +- utils/blkmapd/device-discovery.c | 2 +- utils/gssd/gssd.h | 2 +- utils/idmapd/idmapd.c | 2 +- 10 files changed, 32 insertions(+), 10 deletions(-) delete mode 100644 systemd/rpc_pipefs.target create mode 100644 systemd/rpc_pipefs.target.in rename systemd/{var-lib-nfs-rpc_pipefs.mount => var-lib-nfs-rpc_pipefs.mount.in} (84%) diff --git a/configure.ac b/configure.ac index 93520a80..bc2d0f02 100644 --- a/configure.ac +++ b/configure.ac @@ -688,9 +688,28 @@ AC_SUBST([ACLOCAL_AMFLAGS], ["-I $ac_macro_dir \$(ACLOCAL_FLAGS)"]) AC_SUBST([_sysconfdir]) AC_CONFIG_COMMANDS_PRE([eval eval _sysconfdir=$sysconfdir]) +# make _statedir available for substituion in config files +# 2 "evals" needed late to expand variable names. +AC_SUBST([_statedir]) +AC_CONFIG_COMMANDS_PRE([eval eval _statedir=$statedir]) + +if test "$statedir" = "/var/lib/nfs"; then + rpc_pipefsmount="var-lib-nfs-rpc_pipefs.mount" +else + rpc_pipefsmount="$(systemd-escape -p "$statedir/rpc_pipefs").mount" +fi +AC_SUBST(rpc_pipefsmount) + +# make _rpc_pipefsmount available for substituion in config files +# 2 "evals" needed late to expand variable names. +AC_SUBST([_rpc_pipefsmount]) +AC_CONFIG_COMMANDS_PRE([eval eval _rpc_pipefsmount=$rpc_pipefsmount]) + AC_CONFIG_FILES([ Makefile systemd/rpc-gssd.service + systemd/rpc_pipefs.target + systemd/var-lib-nfs-rpc_pipefs.mount linux-nfs/Makefile support/Makefile support/export/Makefile diff --git a/support/include/exportfs.h b/support/include/exportfs.h index 9edf0d04..31574e21 100644 --- a/support/include/exportfs.h +++ b/support/include/exportfs.h @@ -34,7 +34,7 @@ enum { }; #ifndef EXP_LOCKFILE -#define EXP_LOCKFILE "/var/lib/nfs/export-lock" +#define EXP_LOCKFILE NFS_STATEDIR "/export-lock" #endif typedef struct mclient { diff --git a/systemd/Makefile.am b/systemd/Makefile.am index 650ad25c..8c7b676f 100644 --- a/systemd/Makefile.am +++ b/systemd/Makefile.am @@ -12,7 +12,9 @@ unit_files = \ rpc-statd-notify.service \ rpc-statd.service \ \ - proc-fs-nfsd.mount \ + proc-fs-nfsd.mount + +rpc_pipefs_mount_file = \ var-lib-nfs-rpc_pipefs.mount if CONFIG_NFSV4 @@ -75,4 +77,5 @@ genexec_PROGRAMS = nfs-server-generator rpc-pipefs-generator install-data-hook: $(unit_files) mkdir -p $(DESTDIR)/$(unitdir) cp $(unit_files) $(DESTDIR)/$(unitdir) + cp $(rpc_pipefs_mount_file) $(DESTDIR)/$(unitdir)/$(rpc_pipefsmount) endif diff --git a/systemd/rpc-pipefs-generator.c b/systemd/rpc-pipefs-generator.c index 8e218aa7..c24db567 100644 --- a/systemd/rpc-pipefs-generator.c +++ b/systemd/rpc-pipefs-generator.c @@ -21,7 +21,7 @@ #include "conffile.h" #include "systemd.h" -#define RPC_PIPEFS_DEFAULT "/var/lib/nfs/rpc_pipefs" +#define RPC_PIPEFS_DEFAULT NFS_STATEDIR "/rpc_pipefs" static int generate_mount_unit(const char *pipefs_path, const char *pipefs_unit, const char *dirname) diff --git a/systemd/rpc_pipefs.target b/systemd/rpc_pipefs.target deleted file mode 100644 index 01d4d278..00000000 --- a/systemd/rpc_pipefs.target +++ /dev/null @@ -1,3 +0,0 @@ -[Unit] -Requires=var-lib-nfs-rpc_pipefs.mount -After=var-lib-nfs-rpc_pipefs.mount diff --git a/systemd/rpc_pipefs.target.in b/systemd/rpc_pipefs.target.in new file mode 100644 index 00000000..332f62b6 --- /dev/null +++ b/systemd/rpc_pipefs.target.in @@ -0,0 +1,3 @@ +[Unit] +Requires=@_rpc_pipefsmount@ +After=@_rpc_pipefsmount@ diff --git a/systemd/var-lib-nfs-rpc_pipefs.mount b/systemd/var-lib-nfs-rpc_pipefs.mount.in similarity index 84% rename from systemd/var-lib-nfs-rpc_pipefs.mount rename to systemd/var-lib-nfs-rpc_pipefs.mount.in index 26d1c763..4c5d6ce4 100644 --- a/systemd/var-lib-nfs-rpc_pipefs.mount +++ b/systemd/var-lib-nfs-rpc_pipefs.mount.in @@ -6,5 +6,5 @@ Conflicts=umount.target [Mount] What=sunrpc -Where=/var/lib/nfs/rpc_pipefs +Where=@_statedir@/rpc_pipefs Type=rpc_pipefs diff --git a/utils/blkmapd/device-discovery.c b/utils/blkmapd/device-discovery.c index 77ebe736..2736ac89 100644 --- a/utils/blkmapd/device-discovery.c +++ b/utils/blkmapd/device-discovery.c @@ -63,7 +63,7 @@ #define EVENT_SIZE (sizeof(struct inotify_event)) #define EVENT_BUFSIZE (1024 * EVENT_SIZE) -#define RPCPIPE_DIR "/var/lib/nfs/rpc_pipefs" +#define RPCPIPE_DIR NFS_STATEDIR "/rpc_pipefs" #define PID_FILE "/run/blkmapd.pid" #define CONF_SAVE(w, f) do { \ diff --git a/utils/gssd/gssd.h b/utils/gssd/gssd.h index c52c5b48..519dc431 100644 --- a/utils/gssd/gssd.h +++ b/utils/gssd/gssd.h @@ -39,7 +39,7 @@ #include #ifndef GSSD_PIPEFS_DIR -#define GSSD_PIPEFS_DIR "/var/lib/nfs/rpc_pipefs" +#define GSSD_PIPEFS_DIR NFS_STATEDIR "/rpc_pipefs" #endif #define DNOTIFY_SIGNAL (SIGRTMIN + 3) diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c index 51c71fbb..e2c160e8 100644 --- a/utils/idmapd/idmapd.c +++ b/utils/idmapd/idmapd.c @@ -73,7 +73,7 @@ #include "nfslib.h" #ifndef PIPEFS_DIR -#define PIPEFS_DIR "/var/lib/nfs/rpc_pipefs/" +#define PIPEFS_DIR NFS_STATEDIR "/rpc_pipefs/" #endif #ifndef NFSD_DIR -- 2.25.1