Re: commit d7afaec0b564f0609e116f5: fuse: add FUSE_NO_OPEN_SUPPORT flag to INIT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Nov 11, 2016 at 5:57 AM, Nikolaus Rath <Nikolaus@xxxxxxxx> wrote:
> On Nov 11 2016, Miklos Szeredi <mszeredi@xxxxxxxxxx> wrote:
>> On Thu, Nov 10, 2016 at 11:31 PM, Nikolaus Rath <Nikolaus@xxxxxxxx> wrote:
>>> Hi Andrew,
>>>
>>> In commit d7afaec0b564f0609e116f5 you added a new FUSE_NO_OPEN_SUPPORT
>>> flag. But as far as I can tell, the flag is simply accepted without
>>> having any effect (including in libfuse).
>>>
>>> I tried to find related later commits, but did not find anything either.
>>>
>>> Am I missing something?
>>
>> Hmm, if fuse fs detects this flag, then it can return ENOSYS from open
>> resulting in this and subsequent opens succeeding without further
>> calls to userspace.    If fuse fs doesn't detect this flag, it should
>> not return -ENOSYS, as that will result in the open failing, it should
>> instead implement a no-op open method.
>
> That doesn't sound like a good approach to me. That way, the file system
> has to *know* that this flag has been introduced in order to behave
> correctly, i.e. filesystems that predate the introduction of the flag
> will suddenly behave differently.
>
> I think the correct behavior would be to for the kernel to check if
> userspace passed the flag, and treat ENOSYS specially if and only if the
> flag was passed.

ENOSYS is not a valid return value for any existing syscall.  Fuse
uses that fact to attach this special meaning to ENOSYS.  So
compatibility is not an issue here, old filesystems should never
return ENOSYS from open.

Thanks,
Miklos
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux