On Sep. 25, 2009, 17:13 +0300, Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> wrote: > On Fri, 2009-09-25 at 16:53 +0300, Benny Halevy wrote: >> That scenario is caused when the server's /etc/exports >> is badly configured, where the export entry for nfsv4 >> (fsid=0) exports a non-existing path. >> >> I agree that the server should not return ENOENT >> for PUTROOTFH as it contradicts the spec. >> NFS4ERR_SERVERFAULT seems more appropriate. > > Indeed. > >> The main reason for getting the failure from >> the state engine in nfsv4.1 is that we need to >> create a session before nfs4_path_walk in nfs4_create_server >> and we do that using the state manager. >> In the nfsv4.0 case we create no state at this point. > > OK, so this particular case, there is no state recovery possible at all. > If so, why not just label the cl_cons_state as NFS_CS_IRRECOVERABLE (or > possibly NFS_CS_SERVERFAULT) instead of trying to overload it with an > error value that nobody can do anything about? OK. I'll try this approach then. Thanks! Benny > > I'd say that if you want to pass the error value to the administrator, > then the right way to do that would be via a printk. Something along the > lines of > > printk("NFSv4: Server %s returned an illegal error %d when getting the > root filehandle\n"); > > However, I'm not really convinced that is necessary... > -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html