Lines Matching refs:cinfo
62 static void nfs_clear_request_commit(struct nfs_commit_info *cinfo,
64 static void nfs_init_cinfo_from_inode(struct nfs_commit_info *cinfo,
435 void nfs_join_page_group(struct nfs_page *head, struct nfs_commit_info *cinfo, in nfs_join_page_group() argument
466 nfs_clear_request_commit(cinfo, subreq); in nfs_join_page_group()
567 struct nfs_commit_info cinfo; in nfs_lock_and_join_requests() local
613 nfs_init_cinfo_from_inode(&cinfo, inode); in nfs_lock_and_join_requests()
614 nfs_join_page_group(head, &cinfo, inode); in nfs_lock_and_join_requests()
846 struct nfs_commit_info *cinfo) in nfs_request_add_commit_list_locked() argument
850 atomic_long_inc(&cinfo->mds->ncommit); in nfs_request_add_commit_list_locked()
867 nfs_request_add_commit_list(struct nfs_page *req, struct nfs_commit_info *cinfo) in nfs_request_add_commit_list() argument
869 mutex_lock(&NFS_I(cinfo->inode)->commit_mutex); in nfs_request_add_commit_list()
870 nfs_request_add_commit_list_locked(req, &cinfo->mds->list, cinfo); in nfs_request_add_commit_list()
871 mutex_unlock(&NFS_I(cinfo->inode)->commit_mutex); in nfs_request_add_commit_list()
872 nfs_folio_mark_unstable(nfs_page_to_folio(req), cinfo); in nfs_request_add_commit_list()
889 struct nfs_commit_info *cinfo) in nfs_request_remove_commit_list() argument
894 atomic_long_dec(&cinfo->mds->ncommit); in nfs_request_remove_commit_list()
898 static void nfs_init_cinfo_from_inode(struct nfs_commit_info *cinfo, in nfs_init_cinfo_from_inode() argument
901 cinfo->inode = inode; in nfs_init_cinfo_from_inode()
902 cinfo->mds = &NFS_I(inode)->commit_info; in nfs_init_cinfo_from_inode()
903 cinfo->ds = pnfs_get_ds_info(inode); in nfs_init_cinfo_from_inode()
904 cinfo->dreq = NULL; in nfs_init_cinfo_from_inode()
905 cinfo->completion_ops = &nfs_commit_completion_ops; in nfs_init_cinfo_from_inode()
908 void nfs_init_cinfo(struct nfs_commit_info *cinfo, in nfs_init_cinfo() argument
913 nfs_init_cinfo_from_dreq(cinfo, dreq); in nfs_init_cinfo()
915 nfs_init_cinfo_from_inode(cinfo, inode); in nfs_init_cinfo()
924 struct nfs_commit_info *cinfo, u32 ds_commit_idx) in nfs_mark_request_commit() argument
926 if (pnfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx)) in nfs_mark_request_commit()
928 nfs_request_add_commit_list(req, cinfo); in nfs_mark_request_commit()
943 static void nfs_clear_request_commit(struct nfs_commit_info *cinfo, in nfs_clear_request_commit() argument
951 if (!pnfs_clear_request_commit(req, cinfo)) { in nfs_clear_request_commit()
952 nfs_request_remove_commit_list(req, cinfo); in nfs_clear_request_commit()
973 struct nfs_commit_info cinfo; in nfs_write_completion() local
978 nfs_init_cinfo_from_inode(&cinfo, hdr->inode); in nfs_write_completion()
995 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_write_completion()
1011 nfs_reqs_to_commit(struct nfs_commit_info *cinfo) in nfs_reqs_to_commit() argument
1013 return atomic_long_read(&cinfo->mds->ncommit); in nfs_reqs_to_commit()
1019 struct nfs_commit_info *cinfo, int max) in nfs_scan_commit_list() argument
1030 nfs_request_remove_commit_list(req, cinfo); in nfs_scan_commit_list()
1034 if ((ret == max) && !cinfo->dreq) in nfs_scan_commit_list()
1053 struct nfs_commit_info *cinfo) in nfs_scan_commit() argument
1057 if (!atomic_long_read(&cinfo->mds->ncommit)) in nfs_scan_commit()
1059 mutex_lock(&NFS_I(cinfo->inode)->commit_mutex); in nfs_scan_commit()
1060 if (atomic_long_read(&cinfo->mds->ncommit) > 0) { in nfs_scan_commit()
1063 ret = nfs_scan_commit_list(&cinfo->mds->list, dst, in nfs_scan_commit()
1064 cinfo, max); in nfs_scan_commit()
1065 ret += pnfs_scan_commit_lists(inode, cinfo, max - ret); in nfs_scan_commit()
1067 mutex_unlock(&NFS_I(cinfo->inode)->commit_mutex); in nfs_scan_commit()
1650 static int wait_on_commit(struct nfs_mds_commit_info *cinfo) in wait_on_commit() argument
1652 return wait_var_event_killable(&cinfo->rpcs_out, in wait_on_commit()
1653 !atomic_read(&cinfo->rpcs_out)); in wait_on_commit()
1656 void nfs_commit_begin(struct nfs_mds_commit_info *cinfo) in nfs_commit_begin() argument
1658 atomic_inc(&cinfo->rpcs_out); in nfs_commit_begin()
1661 bool nfs_commit_end(struct nfs_mds_commit_info *cinfo) in nfs_commit_end() argument
1663 if (atomic_dec_and_test(&cinfo->rpcs_out)) { in nfs_commit_end()
1664 wake_up_var(&cinfo->rpcs_out); in nfs_commit_end()
1741 struct nfs_commit_info *cinfo) in nfs_init_commit() argument
1764 data->completion_ops = cinfo->completion_ops; in nfs_init_commit()
1765 data->dreq = cinfo->dreq; in nfs_init_commit()
1775 nfs_commit_begin(cinfo->mds); in nfs_init_commit()
1781 struct nfs_commit_info *cinfo, in nfs_retry_commit() argument
1789 nfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx); in nfs_retry_commit()
1796 static void nfs_commit_resched_write(struct nfs_commit_info *cinfo, in nfs_commit_resched_write() argument
1809 struct nfs_commit_info *cinfo) in nfs_commit_list() argument
1821 nfs_retry_commit(head, NULL, cinfo, -1); in nfs_commit_list()
1826 nfs_init_commit(data, head, NULL, cinfo); in nfs_commit_list()
1855 struct nfs_commit_info cinfo; in nfs_commit_release_pages() local
1899 nfs_init_cinfo(&cinfo, data->inode, data->dreq); in nfs_commit_release_pages()
1900 nfs_commit_end(cinfo.mds); in nfs_commit_release_pages()
1923 int how, struct nfs_commit_info *cinfo) in nfs_generic_commit_list() argument
1927 status = pnfs_commit_list(inode, head, how, cinfo); in nfs_generic_commit_list()
1929 status = nfs_commit_list(inode, head, how, cinfo); in nfs_generic_commit_list()
1937 struct nfs_commit_info cinfo; in __nfs_commit_inode() local
1942 nfs_init_cinfo_from_inode(&cinfo, inode); in __nfs_commit_inode()
1943 nfs_commit_begin(cinfo.mds); in __nfs_commit_inode()
1945 ret = nscan = nfs_scan_commit(inode, &head, &cinfo); in __nfs_commit_inode()
1948 ret = nfs_generic_commit_list(inode, &head, how, &cinfo); in __nfs_commit_inode()
1962 nfs_commit_end(cinfo.mds); in __nfs_commit_inode()
1965 return wait_on_commit(cinfo.mds); in __nfs_commit_inode()