Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: nfs umount error : Bad MNT RPC: RPC: Timed out
In article <20130627161325.GA7478%lynche.sis.pasteur.fr@localhost>,
Nicolas Joly <njoly%pasteur.fr@localhost> wrote:
>
>Hi,
>
>I do have access, at work, to a new NFS filer (Isilon). Unfortunately
>this new beast is in a different subnet ... and, on that subnet, most
>UDP ports are filtered. Using TCP to mount exported filesystems works
>just fine, but problems arise when trying to unmount them.
>
>njoly@lanfeust [~]> sudo mount -t nfs -o ro,tcp
>filer.yyy.pasteur.fr:/exported/fs /mnt
>njoly@lanfeust [~]> sudo umount /mnt
>Bad MNT RPC: RPC: Timed out
>
>Network trace show that UDP packets are sent to the filer (sunrpc port
>is ok, but port 300 gets filtered) :
>
>17:45:23.906523 IP (tos 0x0, ttl 64, id 7200, offset 0, flags [none],
>proto UDP (17), length 84)
> lanfeust.xxx.pasteur.fr.exp1 > filer.yyy.pasteur.fr.sunrpc: [udp sum
>ok] UDP, length 56
>17:45:23.906908 IP (tos 0x0, ttl 63, id 38862, offset 0, flags [none],
>proto UDP (17), length 56)
> filer.yyy.pasteur.fr.sunrpc > lanfeust.xxx.pasteur.fr.exp1: [udp sum
>ok] UDP, length 28
>17:45:23.906997 IP (tos 0x0, ttl 64, id 7201, offset 0, flags [none],
>proto UDP (17), length 192)
> lanfeust.xxx.pasteur.fr.1020 > filer.yyy.pasteur.fr.300: [udp sum
>ok] UDP, length 164
>17:45:24.012627 IP (tos 0x0, ttl 64, id 7212, offset 0, flags [none],
>proto UDP (17), length 192)
> lanfeust.xxx.pasteur.fr.1020 > filer.yyy.pasteur.fr.300: [udp sum
>ok] UDP, length 164
>
>Looking into umount(8) the code, show that lastest communication with
>the server is unconditionnaly made over UDP (from sbin/umount/umount.c) :
>
>#ifndef SMALL
> if (ai != NULL && !(fflag & MNT_FORCE)) {
> clp = clnt_create(hostp, RPCPROG_MNT, RPCMNT_VER1, "udp");
> if (clp == NULL) {
> clnt_pcreateerror("Cannot MNT PRC");
> return 1;
> }
> clp->cl_auth = authsys_create_default();
> try.tv_sec = 20;
> try.tv_usec = 0;
> clnt_stat = clnt_call(clp, RPCMNT_UMOUNT, xdr_dir,
> __UNCONST(name), xdr_void, NULL, try);
> if (clnt_stat != RPC_SUCCESS) {
> clnt_perror(clp,"Bad MNT RPC");
> return 1;
> }
> auth_destroy(clp->cl_auth);
> clnt_destroy(clp);
> }
>#endif /* ! SMALL */
>
>Hacking it to use "tcp" instead instead of "udp" makes the problem
>vanish.
>
>While i can ask network admins to open a few more UDP ports to make it
>work ... I wonder if this should be adjusted to use the protocol which
>was requested at mount ?
Or at least a flag to specify the protocol.... This is a bug, we should
fix it.
christos
Home |
Main Index |
Thread Index |
Old Index