NFSv4: Fail I/O if the state recovery fails irrevocably
[linux-2.6-block.git] / fs / nfs / pnfs.c
index 4bdffe0ba025228803b65d4fe54ab5cb0adda0ed..c5bd758e563768d76b2a43c830dcba8b53e175cf 100644 (file)
@@ -718,6 +718,8 @@ pnfs_choose_layoutget_stateid(nfs4_stateid *dst, struct pnfs_layout_hdr *lo,
        spin_lock(&lo->plh_inode->i_lock);
        if (pnfs_layoutgets_blocked(lo, 1)) {
                status = -EAGAIN;
+       } else if (!nfs4_valid_open_stateid(open_state)) {
+               status = -EBADF;
        } else if (list_empty(&lo->plh_segs)) {
                int seq;