More NFS Client Bugfixes for Linux 6.3-rc
Bugfixes: * Fix shutdown of NFS TCP client sockets * Fix hangs when recovering open state after a server reboot -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEnZ5MQTpR7cLU7KEp18tUv7ClQOsFAmQnOw8ACgkQ18tUv7Cl QOvhTBAAhgxWVQkGh9Uh+b7vwBUnMenXCl2LhE9WodDgxCw4+7nQTSgW79iOKmA/ DGQd7iBT8nksKs3hPtg8aIQLuj42F0MlVexU7mJNOeA3cTSkbLaEwRJuOo3W8eKm A3/DMhUmYNue5ufhYmVV/9/j6pHRgib1JaBHgWFjqtr5vmehCxweW5TpfgJer5oF aX5YJkPShmMAb5C7yfZ/cjooQbLi1d21wwpkLHkANOIN2JK0QNesJb4ttYFxLxPN BNCSY3oe/E2pcbtwZeb0Eq17m4ToHOlwdtU9JvYyrLNdrJdNEgNGzD35dQfnZG+q FfP6Pla3Sr8T/06t+Y4mo3EyChLsM1Kq+K6iqPhVElzGA5eFtNT3TsS0Hxa4JfP4 sW3P4zx6Rl0oU1wPkwRonc66GjHmklHyfaXA6TeBqXpSKOXoZU5BP0tKdQ8TXZmu BeO37IzSfh+DZ/etl4xrVZDK1MYOPz/096RUXhMrkBRWobwSTrj5jmQtUlgGoLqv M1II1a4btRZ04gTl/o+eMnwR+ULp7F/Yd1hEJq1fkNhuIc8Fh+GzU/21xh2dWmsb 83jjKURyDglKSIvP6LaqB9i1ilJS5YqnQjRKhZAWxzhHrkS9GnZZ0FV0685efvUH aVgctskoVrltJ7jkvn3Z2WSGhkVo/k/qvnyqqqeR8EIRXTE/3J0= =S4il -----END PGP SIGNATURE----- Merge tag 'nfs-for-6.3-3' of git://git.linux-nfs.org/projects/anna/linux-nfs Pull NFS client fixes from Anna Schumaker: - Fix shutdown of NFS TCP client sockets - Fix hangs when recovering open state after a server reboot * tag 'nfs-for-6.3-3' of git://git.linux-nfs.org/projects/anna/linux-nfs: SUNRPC: fix shutdown of NFS TCP client socket NFSv4: Fix hangs when recovering open state after a server reboot
This commit is contained in:
commit
a0264d198a
|
@ -1980,8 +1980,7 @@ _nfs4_opendata_reclaim_to_nfs4_state(struct nfs4_opendata *data)
|
||||||
if (!data->rpc_done) {
|
if (!data->rpc_done) {
|
||||||
if (data->rpc_status)
|
if (data->rpc_status)
|
||||||
return ERR_PTR(data->rpc_status);
|
return ERR_PTR(data->rpc_status);
|
||||||
/* cached opens have already been processed */
|
return nfs4_try_open_cached(data);
|
||||||
goto update;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = nfs_refresh_inode(inode, &data->f_attr);
|
ret = nfs_refresh_inode(inode, &data->f_attr);
|
||||||
|
@ -1990,7 +1989,7 @@ _nfs4_opendata_reclaim_to_nfs4_state(struct nfs4_opendata *data)
|
||||||
|
|
||||||
if (data->o_res.delegation_type != 0)
|
if (data->o_res.delegation_type != 0)
|
||||||
nfs4_opendata_check_deleg(data, state);
|
nfs4_opendata_check_deleg(data, state);
|
||||||
update:
|
|
||||||
if (!update_open_stateid(state, &data->o_res.stateid,
|
if (!update_open_stateid(state, &data->o_res.stateid,
|
||||||
NULL, data->o_arg.fmode))
|
NULL, data->o_arg.fmode))
|
||||||
return ERR_PTR(-EAGAIN);
|
return ERR_PTR(-EAGAIN);
|
||||||
|
|
|
@ -2158,6 +2158,7 @@ static void xs_tcp_shutdown(struct rpc_xprt *xprt)
|
||||||
switch (skst) {
|
switch (skst) {
|
||||||
case TCP_FIN_WAIT1:
|
case TCP_FIN_WAIT1:
|
||||||
case TCP_FIN_WAIT2:
|
case TCP_FIN_WAIT2:
|
||||||
|
case TCP_LAST_ACK:
|
||||||
break;
|
break;
|
||||||
case TCP_ESTABLISHED:
|
case TCP_ESTABLISHED:
|
||||||
case TCP_CLOSE_WAIT:
|
case TCP_CLOSE_WAIT:
|
||||||
|
|
Loading…
Reference in New Issue