mirror of
https://github.com/coolsnowwolf/packages.git
synced 2025-05-01 02:41:22 +08:00
Revert "In kernel version 6.8 and above, nfsd has deprecated the CONFIG_NFSD_LEGACY_CLIENT_TRACKING option, and in kernel 6.12, if CONFIG_NFSD_LEGACY_CLIENT_TRACKING is still enabled, the following kernel panic may occur:"
This reverts commit b7c4407c29
.
This commit is contained in:
parent
5d275f5e72
commit
6a69eb1bb9
@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=nfs-kernel-server
|
||||
PKG_VERSION:=2.6.2
|
||||
PKG_RELEASE:=4
|
||||
PKG_RELEASE:=3
|
||||
PKG_HASH:=26d46448982252e9e2c8346d10cf13e1143e7089c866f53e25db3359f3e9493c
|
||||
|
||||
PKG_SOURCE_URL:=@SF/nfs
|
||||
@ -70,7 +70,7 @@ define Package/nfs-utils/Default
|
||||
$(call Package/nfs-kernel-server/Default)
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
DEPENDS+= +NFS_KERNEL_SERVER_V4:libkeyutils +NFS_KERNEL_SERVER_V4:libdevmapper +libevent2-core +libsqlite3
|
||||
DEPENDS+= +NFS_KERNEL_SERVER_V4:libkeyutils +NFS_KERNEL_SERVER_V4:libdevmapper
|
||||
URL:=http://nfs.sourceforge.net/
|
||||
MAINTAINER:=Peter Wagner <tripolar@gmx.at>
|
||||
endef
|
||||
@ -109,6 +109,8 @@ TARGET_LDFLAGS += -L$(STAGING_DIR)/usr/lib/libevent
|
||||
CONFIGURE_ARGS += \
|
||||
--disable-caps \
|
||||
--disable-gss \
|
||||
--disable-nfsdcld \
|
||||
--disable-nfsdcltrack \
|
||||
--enable-shared \
|
||||
--enable-static \
|
||||
--with-rpcgen=internal \
|
||||
@ -200,12 +202,7 @@ endef
|
||||
|
||||
define Package/nfs-utils/install
|
||||
$(INSTALL_DIR) $(1)/sbin
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/mount.nfs $(1)/sbin/
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/nfsdcltrack $(1)/sbin/
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/nfsdcld $(1)/usr/sbin/
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/nfsdclddb $(1)/usr/sbin/
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/nfsdclnts $(1)/usr/sbin/
|
||||
(cd $(1)/sbin; ln -sf mount.nfs mount.nfs4; ln -sf mount.nfs umount.nfs; ln -sf mount.nfs umount.nfs4)
|
||||
endef
|
||||
|
||||
|
@ -6,26 +6,23 @@ STOP=60
|
||||
|
||||
USE_PROCD=1
|
||||
|
||||
NFS_DIR="/var/lib/nfs"
|
||||
RECOVERY_DIR="$NFS_DIR/v4recovery"
|
||||
LOCK_DIR="/var/lib/nfs/sm"
|
||||
PROCFS_DIR="/proc/fs/nfsd"
|
||||
VAR_NFS_DIR="/var/lib/nfs"
|
||||
NFSDCLD_DIR="$NFS_DIR/nfsdcld"
|
||||
RPC_PIPEFS_DIR="/tmp/lib/nfs/rpc_pipefs"
|
||||
NFS_D=/var/lib/nfs
|
||||
RECOVERY_D=$NFS_D/v4recovery
|
||||
LOCK_D=/var/lib/nfs/sm
|
||||
VAR_NFS=/var/lib/nfs
|
||||
|
||||
start_service() {
|
||||
grep -q "$PROCFS_DIR" /proc/mounts || \
|
||||
mount -t nfsd nfsd "$PROCFS_DIR"
|
||||
mkdir -p "$NFS_DIR"
|
||||
mkdir -p "$RECOVERY_DIR"
|
||||
mkdir -p "$LOCK_DIR"
|
||||
touch "$NFS_DIR/rmtab"
|
||||
grep -q /proc/fs/nfsd /proc/mounts || \
|
||||
mount -t nfsd nfsd /proc/fs/nfsd
|
||||
mkdir -p $NFS_D
|
||||
mkdir -p $RECOVERY_D
|
||||
mkdir -p $LOCK_D
|
||||
touch $NFS_D/rmtab
|
||||
|
||||
mkdir -p "$VAR_NFS_DIR"
|
||||
chown -R nfs:nfs "$VAR_NFS_DIR"
|
||||
mkdir -p $VAR_NFS
|
||||
chown nfs:nfs $VAR_NFS
|
||||
|
||||
sysctl -w fs.nfs.nlm_tcpport=32777 fs.nfs.nlm_udpport=32777 >/dev/null
|
||||
sysctl -w fs.nfs.nlm_tcpport=32777 fs.nfs.nlm_udpport=32777 > /dev/null
|
||||
|
||||
procd_open_instance
|
||||
procd_set_param command /usr/sbin/rpc.statd -p 32778 -o 32779 -F
|
||||
@ -37,38 +34,16 @@ start_service() {
|
||||
procd_open_instance
|
||||
procd_set_param command /usr/sbin/rpc.mountd -p 32780 -F
|
||||
procd_close_instance
|
||||
|
||||
# nfsdcld
|
||||
if [ -x /usr/sbin/nfsdcld ]; then
|
||||
mkdir -p "$NFSDCLD_DIR" "$RPC_PIPEFS_DIR"
|
||||
chmod 755 "$NFSDCLD_DIR" "$RPC_PIPEFS_DIR"
|
||||
grep -q "$RPC_PIPEFS_DIR" /proc/mounts || \
|
||||
mount -t rpc_pipefs none "$RPC_PIPEFS_DIR"
|
||||
procd_open_instance
|
||||
procd_set_param command /usr/sbin/nfsdcld
|
||||
procd_close_instance
|
||||
fi
|
||||
}
|
||||
|
||||
stop_service() {
|
||||
rpc.nfsd 0 2>/dev/null
|
||||
rpc.nfsd 0 2> /dev/null
|
||||
/usr/sbin/exportfs -au
|
||||
|
||||
# nfsdcld
|
||||
if [ -x /usr/sbin/nfsdcld ]; then
|
||||
pid=$(pgrep nfsdcld)
|
||||
if [ -n "$pid" ]; then
|
||||
kill "$pid"
|
||||
fi
|
||||
grep -q "$RPC_PIPEFS_DIR" /proc/mounts && \
|
||||
umount "$RPC_PIPEFS_DIR"
|
||||
fi
|
||||
|
||||
grep -q "$PROCFS_DIR" /proc/mounts && \
|
||||
umount "$PROCFS_DIR"
|
||||
grep -q /proc/fs/nfsd /proc/mounts && \
|
||||
umount /proc/fs/nfsd
|
||||
}
|
||||
|
||||
service_triggers() {
|
||||
local export_dirs="$(while read mp _r; do echo -n "$mp "; done </etc/exports)"
|
||||
local export_dirs="$(while read mp _r ; do echo -n "$mp " ; done < /etc/exports)"
|
||||
procd_add_reload_mount_trigger $export_dirs
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user