diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c index 7d9a51e6b847c65df159d6632a98ac891370f80f..1aa628c98966b476c377fe69658b35c668f14653 100644 --- a/fs/nfs/pnfs.c +++ b/fs/nfs/pnfs.c @@ -1866,7 +1866,7 @@ pnfs_update_layout(struct inode *ino, atomic_read(&lo->plh_outstanding) != 0) { spin_unlock(&ino->i_lock); lseg = ERR_PTR(wait_var_event_killable(&lo->plh_outstanding, - atomic_read(&lo->plh_outstanding))); + !atomic_read(&lo->plh_outstanding))); if (IS_ERR(lseg) || !list_empty(&lo->plh_segs)) goto out_put_layout_hdr; pnfs_put_layout_hdr(lo);