Lines Matching refs:nfsi
296 struct nfs_inode *nfsi = NFS_I(lo->plh_inode); in pnfs_detach_layout_hdr() local
298 nfsi->layout = NULL; in pnfs_detach_layout_hdr()
300 nfsi->write_io = 0; in pnfs_detach_layout_hdr()
301 nfsi->read_io = 0; in pnfs_detach_layout_hdr()
765 static struct pnfs_layout_hdr *__pnfs_destroy_layout(struct nfs_inode *nfsi) in __pnfs_destroy_layout() argument
770 spin_lock(&nfsi->vfs_inode.i_lock); in __pnfs_destroy_layout()
771 lo = nfsi->layout; in __pnfs_destroy_layout()
777 spin_unlock(&nfsi->vfs_inode.i_lock); in __pnfs_destroy_layout()
779 nfs_commit_inode(&nfsi->vfs_inode, 0); in __pnfs_destroy_layout()
782 spin_unlock(&nfsi->vfs_inode.i_lock); in __pnfs_destroy_layout()
786 void pnfs_destroy_layout(struct nfs_inode *nfsi) in pnfs_destroy_layout() argument
788 __pnfs_destroy_layout(nfsi); in pnfs_destroy_layout()
792 static bool pnfs_layout_removed(struct nfs_inode *nfsi, in pnfs_layout_removed() argument
797 spin_lock(&nfsi->vfs_inode.i_lock); in pnfs_layout_removed()
798 ret = nfsi->layout != lo; in pnfs_layout_removed()
799 spin_unlock(&nfsi->vfs_inode.i_lock); in pnfs_layout_removed()
803 void pnfs_destroy_layout_final(struct nfs_inode *nfsi) in pnfs_destroy_layout_final() argument
805 struct pnfs_layout_hdr *lo = __pnfs_destroy_layout(nfsi); in pnfs_destroy_layout_final()
808 wait_var_event(lo, pnfs_layout_removed(nfsi, lo)); in pnfs_destroy_layout_final()
1156 struct nfs_inode *nfsi = NFS_I(inode); in pnfs_clear_layoutcommit() local
1159 if (!test_and_clear_bit(NFS_INO_LAYOUTCOMMIT, &nfsi->flags)) in pnfs_clear_layoutcommit()
1161 list_for_each_entry_safe(lseg, tmp, &nfsi->layout->plh_segs, pls_list) { in pnfs_clear_layoutcommit()
1335 struct nfs_inode *nfsi = NFS_I(ino); in _pnfs_return_layout() local
1350 lo = nfsi->layout; in _pnfs_return_layout()
1427 struct nfs_inode *nfsi = NFS_I(ino); in pnfs_roc() local
1443 lo = nfsi->layout; in pnfs_roc()
1466 list_for_each_entry_rcu(ctx, &nfsi->open_files, list) { in pnfs_roc()
1609 struct nfs_inode *nfsi = NFS_I(ino); in pnfs_wait_on_layoutreturn() local
1616 lo = nfsi->layout; in pnfs_wait_on_layoutreturn()
1753 struct nfs_inode *nfsi = NFS_I(ino); in pnfs_find_alloc_layout() local
1756 dprintk("%s Begin ino=%p layout=%p\n", __func__, ino, nfsi->layout); in pnfs_find_alloc_layout()
1758 if (nfsi->layout != NULL) in pnfs_find_alloc_layout()
1764 if (likely(nfsi->layout == NULL)) { /* Won the race? */ in pnfs_find_alloc_layout()
1765 nfsi->layout = new; in pnfs_find_alloc_layout()
1770 pnfs_get_layout_hdr(nfsi->layout); in pnfs_find_alloc_layout()
1771 return nfsi->layout; in pnfs_find_alloc_layout()
1856 struct nfs_inode *nfsi = NFS_I(ino); in pnfs_within_mdsthreshold() local
1876 nfsi->read_io); in pnfs_within_mdsthreshold()
1878 if (nfsi->read_io < t->rd_io_sz) in pnfs_within_mdsthreshold()
1891 nfsi->write_io); in pnfs_within_mdsthreshold()
1893 if (nfsi->write_io < t->wr_io_sz) in pnfs_within_mdsthreshold()
3139 struct nfs_inode *nfsi = NFS_I(inode); in pnfs_set_layoutcommit() local
3143 if (!test_and_set_bit(NFS_INO_LAYOUTCOMMIT, &nfsi->flags)) { in pnfs_set_layoutcommit()
3144 nfsi->layout->plh_lwb = end_pos; in pnfs_set_layoutcommit()
3148 } else if (end_pos > nfsi->layout->plh_lwb) in pnfs_set_layoutcommit()
3149 nfsi->layout->plh_lwb = end_pos; in pnfs_set_layoutcommit()
3156 __func__, lseg, nfsi->layout->plh_lwb); in pnfs_set_layoutcommit()
3187 struct nfs_inode *nfsi = NFS_I(inode); in pnfs_layoutcommit_inode() local
3197 if (test_and_set_bit(NFS_INO_LAYOUTCOMMITTING, &nfsi->flags)) { in pnfs_layoutcommit_inode()
3200 status = wait_on_bit_lock_action(&nfsi->flags, in pnfs_layoutcommit_inode()
3216 if (!test_and_clear_bit(NFS_INO_LAYOUTCOMMIT, &nfsi->flags)) in pnfs_layoutcommit_inode()
3222 end_pos = nfsi->layout->plh_lwb; in pnfs_layoutcommit_inode()
3224 nfs4_stateid_copy(&data->args.stateid, &nfsi->layout->plh_stateid); in pnfs_layoutcommit_inode()
3225 data->cred = get_cred(nfsi->layout->plh_lc_cred); in pnfs_layoutcommit_inode()
3243 set_bit(NFS_INO_LAYOUTCOMMIT, &nfsi->flags); in pnfs_layoutcommit_inode()
3244 if (end_pos > nfsi->layout->plh_lwb) in pnfs_layoutcommit_inode()
3245 nfsi->layout->plh_lwb = end_pos; in pnfs_layoutcommit_inode()
3291 struct nfs_inode *nfsi = NFS_I(inode); in pnfs_report_layoutstat() local
3302 if (test_and_set_bit(NFS_INO_LAYOUTSTATS, &nfsi->flags)) in pnfs_report_layoutstat()
3338 clear_bit(NFS_INO_LAYOUTSTATS, &nfsi->flags); in pnfs_report_layoutstat()