|
From: Antonio SJ M. <tra...@sp...> - 2019-10-01 13:44:14
|
The supported kernels are so old as to be almost pointless to continue supporting. I wouldn't worry about that unless you're deploying to seriously old / niche systems. But yes... you should read about the init callback, "want" field, and FUSE_CAP values. Otherwise your filesystem could request something it doesn't get or get something it doesn't expect and behave incorrectly. On 10/1/2019 8:58 AM, Cyril Cyrov wrote: > Yes, I think I totally get your point. > > My point of view is - building libfuse3 on older systems is possible > and it cost me like 2-3 hours to build the necessary tools. Packing > fusermount3 in the installer also doesn't sound so hard - we already > do deploy libfuse.so, that's just one ore file. And finally, patching > in order to find the fusermount3 binary - this seems like a trivial > patch. > Also given the fact, that we rarely update fuse versions, this effort > seems to worth it. > > My two concerns, that I still have, are: > 1) is there any security risk in deploying fusermount3 and should I do > anything special, except just copy the binary into the installer? > 2) how will I understand that the kernel is too old for some feature, > that I need (I get it, that it's during the FUSE_INIT phase, I'll have > to read more about this). > > On Tue, Oct 1, 2019 at 3:19 PM Antonio SJ Musumeci <tra...@sp...> wrote: >> You can optionally deploy it or patch the build to install to a >> different location / filename. >> >> This is what I was getting at prior. The library is not designed to be >> used this way so without upstreaming some changing that make it easier >> to do so you'll have to maintain some part of the setup. >> >> My biggest problem with embedding libfuse3 was the build system simply >> not working on older platforms and getting that replaced or officially >> supporting multiple systems doesn't seem a reasonable ask. >> >> On 10/1/2019 7:31 AM, Cyril Cyrov wrote: >>> Actually, deploying `libfuse3.so` won't be enough, deploying >>> `fusermount3` is also necessary (+ building libfuse with `-D >>> FUSERMOUNT_DIR=.....`)? Isn't this some kind of a security issue >>> (deploying fusermount3)? >>> >>> On Tue, Oct 1, 2019 at 1:53 PM Cyril Cyrov <cyr...@gm...> wrote: >>>> Hi, >>>> >>>> Here's an introduction for this thread: >>>> https://github.com/libfuse/libfuse/issues/460 >>>> >>>> Long story short: >>>> Q: How can I support both libfuse2 and libfuse3 in order to make my >>>> app work on more Linux distos? >>>> A: You don't need to do that. >>>> >>>> So, continuing the discussion here. >>>> >>>> --- >>>> >>>> My misunderstanding comes from the fact, that I though there are two >>>> different kernel modules for the two versions and that libfuse3 can >>>> only work on Linux distros, which do have `fuse3` package installed >>>> (and these distros are just a few). This misunderstanding was also >>>> supported by the fact, that libfuse3 needs fusermount3 in order to >>>> create a mountpoint. >>>> >>>> Another miscommunication occurred by the different interpretation of >>>> "patching the fuse implementation" and "embedding" fuse. >>>> >>>> We do deploy a libfuse shared object with our application. So, this is >>>> not an issue at all. >>>> >>>> My concern was - can I use and deploy libfuse3 on older Linux distros, >>>> like CentOS 6, for example? >>>> >>>> What confuses me further is that I cannot find any matching between >>>> libfuse versions and kernel versions, explaining which libfuse version >>>> is compatible with which kernel versions. >>>> >>>> --- >>>> >>>> @trapexit >>>>> Then you'll have to deal with the distro's support >>>> By "avoid patching the fuse implementation" I didn't mean I don't want >>>> to deploy fuse build, I just misunderstood you and thought that you >>>> suggest actually making some source patch in order to "merge" them >>>> somehow. Sorry for the misleading. >>>> >>>> --- >>>> >>>> @Nikratio: >>>>> "Why don't you ship two binaries (one for libfuse2 and one for libfuse3) together with a small wrapper that picks with version to use?" >>>> This will be necessary only if we don't deploy a build for libfuse, correct? >>>> >>>> --- >>>> >>>> So, I'll try to wrap things up, please correct me if I'm wrong - appreciated! >>>> >>>> We can actually use only libfuse3 and if we deploy it (or statically >>>> link it in our application) this should work fine all Linux distros, >>>> which otherwise would work fine with libfuse2. Is that correct? >>>> Also, is there a way to find out which libfuse3 features depend on >>>> which Linux kernel, in order to work fine? >>>> >>>> Thanks, >>>> Kiril >> >> -- >> fuse-devel mailing list >> To unsubscribe or subscribe, visit https://lists.sourceforge.net/lists/listinfo/fuse-devel |