Re: is there a way to export a fat32 file system using nfs?

Neil Brown (neilb@cse.unsw.edu.au)
Wed, 13 Jun 2001 13:00:05 +1000 (EST)


On Tuesday June 12, covici@ccs.covici.com wrote:
> Hi. I seem to remember that at one time in the 2.2 series I was able
> to to export fat32 file systems using nfs, but now it doesn't work
> anymore.

No, it doesn't.

It did in early 2.2 due to some fairly ugly hacks which just had to
go. They worked in a lot of simple cases, but it wouldn't be too
difficult to confuse such a server so that it would start losing files.

It would be possible to add to 2.4.5, but not easy.
The basic problem is that you cannot create a reliable NFS filehandle
for a file in a FAT filesystem as there are no inode numbers or
anything similar.

What might work would be:

In fat_fill_inode, set i_generation to the current time.

When creating a filehandle, store:
i_ino
i_generation
i_location
i_logstart

When when asked to lookup a filehandle:
Call find_inode(i_ino).
If this finds something check i_generation.
If it matches, SUCCESS.

Call fat_iget(i_location).
If this finds something, check i_logstart.
If it matches, assume SUCCESS.

Then comes the tricky bit: read the directory entry
indicated by i_location, check the i_logstart is right,
if it is, try to get it into the inode cache properly.

It is something that I would like to do, but I have lots of other
things that I want to do at the moment.

NeilBrown

>
> If I remember correctly, I get "get: operation not permitted" when
> trying to export the directory in question.
>
> I am using 2.4.5.
>
> Any assistance would be appreciated.
>
> --
> John Covici
> covici@ccs.covici.com
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/