On Mar. 25, 2010, 14:07 +0200, Benny Halevy <bhalevy@xxxxxxxxxxx> wrote: > On Mar. 25, 2010, 12:54 +0200, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: >> On Thu, Mar 25, 2010 at 10:12:31AM +0000, Al Viro wrote: >>> On Thu, Mar 25, 2010 at 11:39:38AM +0200, Boaz Harrosh wrote: >>> >>>> It makes no difference, fails just the same. Would an "strace" help? >>> It might, especially if you ran it for identical repositories on local >>> fs and on NFS; at least that way it would be possible to see where do >>> they diverge... >> I wonder... What happens if you add >> if (error == -EISDIR) >> printk("blah: %s", pathname); >> right after do_lookup() call in do_last()? That would separate -EISDIR >> coming from NFS from the same thing coming from fs/namei.c... > > Bingo. > It is returned from do_lookup. Indeed this error is coming from the server: nfsd_dispatch: vers 4 proc 1 nfsv4 compound op #1/7: 22 (OP_PUTFH) nfsd: fh_verify(16: 01010001 00000000 000e6592 345b9f25 00000000 00000000) nfsv4 compound op ffff880076734078 opcnt 7 #1: 22: status 0 nfsv4 compound op #2/7: 32 (OP_SAVEFH) nfsv4 compound op ffff880076734078 opcnt 7 #2: 32: status 0 nfsv4 compound op #3/7: 18 (OP_OPEN) NFSD: nfsd4_open filename pack op_stateowner (null) renewing client (clientid 4bab503e/00000002) nfsd: nfsd_lookup(fh 16: 01010001 00000000 000e6592 345b9f25 00000000 00000000, pack) nfsd: fh_verify(16: 01010001 00000000 000e6592 345b9f25 00000000 00000000) nfsd: fh_compose(exp 08:05/106497 objects/pack, ino=943508) nfsd: fh_verify(16: 01010001 00000000 000e6594 345b9f26 00000000 00000000) nfsv4 compound op ffff880076734078 opcnt 7 #3: 18: status 21 nfsv4 compound returned 21 > > @@ -1648,6 +1654,8 @@ static struct file *do_last(struct nameidata *nd, struct path *path, > /* just plain open? */ > if (!(open_flag & O_CREAT)) { > error = do_lookup(nd, &nd->last, path); > + if (error == -EISDIR) > + printk("%s: do_lookup returned -EISDIR %s\n", __func__, pathname); > if (error) > goto exit; > error = -ENOENT; > > >> _______________________________________________ >> pNFS mailing list >> pNFS@xxxxxxxxxxxxx >> http://linux-nfs.org/cgi-bin/mailman/listinfo/pnfs > _______________________________________________ > pNFS mailing list > pNFS@xxxxxxxxxxxxx > http://linux-nfs.org/cgi-bin/mailman/listinfo/pnfs -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html