On Mon, Jan 07, 2002 at 02:15:31PM -0600, Dave Kleikamp wrote:
> This is what I don't understand. nfssvc_encode_entry is the filldir
> function. I'm pretty sure JFS never passes a -1 to this function. It
> does set filp->f_pos = -1 when there are no more entries in the directory.
You're right that this can't be the problem. But even without that
issue the problem is that for NFSv2 file offset > ~((u32)0) aren't
allowed. One better explanation I found is in fs/nfsd/vfs.c, line 1439:
*cd.offset = htonl(file.f_pos);
cd is a struct readdir_cd as defined in include/linux/nfsd/nfsd.h:
struct readdir_cd {
struct svc_rqst * rqstp;
struct svc_fh * dirfh;
u32 * buffer;
int buflen;
u32 * offset;
char plus; /* readdirplus */
char eob; /* end of buffer */
char dotonly;
};
That means we once again have a u32 here and our loff -1 gets
problematic. I think we should just not claim the NFSv2 works with JFS.
Christoph
--
Of course it doesn't work. We've performed a software upgrade.
_______________________________________________
Jfs-discussion mailing list
[EMAIL PROTECTED]
http://www-124.ibm.com/developerworks/oss/mailman/listinfo/jfs-discussion