File 0001-Filesystem-Add-support-for-Amazon-EFS-mount-helper.patch of Package resource-agents.27878

From e2174244067b02d798e0f12437f0f499c80f91fe Mon Sep 17 00:00:00 2001
From: Reid Wahl <nrwahl@protonmail.com>
Date: Tue, 1 Feb 2022 18:55:47 -0800
Subject: [PATCH 1/1] Filesystem: Add support for Amazon EFS mount helper

mount.efs, the mount helper for Amazon Elastic File System (EFS)
provided by amazon-efs-utils [1], is a wrapper for mount.nfs4. It offers
a number of AWS-specific mount options and some security improvements
like encryption of data in transit.

This commit adds support by treating an fstype=efs like fstype=nfs4 for
the most part.

Resolves: RHBZ#2049319

[1] https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html

Signed-off-by: Reid Wahl <nrwahl@protonmail.com>
---
 heartbeat/Filesystem | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/heartbeat/Filesystem b/heartbeat/Filesystem
--- a/heartbeat/Filesystem	2020-02-24 12:23:11.000000000 +0100
+++ b/heartbeat/Filesystem	2022-12-07 10:37:38.588801085 +0100
@@ -306,7 +306,7 @@
 	# Get the current real device name, if possible.
 	# (specified devname could be -L or -U...)
 	case "$FSTYPE" in
-	nfs4|nfs|smbfs|cifs|glusterfs|ceph|tmpfs|overlay|overlayfs|rozofs|zfs|cvfs|none)
+	nfs4|nfs|efs|smbfs|cifs|glusterfs|ceph|tmpfs|overlay|overlayfs|rozofs|zfs|cvfs|none)
 		: ;;
 	*)
 		DEVICE=`list_mounts | grep " $CANONICALIZED_MOUNTPOINT " | cut -d' ' -f1`
@@ -366,7 +366,7 @@
 		no)    false;;
 		""|auto)
 		case $FSTYPE in
-			ext4|ext4dev|ext3|reiserfs|reiser4|nss|xfs|jfs|vfat|fat|nfs4|nfs|cifs|smbfs|ocfs2|gfs2|none|lustre|glusterfs|ceph|tmpfs|overlay|overlayfs|rozofs|zfs|cvfs)
+			ext4|ext4dev|ext3|reiserfs|reiser4|nss|xfs|jfs|vfat|fat|nfs4|nfs|efs|cifs|smbfs|ocfs2|gfs2|none|lustre|glusterfs|ceph|tmpfs|overlay|overlayfs|rozofs|zfs|cvfs)
 			false;;
 			*)
 			true;;
@@ -393,9 +393,11 @@
 		return $OCF_SUCCESS
 	fi
 
-	# support fuse-filesystems (e.g. GlusterFS)
+	# support fuse-filesystems (e.g. GlusterFS) and Amazon Elastic File
+  # System (EFS)
 	case $FSTYPE in
 		fuse.*|glusterfs|rozofs) support="fuse";;
+    efs) support="nfs4";;
 	esac
 
 	grep -w "$support"'$' /proc/filesystems >/dev/null
@@ -636,7 +638,7 @@
 
 		# For networked filesystems, there's merit in trying -f:
 		case "$FSTYPE" in
-		nfs4|nfs|cifs|smbfs) umount_force="-f" ;;
+		nfs4|nfs|efs|cifs|smbfs) umount_force="-f" ;;
 		esac
 
 		# Umount all sub-filesystems mounted under $MOUNTPOINT/ too.
@@ -818,7 +820,7 @@
 
 	# these are definitely not block devices
 	case $FSTYPE in
-	nfs4|nfs|smbfs|cifs|none|glusterfs|ceph|tmpfs|overlay|overlayfs|rozofs|zfs|cvfs) return;;
+	nfs4|nfs|efs|smbfs|cifs|none|glusterfs|ceph|tmpfs|overlay|overlayfs|rozofs|zfs|cvfs) return;;
 	esac
 
 	if `is_option "loop"`; then
@@ -939,7 +941,7 @@
 	CLUSTERSAFE=2
 
 case $FSTYPE in
-nfs4|nfs|smbfs|cifs|none|gfs2|glusterfs|ceph|ocfs2|overlay|overlayfs|tmpfs|cvfs)
+nfs4|nfs|efs|smbfs|cifs|none|gfs2|glusterfs|ceph|ocfs2|overlay|overlayfs|tmpfs|cvfs)
 	CLUSTERSAFE=1 # this is kind of safe too
 	;;
 # add here CLUSTERSAFE=0 for all filesystems which are not
openSUSE Build Service is sponsored by