Lines Matching refs:arg
465 static void ext_tree_free_commitdata(struct nfs4_layoutcommit_args *arg, in ext_tree_free_commitdata() argument
468 if (arg->layoutupdate_pages != &arg->layoutupdate_page) { in ext_tree_free_commitdata()
472 put_page(arg->layoutupdate_pages[i]); in ext_tree_free_commitdata()
473 kfree(arg->layoutupdate_pages); in ext_tree_free_commitdata()
475 put_page(arg->layoutupdate_page); in ext_tree_free_commitdata()
513 ext_tree_prepare_commit(struct nfs4_layoutcommit_args *arg) in ext_tree_prepare_commit() argument
515 struct pnfs_block_layout *bl = BLK_LO2EXT(NFS_I(arg->inode)->layout); in ext_tree_prepare_commit()
522 arg->layoutupdate_page = alloc_page(GFP_NOFS); in ext_tree_prepare_commit()
523 if (!arg->layoutupdate_page) in ext_tree_prepare_commit()
525 start_p = page_address(arg->layoutupdate_page); in ext_tree_prepare_commit()
526 arg->layoutupdate_pages = &arg->layoutupdate_page; in ext_tree_prepare_commit()
531 ext_tree_free_commitdata(arg, buffer_size); in ext_tree_prepare_commit()
536 arg->layoutupdate_pages = in ext_tree_prepare_commit()
539 if (!arg->layoutupdate_pages) in ext_tree_prepare_commit()
544 kfree(arg->layoutupdate_pages); in ext_tree_prepare_commit()
552 arg->layoutupdate_len = sizeof(__be32) + BL_EXTENT_SIZE * count; in ext_tree_prepare_commit()
554 if (unlikely(arg->layoutupdate_pages != &arg->layoutupdate_page)) { in ext_tree_prepare_commit()
559 p < start_p + arg->layoutupdate_len; in ext_tree_prepare_commit()
561 arg->layoutupdate_pages[i++] = vmalloc_to_page(p); in ext_tree_prepare_commit()
570 ext_tree_mark_committed(struct nfs4_layoutcommit_args *arg, int status) in ext_tree_mark_committed() argument
572 struct pnfs_block_layout *bl = BLK_LO2EXT(NFS_I(arg->inode)->layout); in ext_tree_mark_committed()
578 ext_tree_free_commitdata(arg, arg->layoutupdate_len); in ext_tree_mark_committed()