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

Reply via email to