ClusterLabs / ClusterLabs/resource-agents

Add sshfs support to ocf:heartbeat:Filesystem

Open
#1,665 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
519
Forks
608
Avg merge
6d 1h
Merged PRs (30d)
7

Description

Filesystem lists a bunch of filesystems statically to know if they are network or block backed. It would be great to add sshfs to every line that refers to nfs or cifs so that sshfs works as well. Patch included

```
diff -ruN resource-agents-4.8.0.orig/heartbeat/Filesystem resource-agents-4.8.0/heartbeat/Filesystem
--- resource-agents-4.8.0.orig/heartbeat/Filesystem 2021-03-24 00:44:03.000000000 -0800
+++ resource-agents-4.8.0/heartbeat/Filesystem 2021-06-28 06:29:16.732964826 -0800
@@ -341,7 +341,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|lustre)
+ nfs4|nfs|sshfs|smbfs|cifs|glusterfs|ceph|tmpfs|overlay|overlayfs|rozofs|zfs|cvfs|none|lustre)
: ;;
*)
match_string="${TAB}${CANONICALIZED_MOUNTPOINT}${TAB}"
@@ -402,7 +402,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|sshfs|cifs|smbfs|ocfs2|gfs2|none|lustre|glusterfs|ceph|tmpfs|overlay|overlayfs|rozofs|zfs|cvfs)
false;;
*)
true;;
@@ -673,7 +673,7 @@

# For networked filesystems, there's merit in trying -f:
case "$FSTYPE" in
- nfs4|nfs|cifs|smbfs) umount_force="-f" ;;
+ nfs4|nfs|sshfs|cifs|smbfs) umount_force="-f" ;;
esac

# Umount all sub-filesystems mounted under $MOUNTPOINT/ too.
@@ -860,7 +860,7 @@

# these are definitely not block devices
case "$FSTYPE" in
- nfs4|nfs|smbfs|cifs|none|glusterfs|ceph|tmpfs|overlay|overlayfs|rozofs|zfs|cvfs|lustre) return;;
+ nfs4|nfs|sshfs|smbfs|cifs|none|glusterfs|ceph|tmpfs|overlay|overlayfs|rozofs|zfs|cvfs|lustre) return;;
esac

if $(is_option "loop"); then
@@ -981,7 +981,7 @@
CLUSTERSAFE=2

case "$FSTYPE" in
-nfs4|nfs|smbfs|cifs|none|gfs2|glusterfs|ceph|ocfs2|overlay|overlayfs|tmpfs|cvfs|lustre)
+nfs4|nfs|sshfs|smbfs|cifs|none|gfs2|glusterfs|ceph|ocfs2|overlay|overlayfs|tmpfs|cvfs|lustre)
CLUSTERSAFE=1 # this is kind of safe too
;;
# add here CLUSTERSAFE=0 for all filesystems which are not
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Review heartbeat/Filesystem and compare each nfs or cifs case with the included patch. Confirm that sshfs is handled consistently in all five filesystem-type checks, then verify the resulting behavior using the project’s available checks for this resource agent. Done means sshfs is treated like the other network-backed filesystems throughout the file.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
devops, infrastructure
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.