[pnfs] 19 questions
Dean Hildebrand
seattleplus at gmail.com
Wed Feb 6 13:26:04 EST 2008
William A. (Andy) Adamson wrote:
>
>
> On 2/4/08, *Dean Hildebrand* <seattleplus at gmail.com
> <mailto:seattleplus at gmail.com>> wrote:
>
> Some questions about draft 19 (not 19 questions):
>
> 1) On the server I need the superblock so I can call the getdeviceinfo
> export operation.
>
>
> why? the deviceid space is global.
Well, the devices and the device ids still come from the file system,
and the only way I know how to talk to the file system is through the
export ops, which requires a superblock.
To make them globally unique, through coincidence or the fact that we
are all very like minded people, we had already coded up the deviceid on
the server as Benny suggested:
struct pnfs_deviceid {
u64 ex_fsid;
__be64 devid;
};
One limitation here is that in include/linux/nfsd/nfsfh.h it defines the
sizes for various types of fsids:
static inline int key_len(int type)
{
switch(type) {
case FSID_DEV: return 8;
case FSID_NUM: return 4;
case FSID_MAJOR_MINOR: return 12;
case FSID_ENCODE_DEV: return 8;
case FSID_UUID4_INUM: return 8;
case FSID_UUID8: return 8;
case FSID_UUID16: return 16;
case FSID_UUID16_INUM: return 24;
default: return 0;
}
}
So if we are limiting the fsid to be only 8 bytes, then there are
several types of fsids we cannot support. I'm wondering if this is a
major problem for all OSs or just a hassle for all OSs. There are
workarounds I guess (replace fsid with a made up id in /etc/exports) but
they seem like a hassle. What do people think?
Dean
>
> -->Andy
>
> The problem is that getdeviceinfo no longer includes
> the current_fh. Is there a way on the server to get the superblock
> without the filehandle? (maybe using something in the
> session?) If not,
> then we will have to encode something in the device id that allows
> us to
> map to the superblock (is the fsid enough?) Any ideas?
>
> 2) Can getdeviceinfo return a device for the wrong layout type? It
> seems that getdeviceinfo returns the layout type, which seems a little
> silly to me. If it should return the layout type, and it doesn't
> match
> the requesting layout type, what should the client do?
>
> 3) In draft-19, should bitmap4 not have <>?
> bitmap4<> typedef uint32_t bitmap4<>;
> ^^^^
> For reference, in rfc3530 it does not have the <>. (other ops have the
> <> added as well)
>
> Thanks,
> Dean
> _______________________________________________
> pNFS mailing list
> pNFS at linux-nfs.org <mailto:pNFS at linux-nfs.org>
> http://linux-nfs.org/cgi-bin/mailman/listinfo/pnfs
>
>
More information about the pNFS
mailing list