Commit 60a367cc authored by Levin Zimmermann's avatar Levin Zimmermann

wcfs: Fix fusermount for NEO storage \w > 1 master

We use the zuri for the FsName. The NEO uri contains commas if the
respective cluster uses more than one master node [1]. Unfortunately
fusermount doesn't support commas in mount options, because mount
options are separated from each other by commas [2], [3]. Therefore before
this patch WCFS failed to mount the filesystem if the NEO cluster had
more than one master: this failure is fixed now.

[1] https://lab.nexedi.com/kirr/neo/blob/8c974485/go/neo/client.go#L613
[2] https://www.man7.org/linux/man-pages/man1/fusermount3.1.html
[3] https://lab.nexedi.com/kirr/go-fuse/blob/4a0e6eb5/fuse/server.go#L186
parent 63153845
......@@ -2466,7 +2466,14 @@ func _main() (err error) {
}
opts := &fuse.MountOptions{
FsName: zurl,
// Replace prohibited commas with semicolon (they are used
// for separating our masters from each other).
// Unfortunately fusermount uses commas to separate mountoptions
// from each other [1]. Escaping FsName with either " or ' or \"
// doesn't help, so lets simply replace all commas with ";".
//
// [1] https://www.man7.org/linux/man-pages/man1/fusermount3.1.html
FsName: strings.Replace(zurl, ",", ";", -1),
Name: "wcfs",
// We retrieve kernel cache in ZBlk.blksize chunks, which are 2MB in size.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment