Mount smb/cifs as datasource does not work in v4.2.2

To get around this limitation, you need to compile Pydio Cells from source.
You must edit a file named “mountinfo_linux.go”.

mkdir -p /home/pydio
cd /home/pydio
git clone -b stable https://github.com/pydio/cells
cd cells 
git clone https://github.com/pydio/minio

Edit the file /home/pydio/cells/go.mod
Go to last line, locate
replace github.com/minio/minio => github.com/pydio/minio v0.0.0-20230301104210-859d91c9822e
Replace it with
replace github.com/minio/minio => /home/pydio/cells/minio

Edit the file /home/pydio/cells/minio/pkg/mountinfo/mountinfo_linux.go
Go to line ~107, locate:

	msg := `Cross-device mounts detected on path (%s) at following locations %s. Export path should not have any sub-mounts, refusing to start.`
	if len(crossMounts) > 0 {
		// if paths didn't match then we do have cross-device mount.
		return fmt.Errorf(msg, path, crossMounts)
	}

Replace it with

	//msg := `Cross-device mounts detected on path (%s) at following locations %s. Export path should not have any sub-mounts, refusing to start.`
	if len(crossMounts) > 0 {
		// if paths didn't match then we do have cross-device mount.
		fmt.Printf("Cross-device mounts detected on path (%s) at following locations %s.\n", path, crossMounts)
		fmt.Println("Export path should not have any sub-mounts, refusing to start.")
		//return fmt.Errorf(msg, path, crossMounts)
	}

Finally, run
make && cp -p cells /opt/pydio/bin

1 Like