diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c index a6ad64cee885..464ae4bf209e 100644 --- a/fs/gfs2/file.c +++ b/fs/gfs2/file.c @@ -1033,8 +1033,8 @@ static ssize_t gfs2_file_buffered_write(struct kiocb *iocb, } gfs2_holder_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, gh); -retry: if (should_fault_in_pages(from, iocb, &prev_count, &window_size)) { +retry: window_size -= fault_in_iov_iter_readable(from, window_size); if (!window_size) { ret = -EFAULT;