pnfs/blocklayout: don't set pages uptodate
The core nfs code handles setting pages uptodate on reads, no need to mess with the pageflags outselves. Also remove a debug function to dump page flags. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:
Родитель
3a6fd1f004
Коммит
8c792ea940
|
@ -49,20 +49,6 @@ MODULE_LICENSE("GPL");
|
||||||
MODULE_AUTHOR("Andy Adamson <andros@citi.umich.edu>");
|
MODULE_AUTHOR("Andy Adamson <andros@citi.umich.edu>");
|
||||||
MODULE_DESCRIPTION("The NFSv4.1 pNFS Block layout driver");
|
MODULE_DESCRIPTION("The NFSv4.1 pNFS Block layout driver");
|
||||||
|
|
||||||
static void print_page(struct page *page)
|
|
||||||
{
|
|
||||||
dprintk("PRINTPAGE page %p\n", page);
|
|
||||||
dprintk(" PagePrivate %d\n", PagePrivate(page));
|
|
||||||
dprintk(" PageUptodate %d\n", PageUptodate(page));
|
|
||||||
dprintk(" PageError %d\n", PageError(page));
|
|
||||||
dprintk(" PageDirty %d\n", PageDirty(page));
|
|
||||||
dprintk(" PageReferenced %d\n", PageReferenced(page));
|
|
||||||
dprintk(" PageLocked %d\n", PageLocked(page));
|
|
||||||
dprintk(" PageWriteback %d\n", PageWriteback(page));
|
|
||||||
dprintk(" PageMappedToDisk %d\n", PageMappedToDisk(page));
|
|
||||||
dprintk("\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Given the be associated with isect, determine if page data needs to be
|
/* Given the be associated with isect, determine if page data needs to be
|
||||||
* initialized.
|
* initialized.
|
||||||
*/
|
*/
|
||||||
|
@ -187,16 +173,9 @@ retry:
|
||||||
return bio;
|
return bio;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This is basically copied from mpage_end_io_read */
|
|
||||||
static void bl_end_io_read(struct bio *bio, int err)
|
static void bl_end_io_read(struct bio *bio, int err)
|
||||||
{
|
{
|
||||||
struct parallel_io *par = bio->bi_private;
|
struct parallel_io *par = bio->bi_private;
|
||||||
struct bio_vec *bvec;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
if (!err)
|
|
||||||
bio_for_each_segment_all(bvec, bio, i)
|
|
||||||
SetPageUptodate(bvec->bv_page);
|
|
||||||
|
|
||||||
if (err) {
|
if (err) {
|
||||||
struct nfs_pgio_header *header = par->data;
|
struct nfs_pgio_header *header = par->data;
|
||||||
|
@ -205,6 +184,7 @@ static void bl_end_io_read(struct bio *bio, int err)
|
||||||
header->pnfs_error = -EIO;
|
header->pnfs_error = -EIO;
|
||||||
pnfs_set_lo_fail(header->lseg);
|
pnfs_set_lo_fail(header->lseg);
|
||||||
}
|
}
|
||||||
|
|
||||||
bio_put(bio);
|
bio_put(bio);
|
||||||
put_parallel(par);
|
put_parallel(par);
|
||||||
}
|
}
|
||||||
|
@ -304,8 +284,6 @@ bl_read_pagelist(struct nfs_pgio_header *hdr)
|
||||||
/* Fill hole w/ zeroes w/o accessing device */
|
/* Fill hole w/ zeroes w/o accessing device */
|
||||||
dprintk("%s Zeroing page for hole\n", __func__);
|
dprintk("%s Zeroing page for hole\n", __func__);
|
||||||
zero_user_segment(pages[i], pg_offset, pg_len);
|
zero_user_segment(pages[i], pg_offset, pg_len);
|
||||||
print_page(pages[i]);
|
|
||||||
SetPageUptodate(pages[i]);
|
|
||||||
} else {
|
} else {
|
||||||
struct pnfs_block_extent *be_read;
|
struct pnfs_block_extent *be_read;
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче