nfs4: set source address when callback is generated
when callback is generated in NFSv4 server, it doesn't set the source address. When an alias IP is utilized on NFSv4 server and suppose the client is accessing via that alias IP (e.g. eth0:0), the client invokes the callback to the IP address that is set on the original device (e.g. eth0). This behavior results in timeout of xprt. The patch sets the IP address that the client should invoke callback to. Signed-off-by: Takuma Umeya <tumeya@redhat.com> [bfields@redhat.com: Simplify gen_callback arguments, use helper function] Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
parent
3c72602340
commit
6f3d772fb8
3 changed files with 21 additions and 3 deletions
|
@ -484,6 +484,7 @@ static int setup_callback_client(struct nfs4_client *clp,
|
|||
.net = &init_net,
|
||||
.address = (struct sockaddr *) &conn->cb_addr,
|
||||
.addrsize = conn->cb_addrlen,
|
||||
.saddress = (struct sockaddr *) &conn->cb_saddr,
|
||||
.timeout = &timeparms,
|
||||
.program = &cb_program,
|
||||
.version = 0,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue