Lines Matching refs:header

169 static void bl_mark_devices_unavailable(struct nfs_pgio_header *header, bool rw)  in bl_mark_devices_unavailable()  argument
171 struct pnfs_block_layout *bl = BLK_LSEG2EXT(header->lseg); in bl_mark_devices_unavailable()
172 size_t bytes_left = header->args.count; in bl_mark_devices_unavailable()
176 isect = header->args.offset >> SECTOR_SHIFT; in bl_mark_devices_unavailable()
177 bytes_left += header->args.offset - (isect << SECTOR_SHIFT); in bl_mark_devices_unavailable()
197 struct nfs_pgio_header *header = par->data; in bl_end_io_read() local
199 if (!header->pnfs_error) in bl_end_io_read()
200 header->pnfs_error = -EIO; in bl_end_io_read()
201 pnfs_set_lo_fail(header->lseg); in bl_end_io_read()
202 bl_mark_devices_unavailable(header, false); in bl_end_io_read()
230 bl_read_pagelist(struct nfs_pgio_header *header) in bl_read_pagelist() argument
232 struct pnfs_block_layout *bl = BLK_LSEG2EXT(header->lseg); in bl_read_pagelist()
238 loff_t f_offset = header->args.offset; in bl_read_pagelist()
239 size_t bytes_left = header->args.count; in bl_read_pagelist()
240 unsigned int pg_offset = header->args.pgbase, pg_len; in bl_read_pagelist()
241 struct page **pages = header->args.pages; in bl_read_pagelist()
242 int pg_index = header->args.pgbase >> PAGE_SHIFT; in bl_read_pagelist()
243 const bool is_dio = (header->dreq != NULL); in bl_read_pagelist()
248 header->page_array.npages, f_offset, in bl_read_pagelist()
249 (unsigned int)header->args.count); in bl_read_pagelist()
251 par = alloc_parallel(header); in bl_read_pagelist()
260 for (i = pg_index; i < header->page_array.npages; i++) { in bl_read_pagelist()
267 header->pnfs_error = -EIO; in bl_read_pagelist()
293 header->page_array.npages - i, in bl_read_pagelist()
299 header->pnfs_error = PTR_ERR(bio); in bl_read_pagelist()
310 if ((isect << SECTOR_SHIFT) >= header->inode->i_size) { in bl_read_pagelist()
311 header->res.eof = 1; in bl_read_pagelist()
312 header->res.count = header->inode->i_size - header->args.offset; in bl_read_pagelist()
314 header->res.count = (isect << SECTOR_SHIFT) - header->args.offset; in bl_read_pagelist()
326 struct nfs_pgio_header *header = par->data; in bl_end_io_write() local
329 if (!header->pnfs_error) in bl_end_io_write()
330 header->pnfs_error = -EIO; in bl_end_io_write()
331 pnfs_set_lo_fail(header->lseg); in bl_end_io_write()
332 bl_mark_devices_unavailable(header, true); in bl_end_io_write()
375 bl_write_pagelist(struct nfs_pgio_header *header, int sync) in bl_write_pagelist() argument
377 struct pnfs_block_layout *bl = BLK_LSEG2EXT(header->lseg); in bl_write_pagelist()
383 loff_t offset = header->args.offset; in bl_write_pagelist()
384 size_t count = header->args.count; in bl_write_pagelist()
385 struct page **pages = header->args.pages; in bl_write_pagelist()
386 int pg_index = header->args.pgbase >> PAGE_SHIFT; in bl_write_pagelist()
397 par = alloc_parallel(header); in bl_write_pagelist()
408 for (i = pg_index; i < header->page_array.npages; i++) { in bl_write_pagelist()
414 header->pnfs_error = -EINVAL; in bl_write_pagelist()
422 bio = do_add_page_to_bio(bio, header->page_array.npages - i, in bl_write_pagelist()
426 header->pnfs_error = PTR_ERR(bio); in bl_write_pagelist()
437 header->res.count = header->args.count; in bl_write_pagelist()