diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | util/fusermount.c | 5 |
2 files changed, 11 insertions, 0 deletions
@@ -1,3 +1,9 @@ +2005-04-29 Miklos Szeredi <miklos@szeredi.hu> + + * Make fusermount work with fuse kernel modules not yet supporting + the "group_id" option (added for the purpose of stricter + permission checking). + 2005-04-28 Miklos Szeredi <miklos@szeredi.hu> * Check for hard-linked directories in lookup. This could cause diff --git a/util/fusermount.c b/util/fusermount.c index f55d92b..93a44e2 100644 --- a/util/fusermount.c +++ b/util/fusermount.c @@ -574,6 +574,11 @@ static int do_mount(const char *mnt, const char *type, mode_t rootmode, } res = mount(fsname, mnt, type, flags, optbuf); + if (res == -1 && errno == EINVAL) { + /* It could be an old version not supporting group_id */ + sprintf(d, "fd=%i,rootmode=%o,user_id=%i", fd, rootmode, getuid()); + res = mount(fsname, mnt, type, flags, optbuf); + } if (res == -1) { fprintf(stderr, "%s: mount failed: %s\n", progname, strerror(errno)); free(fsname); |