2012-11-21 13:23:29

by Namjae Jeon

[permalink] [raw]
Subject: [PATCH v5 0/8] fat: fix estale error on VFAT over NFS.

From: Namjae Jeon <[email protected]>

This patch-set eliminates the client side ESTALE errors when a FAT partition
exported over NFS has its dentries evicted from the cache.

One of the reasons for this error is lack of permanent inode numbers on FAT
which makes it difficult to construct persistent file handles.
This can be overcome by using fat_encode_fh() that include i_pos in file handle.

Once the i_pos is available, it is only a matter of reading the directory
entries from the disk clusters to locate the matching entry and rebuild
the corresponding inode.

We reached the conclusion support stable inode's read-only export first after
discussing with OGAWA and Bruce.
And will make it writable with some operation(unlink and rename) limitation
next time.

Namjae Jeon (8)
fat: modify nfs mount option
fat: move fat_i_pos_read to fat.h
fat: pass superblock pointer instead of inode pointer to fat_ent_read()
fat: introduce a helper fat_get_blknr_offset()
fat: restructure export_operations
fat (exportfs): rebuild inode if ilookup() fails
fat (exportfs): rebuild directory-inode if fat_dget() fails
Documentation: update nfs option in filesystem/vfat.txt

---
1.7.9.5


2012-11-27 11:15:13

by OGAWA Hirofumi

[permalink] [raw]
Subject: Re: [PATCH v5 0/8] fat: fix estale error on VFAT over NFS.

Namjae Jeon <[email protected]> writes:

> From: Namjae Jeon <[email protected]>
>
> This patch-set eliminates the client side ESTALE errors when a FAT partition
> exported over NFS has its dentries evicted from the cache.
>
> One of the reasons for this error is lack of permanent inode numbers on FAT
> which makes it difficult to construct persistent file handles.
> This can be overcome by using fat_encode_fh() that include i_pos in file handle.
>
> Once the i_pos is available, it is only a matter of reading the directory
> entries from the disk clusters to locate the matching entry and rebuild
> the corresponding inode.
>
> We reached the conclusion support stable inode's read-only export first after
> discussing with OGAWA and Bruce.
> And will make it writable with some operation(unlink and rename) limitation
> next time.

I will review at this weekend. sorry.

> Namjae Jeon (8)
> fat: modify nfs mount option
> fat: move fat_i_pos_read to fat.h
> fat: pass superblock pointer instead of inode pointer to fat_ent_read()
> fat: introduce a helper fat_get_blknr_offset()
> fat: restructure export_operations
> fat (exportfs): rebuild inode if ilookup() fails
> fat (exportfs): rebuild directory-inode if fat_dget() fails
> Documentation: update nfs option in filesystem/vfat.txt
>
> ---
> 1.7.9.5
>

--
OGAWA Hirofumi <[email protected]>

2012-11-27 11:26:45

by Namjae Jeon

[permalink] [raw]
Subject: Re: [PATCH v5 0/8] fat: fix estale error on VFAT over NFS.

2012/11/27, OGAWA Hirofumi <[email protected]>:
> Namjae Jeon <[email protected]> writes:
>
>> From: Namjae Jeon <[email protected]>
>>
>> This patch-set eliminates the client side ESTALE errors when a FAT
>> partition
>> exported over NFS has its dentries evicted from the cache.
>>
>> One of the reasons for this error is lack of permanent inode numbers on
>> FAT
>> which makes it difficult to construct persistent file handles.
>> This can be overcome by using fat_encode_fh() that include i_pos in file
>> handle.
>>
>> Once the i_pos is available, it is only a matter of reading the directory
>> entries from the disk clusters to locate the matching entry and rebuild
>> the corresponding inode.
>>
>> We reached the conclusion support stable inode's read-only export first
>> after
>> discussing with OGAWA and Bruce.
>> And will make it writable with some operation(unlink and rename)
>> limitation
>> next time.
>
> I will review at this weekend. sorry.
No problem. I will wait.
Thanks for reply.
>
>> Namjae Jeon (8)
>> fat: modify nfs mount option
>> fat: move fat_i_pos_read to fat.h
>> fat: pass superblock pointer instead of inode pointer to fat_ent_read()
>> fat: introduce a helper fat_get_blknr_offset()
>> fat: restructure export_operations
>> fat (exportfs): rebuild inode if ilookup() fails
>> fat (exportfs): rebuild directory-inode if fat_dget() fails
>> Documentation: update nfs option in filesystem/vfat.txt
>>
>> ---
>> 1.7.9.5
>>
>
> --
> OGAWA Hirofumi <[email protected]>
>