Lines Matching refs:cinfo
61 static void nfs_clear_request_commit(struct nfs_commit_info *cinfo,
63 static void nfs_init_cinfo_from_inode(struct nfs_commit_info *cinfo,
504 void nfs_join_page_group(struct nfs_page *head, struct nfs_commit_info *cinfo, in nfs_join_page_group() argument
535 nfs_clear_request_commit(cinfo, subreq); in nfs_join_page_group()
569 struct nfs_commit_info cinfo; in nfs_lock_and_join_requests() local
572 nfs_init_cinfo_from_inode(&cinfo, inode); in nfs_lock_and_join_requests()
589 nfs_join_page_group(head, &cinfo, inode); in nfs_lock_and_join_requests()
821 struct nfs_commit_info cinfo; in nfs_page_search_commits_for_head_request_locked() local
824 nfs_init_cinfo_from_inode(&cinfo, inode); in nfs_page_search_commits_for_head_request_locked()
827 freq = pnfs_search_commit_reqs(inode, &cinfo, page); in nfs_page_search_commits_for_head_request_locked()
832 list_for_each_entry_safe(freq, t, &cinfo.mds->list, wb_list) { in nfs_page_search_commits_for_head_request_locked()
855 struct nfs_commit_info *cinfo) in nfs_request_add_commit_list_locked() argument
859 atomic_long_inc(&cinfo->mds->ncommit); in nfs_request_add_commit_list_locked()
876 nfs_request_add_commit_list(struct nfs_page *req, struct nfs_commit_info *cinfo) in nfs_request_add_commit_list() argument
878 mutex_lock(&NFS_I(cinfo->inode)->commit_mutex); in nfs_request_add_commit_list()
879 nfs_request_add_commit_list_locked(req, &cinfo->mds->list, cinfo); in nfs_request_add_commit_list()
880 mutex_unlock(&NFS_I(cinfo->inode)->commit_mutex); in nfs_request_add_commit_list()
882 nfs_mark_page_unstable(req->wb_page, cinfo); in nfs_request_add_commit_list()
899 struct nfs_commit_info *cinfo) in nfs_request_remove_commit_list() argument
904 atomic_long_dec(&cinfo->mds->ncommit); in nfs_request_remove_commit_list()
908 static void nfs_init_cinfo_from_inode(struct nfs_commit_info *cinfo, in nfs_init_cinfo_from_inode() argument
911 cinfo->inode = inode; in nfs_init_cinfo_from_inode()
912 cinfo->mds = &NFS_I(inode)->commit_info; in nfs_init_cinfo_from_inode()
913 cinfo->ds = pnfs_get_ds_info(inode); in nfs_init_cinfo_from_inode()
914 cinfo->dreq = NULL; in nfs_init_cinfo_from_inode()
915 cinfo->completion_ops = &nfs_commit_completion_ops; in nfs_init_cinfo_from_inode()
918 void nfs_init_cinfo(struct nfs_commit_info *cinfo, in nfs_init_cinfo() argument
923 nfs_init_cinfo_from_dreq(cinfo, dreq); in nfs_init_cinfo()
925 nfs_init_cinfo_from_inode(cinfo, inode); in nfs_init_cinfo()
934 struct nfs_commit_info *cinfo, u32 ds_commit_idx) in nfs_mark_request_commit() argument
936 if (pnfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx)) in nfs_mark_request_commit()
938 nfs_request_add_commit_list(req, cinfo); in nfs_mark_request_commit()
950 static void nfs_clear_request_commit(struct nfs_commit_info *cinfo, in nfs_clear_request_commit() argument
958 if (!pnfs_clear_request_commit(req, cinfo)) { in nfs_clear_request_commit()
959 nfs_request_remove_commit_list(req, cinfo); in nfs_clear_request_commit()
980 struct nfs_commit_info cinfo; in nfs_write_completion() local
985 nfs_init_cinfo_from_inode(&cinfo, hdr->inode); in nfs_write_completion()
1001 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_write_completion()
1017 nfs_reqs_to_commit(struct nfs_commit_info *cinfo) in nfs_reqs_to_commit() argument
1019 return atomic_long_read(&cinfo->mds->ncommit); in nfs_reqs_to_commit()
1025 struct nfs_commit_info *cinfo, int max) in nfs_scan_commit_list() argument
1036 nfs_request_remove_commit_list(req, cinfo); in nfs_scan_commit_list()
1040 if ((ret == max) && !cinfo->dreq) in nfs_scan_commit_list()
1059 struct nfs_commit_info *cinfo) in nfs_scan_commit() argument
1063 if (!atomic_long_read(&cinfo->mds->ncommit)) in nfs_scan_commit()
1065 mutex_lock(&NFS_I(cinfo->inode)->commit_mutex); in nfs_scan_commit()
1066 if (atomic_long_read(&cinfo->mds->ncommit) > 0) { in nfs_scan_commit()
1069 ret = nfs_scan_commit_list(&cinfo->mds->list, dst, in nfs_scan_commit()
1070 cinfo, max); in nfs_scan_commit()
1071 ret += pnfs_scan_commit_lists(inode, cinfo, max - ret); in nfs_scan_commit()
1073 mutex_unlock(&NFS_I(cinfo->inode)->commit_mutex); in nfs_scan_commit()
1634 static int wait_on_commit(struct nfs_mds_commit_info *cinfo) in wait_on_commit() argument
1636 return wait_var_event_killable(&cinfo->rpcs_out, in wait_on_commit()
1637 !atomic_read(&cinfo->rpcs_out)); in wait_on_commit()
1640 static void nfs_commit_begin(struct nfs_mds_commit_info *cinfo) in nfs_commit_begin() argument
1642 atomic_inc(&cinfo->rpcs_out); in nfs_commit_begin()
1645 bool nfs_commit_end(struct nfs_mds_commit_info *cinfo) in nfs_commit_end() argument
1647 if (atomic_dec_and_test(&cinfo->rpcs_out)) { in nfs_commit_end()
1648 wake_up_var(&cinfo->rpcs_out); in nfs_commit_end()
1717 struct nfs_commit_info *cinfo) in nfs_init_commit() argument
1740 data->completion_ops = cinfo->completion_ops; in nfs_init_commit()
1741 data->dreq = cinfo->dreq; in nfs_init_commit()
1751 nfs_commit_begin(cinfo->mds); in nfs_init_commit()
1757 struct nfs_commit_info *cinfo, in nfs_retry_commit() argument
1765 nfs_mark_request_commit(req, lseg, cinfo, ds_commit_idx); in nfs_retry_commit()
1766 if (!cinfo->dreq) in nfs_retry_commit()
1774 nfs_commit_resched_write(struct nfs_commit_info *cinfo, in nfs_commit_resched_write() argument
1785 struct nfs_commit_info *cinfo) in nfs_commit_list() argument
1795 nfs_retry_commit(head, NULL, cinfo, -1); in nfs_commit_list()
1800 nfs_init_commit(data, head, NULL, cinfo); in nfs_commit_list()
1825 struct nfs_commit_info cinfo; in nfs_commit_release_pages() local
1871 nfs_init_cinfo(&cinfo, data->inode, data->dreq); in nfs_commit_release_pages()
1872 nfs_commit_end(cinfo.mds); in nfs_commit_release_pages()
1895 int how, struct nfs_commit_info *cinfo) in nfs_generic_commit_list() argument
1899 status = pnfs_commit_list(inode, head, how, cinfo); in nfs_generic_commit_list()
1901 status = nfs_commit_list(inode, head, how, cinfo); in nfs_generic_commit_list()
1909 struct nfs_commit_info cinfo; in __nfs_commit_inode() local
1914 nfs_init_cinfo_from_inode(&cinfo, inode); in __nfs_commit_inode()
1915 nfs_commit_begin(cinfo.mds); in __nfs_commit_inode()
1917 ret = nscan = nfs_scan_commit(inode, &head, &cinfo); in __nfs_commit_inode()
1920 ret = nfs_generic_commit_list(inode, &head, how, &cinfo); in __nfs_commit_inode()
1934 nfs_commit_end(cinfo.mds); in __nfs_commit_inode()
1937 return wait_on_commit(cinfo.mds); in __nfs_commit_inode()