struct nfs_page *pgvec[NFS_SCAN_MAXENTRIES];
struct nfs_page *req;
pgoff_t idx_start, idx_end;
- long count = wbc->nr_to_write;
long res = 0;
int found, i;
- if (nfsi->ndirty == 0 || count <= 0)
+ if (nfsi->ndirty == 0)
return 0;
if (wbc->range_cyclic) {
idx_start = 0;
for (;;) {
unsigned int toscan = NFS_SCAN_MAXENTRIES;
- if (toscan > count)
- toscan = count;
found = radix_tree_gang_lookup_tag(&nfsi->nfs_page_tree,
(void **)&pgvec[0], idx_start, toscan,
NFS_PAGE_TAG_DIRTY);
res++;
if (res == LONG_MAX)
goto out;
- count--;
- if (count == 0)
- goto out;
-
next:
idx_start = req->wb_index + 1;
}
}
out:
- wbc->nr_to_write = count;
WARN_ON ((nfsi->ndirty == 0) != list_empty(&nfsi->dirty));
return res;
}