diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c index a64d1e40dba955b10a05ad6bb9716e3d472db532..330f3a012f8eed29ee0a8136d21cbae23313cc8d 100644 --- a/fs/nfs/pnfs.c +++ b/fs/nfs/pnfs.c @@ -1190,7 +1190,8 @@ bool pnfs_roc(struct inode *ino) spin_lock(&ino->i_lock); lo = nfsi->layout; - if (!lo || test_bit(NFS_LAYOUT_BULK_RECALL, &lo->plh_flags)) + if (!lo || !pnfs_layout_is_valid(lo) || + test_bit(NFS_LAYOUT_BULK_RECALL, &lo->plh_flags)) goto out_noroc; /* no roc if we hold a delegation */