Re: [PATCH v2 1/5] fat: allocate persistent inode numbers

From: Namjae Jeon
Date: Fri Sep 07 2012 - 03:07:21 EST


Hi. OGAWA.

I checked read-only option for export on FAT.
I think that there are 3 approaches as mentioned below.

1. As per the current scenario â user already has the option of
setting âroâ in /etc/exports â so that can also be used to make it
read-only.

2. Forcefully set to âread-onlyâ while executing FAT export operation.
-> As you know, we can set read-only(ro) export in /etc/exports.
If we set read-only export regardless of /etc/exports, This is "HACK"
and it will work regardless of user setting.

3. When FAT is mounted with -onfs option,-> Make it âroâ at the mount
time itself.
-> It is simple to implement, but VFAT of NFS Server will be set to
read-only as well as NFS client.

4. As already suggested â only problem left now is of âRENAMEâ all
other points can be taken care in the current solution. So, how about
putting RENAME as a limitation? or we can return EBUSY about rename
case to avoid collision.

Let me know which approach you prefer. Especially through more
insights on ârenameâ part as all through the discussion this has been
the bottleneck part left now. And sincerely fruitful discussion on
this ârenameâ might result in stable FAT over NFS.

Please let me know your opinion.

Thanks.
2012/9/6, Namjae Jeon <linkinjeon@xxxxxxxxx>:
> 2012/9/6 OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>:
>> Namjae Jeon <linkinjeon@xxxxxxxxx> writes:
>>
>>>>> In this long discusstion about the FAT acceptance over NFS, our belief
>>>>> is still that the objective should be to reduce errors as much as
>>>>> possible and then if there are certain scenarios - at least that could
>>>>> be highlighted as a limitation in Documentation instead of completely
>>>>> discarding the usage of FAT over NFS. So how about puttting rename
>>>>> scenario as a limitation ? In ideal scenario how many times this is
>>>>> going to happen ?
>>>>
>>>> My understanding of your patches is to introduce the silent corruption
>>>> bug by getting wrong location via ino on some cases, instead of
>>>> ESTALE. And make surprise to userland by change ino.
>>>>
>>>> Why is it safe to change ino? If you are saying to remove the changing
>>>> ino on rename, how handle the case of collision?
>>> Yes, agreed this would lead to collision. So, If we are choosing
>>> 'i_pos' as inode
>>> number, We need to have a mechanism to avoid this 'i_pos' being reused.
>>>
>>> We can have one thing over here. As a part of avoidance for such
>>> scenarios -
>>> We can return EBUSY for this rename operation. i.e., If the inode is
>>> being
>>> referenced then in such cases it makes sense to return EBUSY over NFS
>>> and
>>> forcus on the large part of the solution which is making FAT stable.
>>>
>>> Let me know your opinion.
>>
>> It sounds like sane to provide the limited but stable behavior, with the
>> option. But at first, I'd like to see the read-only export but clean
>> solution, and make it stable. (I'm not thinking about the implementation
>> detail. It may be the stable ino solution, or may not be.)
> Hi. OGAWA.
> I Agree. Once, I will check whether it is possible to implement
> read-only export or not.
> And If I face some problem or have some concern, I will discuss about
> it with you.
>
>>
>> After that, we can make it writable incrementally.
> Okay.
> Thanks a lot.
>> --
>> OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/