diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 8dd61eb86f6fe75f4840e4f7686f8bf093a2fb86..acd20c549ce20ad05ff07c3e3cf529c71155615f 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -1317,7 +1317,8 @@ _nfs4_opendata_reclaim_to_nfs4_state(struct nfs4_opendata *data) struct nfs4_state *state = data->state; int ret; - if (!data->rpc_done) { + /* allow cached opens (!rpc_done && !rpc_status) */ + if (!data->rpc_done && data->rpc_status) { ret = data->rpc_status; goto err; }