Lines Matching refs:lo
56 pnfs_send_layoutreturn(struct pnfs_layout_hdr *lo, nfs4_stateid stateid,
201 pnfs_get_layout_hdr(struct pnfs_layout_hdr *lo) in pnfs_get_layout_hdr() argument
203 atomic_inc(&lo->plh_refcount); in pnfs_get_layout_hdr()
214 pnfs_free_layout_hdr(struct pnfs_layout_hdr *lo) in pnfs_free_layout_hdr() argument
216 struct nfs_server *server = NFS_SERVER(lo->plh_inode); in pnfs_free_layout_hdr()
219 if (!list_empty(&lo->plh_layouts)) { in pnfs_free_layout_hdr()
223 list_del_init(&lo->plh_layouts); in pnfs_free_layout_hdr()
226 put_rpccred(lo->plh_lc_cred); in pnfs_free_layout_hdr()
227 return ld->free_layout_hdr(lo); in pnfs_free_layout_hdr()
231 pnfs_detach_layout_hdr(struct pnfs_layout_hdr *lo) in pnfs_detach_layout_hdr() argument
233 struct nfs_inode *nfsi = NFS_I(lo->plh_inode); in pnfs_detach_layout_hdr()
234 dprintk("%s: freeing layout cache %p\n", __func__, lo); in pnfs_detach_layout_hdr()
242 pnfs_put_layout_hdr(struct pnfs_layout_hdr *lo) in pnfs_put_layout_hdr() argument
244 struct inode *inode = lo->plh_inode; in pnfs_put_layout_hdr()
246 if (atomic_dec_and_lock(&lo->plh_refcount, &inode->i_lock)) { in pnfs_put_layout_hdr()
247 if (!list_empty(&lo->plh_segs)) in pnfs_put_layout_hdr()
249 pnfs_detach_layout_hdr(lo); in pnfs_put_layout_hdr()
251 pnfs_free_layout_hdr(lo); in pnfs_put_layout_hdr()
263 pnfs_layout_set_fail_bit(struct pnfs_layout_hdr *lo, int fail_bit) in pnfs_layout_set_fail_bit() argument
265 lo->plh_retry_timestamp = jiffies; in pnfs_layout_set_fail_bit()
266 if (!test_and_set_bit(fail_bit, &lo->plh_flags)) in pnfs_layout_set_fail_bit()
267 atomic_inc(&lo->plh_refcount); in pnfs_layout_set_fail_bit()
271 pnfs_layout_clear_fail_bit(struct pnfs_layout_hdr *lo, int fail_bit) in pnfs_layout_clear_fail_bit() argument
273 if (test_and_clear_bit(fail_bit, &lo->plh_flags)) in pnfs_layout_clear_fail_bit()
274 atomic_dec(&lo->plh_refcount); in pnfs_layout_clear_fail_bit()
278 pnfs_layout_io_set_failed(struct pnfs_layout_hdr *lo, u32 iomode) in pnfs_layout_io_set_failed() argument
280 struct inode *inode = lo->plh_inode; in pnfs_layout_io_set_failed()
289 pnfs_layout_set_fail_bit(lo, pnfs_iomode_to_fail_bit(iomode)); in pnfs_layout_io_set_failed()
290 pnfs_mark_matching_lsegs_invalid(lo, &head, &range); in pnfs_layout_io_set_failed()
298 pnfs_layout_io_test_failed(struct pnfs_layout_hdr *lo, u32 iomode) in pnfs_layout_io_test_failed() argument
303 if (test_bit(fail_bit, &lo->plh_flags) == 0) in pnfs_layout_io_test_failed()
307 if (!time_in_range(lo->plh_retry_timestamp, start, end)) { in pnfs_layout_io_test_failed()
309 pnfs_layout_clear_fail_bit(lo, fail_bit); in pnfs_layout_io_test_failed()
316 init_lseg(struct pnfs_layout_hdr *lo, struct pnfs_layout_segment *lseg) in init_lseg() argument
323 lseg->pls_layout = lo; in init_lseg()
334 pnfs_layout_remove_lseg(struct pnfs_layout_hdr *lo, in pnfs_layout_remove_lseg() argument
337 struct inode *inode = lo->plh_inode; in pnfs_layout_remove_lseg()
342 atomic_dec(&lo->plh_refcount); in pnfs_layout_remove_lseg()
343 if (list_empty(&lo->plh_segs)) in pnfs_layout_remove_lseg()
344 clear_bit(NFS_LAYOUT_BULK_RECALL, &lo->plh_flags); in pnfs_layout_remove_lseg()
350 pnfs_layout_need_return(struct pnfs_layout_hdr *lo, in pnfs_layout_need_return() argument
358 list_for_each_entry(s, &lo->plh_segs, pls_list) in pnfs_layout_need_return()
366 pnfs_prepare_layoutreturn(struct pnfs_layout_hdr *lo) in pnfs_prepare_layoutreturn() argument
368 if (test_and_set_bit(NFS_LAYOUT_RETURN, &lo->plh_flags)) in pnfs_prepare_layoutreturn()
370 lo->plh_return_iomode = 0; in pnfs_prepare_layoutreturn()
371 pnfs_get_layout_hdr(lo); in pnfs_prepare_layoutreturn()
372 clear_bit(NFS_LAYOUT_RETURN_BEFORE_CLOSE, &lo->plh_flags); in pnfs_prepare_layoutreturn()
377 struct pnfs_layout_hdr *lo, struct inode *inode) in pnfs_layoutreturn_before_put_lseg() argument
379 lo = lseg->pls_layout; in pnfs_layoutreturn_before_put_lseg()
380 inode = lo->plh_inode; in pnfs_layoutreturn_before_put_lseg()
383 if (pnfs_layout_need_return(lo, lseg)) { in pnfs_layoutreturn_before_put_lseg()
388 stateid = lo->plh_stateid; in pnfs_layoutreturn_before_put_lseg()
389 iomode = lo->plh_return_iomode; in pnfs_layoutreturn_before_put_lseg()
390 send = pnfs_prepare_layoutreturn(lo); in pnfs_layoutreturn_before_put_lseg()
394 pnfs_send_layoutreturn(lo, stateid, iomode, false); in pnfs_layoutreturn_before_put_lseg()
403 struct pnfs_layout_hdr *lo; in pnfs_put_lseg() local
417 lo = lseg->pls_layout; in pnfs_put_lseg()
418 inode = lo->plh_inode; in pnfs_put_lseg()
421 pnfs_layoutreturn_before_put_lseg(lseg, lo, inode); in pnfs_put_lseg()
428 pnfs_get_layout_hdr(lo); in pnfs_put_lseg()
429 pnfs_layout_remove_lseg(lo, lseg); in pnfs_put_lseg()
432 pnfs_put_layout_hdr(lo); in pnfs_put_lseg()
440 struct pnfs_layout_hdr *lo; in pnfs_free_lseg_async_work() local
443 lo = lseg->pls_layout; in pnfs_free_lseg_async_work()
446 pnfs_put_layout_hdr(lo); in pnfs_free_lseg_async_work()
467 struct pnfs_layout_hdr *lo = lseg->pls_layout; in pnfs_put_lseg_locked() local
470 pnfs_get_layout_hdr(lo); in pnfs_put_lseg_locked()
471 pnfs_layout_remove_lseg(lo, lseg); in pnfs_put_lseg_locked()
567 pnfs_mark_matching_lsegs_invalid(struct pnfs_layout_hdr *lo, in pnfs_mark_matching_lsegs_invalid() argument
574 dprintk("%s:Begin lo %p\n", __func__, lo); in pnfs_mark_matching_lsegs_invalid()
576 if (list_empty(&lo->plh_segs)) in pnfs_mark_matching_lsegs_invalid()
578 list_for_each_entry_safe(lseg, next, &lo->plh_segs, pls_list) in pnfs_mark_matching_lsegs_invalid()
610 struct pnfs_layout_hdr *lo; in pnfs_destroy_layout() local
614 lo = nfsi->layout; in pnfs_destroy_layout()
615 if (lo) { in pnfs_destroy_layout()
616 lo->plh_block_lgets++; /* permanently block new LAYOUTGETs */ in pnfs_destroy_layout()
617 pnfs_mark_matching_lsegs_invalid(lo, &tmp_list, NULL); in pnfs_destroy_layout()
618 pnfs_get_layout_hdr(lo); in pnfs_destroy_layout()
619 pnfs_layout_clear_fail_bit(lo, NFS_LAYOUT_RO_FAILED); in pnfs_destroy_layout()
620 pnfs_layout_clear_fail_bit(lo, NFS_LAYOUT_RW_FAILED); in pnfs_destroy_layout()
621 pnfs_clear_retry_layoutget(lo); in pnfs_destroy_layout()
624 pnfs_put_layout_hdr(lo); in pnfs_destroy_layout()
634 struct pnfs_layout_hdr *lo; in pnfs_layout_add_bulk_destroy_list() local
638 lo = NFS_I(inode)->layout; in pnfs_layout_add_bulk_destroy_list()
639 if (lo != NULL && list_empty(&lo->plh_bulk_destroy)) { in pnfs_layout_add_bulk_destroy_list()
640 pnfs_get_layout_hdr(lo); in pnfs_layout_add_bulk_destroy_list()
641 list_add(&lo->plh_bulk_destroy, layout_list); in pnfs_layout_add_bulk_destroy_list()
654 struct pnfs_layout_hdr *lo, *next; in pnfs_layout_bulk_destroy_byserver_locked() local
657 list_for_each_entry_safe(lo, next, &server->layouts, plh_layouts) { in pnfs_layout_bulk_destroy_byserver_locked()
658 inode = igrab(lo->plh_inode); in pnfs_layout_bulk_destroy_byserver_locked()
661 list_del_init(&lo->plh_layouts); in pnfs_layout_bulk_destroy_byserver_locked()
678 struct pnfs_layout_hdr *lo; in pnfs_layout_free_bulk_destroy_list() local
689 lo = list_entry(layout_list->next, struct pnfs_layout_hdr, in pnfs_layout_free_bulk_destroy_list()
692 lo->plh_inode->i_ino); in pnfs_layout_free_bulk_destroy_list()
693 inode = lo->plh_inode; in pnfs_layout_free_bulk_destroy_list()
698 list_del_init(&lo->plh_bulk_destroy); in pnfs_layout_free_bulk_destroy_list()
699 lo->plh_block_lgets++; /* permanently block new LAYOUTGETs */ in pnfs_layout_free_bulk_destroy_list()
701 set_bit(NFS_LAYOUT_BULK_RECALL, &lo->plh_flags); in pnfs_layout_free_bulk_destroy_list()
702 if (pnfs_mark_matching_lsegs_invalid(lo, &lseg_list, &range)) in pnfs_layout_free_bulk_destroy_list()
706 pnfs_put_layout_hdr(lo); in pnfs_layout_free_bulk_destroy_list()
787 pnfs_set_layout_stateid(struct pnfs_layout_hdr *lo, const nfs4_stateid *new, in pnfs_set_layout_stateid() argument
791 int empty = list_empty(&lo->plh_segs); in pnfs_set_layout_stateid()
793 oldseq = be32_to_cpu(lo->plh_stateid.seqid); in pnfs_set_layout_stateid()
796 nfs4_stateid_copy(&lo->plh_stateid, new); in pnfs_set_layout_stateid()
803 new_barrier = newseq - atomic_read(&lo->plh_outstanding); in pnfs_set_layout_stateid()
805 if (empty || pnfs_seqid_is_newer(new_barrier, lo->plh_barrier)) in pnfs_set_layout_stateid()
806 lo->plh_barrier = new_barrier; in pnfs_set_layout_stateid()
811 pnfs_layout_stateid_blocked(const struct pnfs_layout_hdr *lo, in pnfs_layout_stateid_blocked() argument
816 return !pnfs_seqid_is_newer(seqid, lo->plh_barrier); in pnfs_layout_stateid_blocked()
821 pnfs_layoutgets_blocked(const struct pnfs_layout_hdr *lo) in pnfs_layoutgets_blocked() argument
823 return lo->plh_block_lgets || in pnfs_layoutgets_blocked()
824 test_bit(NFS_LAYOUT_BULK_RECALL, &lo->plh_flags); in pnfs_layoutgets_blocked()
828 pnfs_choose_layoutget_stateid(nfs4_stateid *dst, struct pnfs_layout_hdr *lo, in pnfs_choose_layoutget_stateid() argument
835 spin_lock(&lo->plh_inode->i_lock); in pnfs_choose_layoutget_stateid()
836 if (pnfs_layoutgets_blocked(lo)) { in pnfs_choose_layoutget_stateid()
840 } else if (list_empty(&lo->plh_segs) || in pnfs_choose_layoutget_stateid()
841 test_bit(NFS_LAYOUT_INVALID_STID, &lo->plh_flags)) { in pnfs_choose_layoutget_stateid()
849 nfs4_stateid_copy(dst, &lo->plh_stateid); in pnfs_choose_layoutget_stateid()
850 spin_unlock(&lo->plh_inode->i_lock); in pnfs_choose_layoutget_stateid()
862 send_layoutget(struct pnfs_layout_hdr *lo, in send_layoutget() argument
867 struct inode *ino = lo->plh_inode; in send_layoutget()
902 lgp->cred = lo->plh_lc_cred; in send_layoutget()
914 pnfs_layout_io_set_failed(lo, range->iomode); in send_layoutget()
918 pnfs_layout_clear_fail_bit(lo, in send_layoutget()
939 void pnfs_clear_layoutreturn_waitbit(struct pnfs_layout_hdr *lo) in pnfs_clear_layoutreturn_waitbit() argument
941 clear_bit_unlock(NFS_LAYOUT_RETURN, &lo->plh_flags); in pnfs_clear_layoutreturn_waitbit()
943 wake_up_bit(&lo->plh_flags, NFS_LAYOUT_RETURN); in pnfs_clear_layoutreturn_waitbit()
944 rpc_wake_up(&NFS_SERVER(lo->plh_inode)->roc_rpcwaitq); in pnfs_clear_layoutreturn_waitbit()
948 pnfs_send_layoutreturn(struct pnfs_layout_hdr *lo, nfs4_stateid stateid, in pnfs_send_layoutreturn() argument
951 struct inode *ino = lo->plh_inode; in pnfs_send_layoutreturn()
959 pnfs_clear_layoutreturn_waitbit(lo); in pnfs_send_layoutreturn()
961 pnfs_put_layout_hdr(lo); in pnfs_send_layoutreturn()
971 lrp->args.layout = lo; in pnfs_send_layoutreturn()
973 lrp->cred = lo->plh_lc_cred; in pnfs_send_layoutreturn()
992 struct pnfs_layout_hdr *lo = NULL; in _pnfs_return_layout() local
1002 lo = nfsi->layout; in _pnfs_return_layout()
1003 if (!lo) { in _pnfs_return_layout()
1010 pnfs_get_layout_hdr(lo); in _pnfs_return_layout()
1011 empty = list_empty(&lo->plh_segs); in _pnfs_return_layout()
1013 pnfs_mark_matching_lsegs_invalid(lo, &tmp_list, NULL); in _pnfs_return_layout()
1021 NFS_SERVER(ino)->pnfs_curr_ld->return_range(lo, &range); in _pnfs_return_layout()
1031 set_bit(NFS_LAYOUT_INVALID_STID, &lo->plh_flags); in _pnfs_return_layout()
1032 send = pnfs_prepare_layoutreturn(lo); in _pnfs_return_layout()
1036 status = pnfs_send_layoutreturn(lo, stateid, IOMODE_ANY, true); in _pnfs_return_layout()
1038 pnfs_put_layout_hdr(lo); in _pnfs_return_layout()
1048 struct pnfs_layout_hdr *lo; in pnfs_commit_and_return_layout() local
1052 lo = NFS_I(inode)->layout; in pnfs_commit_and_return_layout()
1053 if (lo == NULL) { in pnfs_commit_and_return_layout()
1057 pnfs_get_layout_hdr(lo); in pnfs_commit_and_return_layout()
1059 lo->plh_block_lgets++; in pnfs_commit_and_return_layout()
1066 lo->plh_block_lgets--; in pnfs_commit_and_return_layout()
1068 pnfs_put_layout_hdr(lo); in pnfs_commit_and_return_layout()
1077 struct pnfs_layout_hdr *lo; in pnfs_roc() local
1084 lo = nfsi->layout; in pnfs_roc()
1085 if (!lo || test_bit(NFS_LAYOUT_BULK_RECALL, &lo->plh_flags)) in pnfs_roc()
1099 stateid = lo->plh_stateid; in pnfs_roc()
1102 &lo->plh_flags)) in pnfs_roc()
1103 layoutreturn = pnfs_prepare_layoutreturn(lo); in pnfs_roc()
1105 pnfs_clear_retry_layoutget(lo); in pnfs_roc()
1106 list_for_each_entry_safe(lseg, tmp, &lo->plh_segs, pls_list) in pnfs_roc()
1118 pnfs_get_layout_hdr(lo); in pnfs_roc()
1127 pnfs_send_layoutreturn(lo, stateid, IOMODE_ANY, true); in pnfs_roc()
1133 struct pnfs_layout_hdr *lo; in pnfs_roc_release() local
1136 lo = NFS_I(ino)->layout; in pnfs_roc_release()
1137 pnfs_clear_layoutreturn_waitbit(lo); in pnfs_roc_release()
1138 if (atomic_dec_and_test(&lo->plh_refcount)) { in pnfs_roc_release()
1139 pnfs_detach_layout_hdr(lo); in pnfs_roc_release()
1141 pnfs_free_layout_hdr(lo); in pnfs_roc_release()
1148 struct pnfs_layout_hdr *lo; in pnfs_roc_set_barrier() local
1151 lo = NFS_I(ino)->layout; in pnfs_roc_set_barrier()
1152 if (pnfs_seqid_is_newer(barrier, lo->plh_barrier)) in pnfs_roc_set_barrier()
1153 lo->plh_barrier = barrier; in pnfs_roc_set_barrier()
1161 struct pnfs_layout_hdr *lo; in pnfs_roc_get_barrier() local
1165 lo = nfsi->layout; in pnfs_roc_get_barrier()
1166 current_seqid = be32_to_cpu(lo->plh_stateid.seqid); in pnfs_roc_get_barrier()
1171 *barrier = current_seqid + atomic_read(&lo->plh_outstanding); in pnfs_roc_get_barrier()
1178 struct pnfs_layout_hdr *lo; in pnfs_wait_on_layoutreturn() local
1184 lo = nfsi->layout; in pnfs_wait_on_layoutreturn()
1185 if (lo && test_bit(NFS_LAYOUT_RETURN, &lo->plh_flags)) in pnfs_wait_on_layoutreturn()
1235 pnfs_generic_layout_insert_lseg(struct pnfs_layout_hdr *lo, in pnfs_generic_layout_insert_lseg() argument
1247 list_for_each_entry_safe(lp, tmp, &lo->plh_segs, pls_list) { in pnfs_generic_layout_insert_lseg()
1266 list_add_tail(&lseg->pls_list, &lo->plh_segs); in pnfs_generic_layout_insert_lseg()
1272 pnfs_get_layout_hdr(lo); in pnfs_generic_layout_insert_lseg()
1279 pnfs_layout_insert_lseg(struct pnfs_layout_hdr *lo, in pnfs_layout_insert_lseg() argument
1283 struct inode *inode = lo->plh_inode; in pnfs_layout_insert_lseg()
1287 ld->add_lseg(lo, lseg, free_me); in pnfs_layout_insert_lseg()
1289 pnfs_generic_layout_insert_lseg(lo, lseg, in pnfs_layout_insert_lseg()
1300 struct pnfs_layout_hdr *lo; in alloc_init_layout_hdr() local
1302 lo = pnfs_alloc_layout_hdr(ino, gfp_flags); in alloc_init_layout_hdr()
1303 if (!lo) in alloc_init_layout_hdr()
1305 atomic_set(&lo->plh_refcount, 1); in alloc_init_layout_hdr()
1306 INIT_LIST_HEAD(&lo->plh_layouts); in alloc_init_layout_hdr()
1307 INIT_LIST_HEAD(&lo->plh_segs); in alloc_init_layout_hdr()
1308 INIT_LIST_HEAD(&lo->plh_bulk_destroy); in alloc_init_layout_hdr()
1309 lo->plh_inode = ino; in alloc_init_layout_hdr()
1310 lo->plh_lc_cred = get_rpccred(ctx->cred); in alloc_init_layout_hdr()
1311 return lo; in alloc_init_layout_hdr()
1372 pnfs_find_lseg(struct pnfs_layout_hdr *lo, in pnfs_find_lseg() argument
1379 list_for_each_entry(lseg, &lo->plh_segs, pls_list) { in pnfs_find_lseg()
1476 static bool pnfs_prepare_to_retry_layoutget(struct pnfs_layout_hdr *lo) in pnfs_prepare_to_retry_layoutget() argument
1478 if (!pnfs_should_retry_layoutget(lo)) in pnfs_prepare_to_retry_layoutget()
1484 pnfs_layoutcommit_inode(lo->plh_inode, false); in pnfs_prepare_to_retry_layoutget()
1485 return !wait_on_bit_action(&lo->plh_flags, NFS_LAYOUT_RETURN, in pnfs_prepare_to_retry_layoutget()
1490 static void pnfs_clear_first_layoutget(struct pnfs_layout_hdr *lo) in pnfs_clear_first_layoutget() argument
1492 unsigned long *bitlock = &lo->plh_flags; in pnfs_clear_first_layoutget()
1519 struct pnfs_layout_hdr *lo; in pnfs_update_layout() local
1535 lo = pnfs_find_alloc_layout(ino, ctx, gfp_flags); in pnfs_update_layout()
1536 if (lo == NULL) { in pnfs_update_layout()
1542 if (test_bit(NFS_LAYOUT_BULK_RECALL, &lo->plh_flags)) { in pnfs_update_layout()
1548 if (pnfs_layout_io_test_failed(lo, iomode) && in pnfs_update_layout()
1549 !pnfs_should_retry_layoutget(lo)) in pnfs_update_layout()
1552 first = list_empty(&lo->plh_segs); in pnfs_update_layout()
1558 &lo->plh_flags)) { in pnfs_update_layout()
1560 wait_on_bit(&lo->plh_flags, NFS_LAYOUT_FIRST_LAYOUTGET, in pnfs_update_layout()
1562 pnfs_put_layout_hdr(lo); in pnfs_update_layout()
1569 lseg = pnfs_find_lseg(lo, &arg); in pnfs_update_layout()
1578 if (test_bit(NFS_LAYOUT_RETURN, &lo->plh_flags)) { in pnfs_update_layout()
1581 if (pnfs_prepare_to_retry_layoutget(lo)) { in pnfs_update_layout()
1583 pnfs_clear_first_layoutget(lo); in pnfs_update_layout()
1584 pnfs_put_layout_hdr(lo); in pnfs_update_layout()
1591 if (pnfs_layoutgets_blocked(lo)) in pnfs_update_layout()
1593 atomic_inc(&lo->plh_outstanding); in pnfs_update_layout()
1596 if (list_empty(&lo->plh_layouts)) { in pnfs_update_layout()
1601 if (list_empty(&lo->plh_layouts)) in pnfs_update_layout()
1602 list_add_tail(&lo->plh_layouts, &server->layouts); in pnfs_update_layout()
1614 lseg = send_layoutget(lo, ctx, &arg, gfp_flags); in pnfs_update_layout()
1615 pnfs_clear_retry_layoutget(lo); in pnfs_update_layout()
1616 atomic_dec(&lo->plh_outstanding); in pnfs_update_layout()
1619 pnfs_clear_first_layoutget(lo); in pnfs_update_layout()
1620 pnfs_put_layout_hdr(lo); in pnfs_update_layout()
1660 struct pnfs_layout_hdr *lo = NFS_I(lgp->args.inode)->layout; in pnfs_layout_process() local
1663 struct inode *ino = lo->plh_inode; in pnfs_layout_process()
1671 lseg = NFS_SERVER(ino)->pnfs_curr_ld->alloc_lseg(lo, res, lgp->gfp_flags); in pnfs_layout_process()
1682 init_lseg(lo, lseg); in pnfs_layout_process()
1686 if (pnfs_layoutgets_blocked(lo)) { in pnfs_layout_process()
1691 if (nfs4_stateid_match_other(&lo->plh_stateid, &res->stateid)) { in pnfs_layout_process()
1693 if (pnfs_layout_stateid_blocked(lo, &res->stateid)) { in pnfs_layout_process()
1698 pnfs_set_layout_stateid(lo, &res->stateid, false); in pnfs_layout_process()
1705 pnfs_mark_matching_lsegs_invalid(lo, &free_me, NULL); in pnfs_layout_process()
1707 nfs4_stateid_copy(&lo->plh_stateid, &res->stateid); in pnfs_layout_process()
1708 lo->plh_barrier = be32_to_cpu(res->stateid.seqid); in pnfs_layout_process()
1711 clear_bit(NFS_LAYOUT_INVALID_STID, &lo->plh_flags); in pnfs_layout_process()
1714 pnfs_layout_insert_lseg(lo, lseg, &free_me); in pnfs_layout_process()
1727 lseg->pls_layout = lo; in pnfs_layout_process()
1733 pnfs_mark_matching_lsegs_return(struct pnfs_layout_hdr *lo, in pnfs_mark_matching_lsegs_return() argument
1739 dprintk("%s:Begin lo %p\n", __func__, lo); in pnfs_mark_matching_lsegs_return()
1741 if (list_empty(&lo->plh_segs)) in pnfs_mark_matching_lsegs_return()
1744 list_for_each_entry_safe(lseg, next, &lo->plh_segs, pls_list) in pnfs_mark_matching_lsegs_return()
1754 &lo->plh_flags); in pnfs_mark_matching_lsegs_return()
1761 struct pnfs_layout_hdr *lo = NFS_I(inode)->layout; in pnfs_error_mark_layout_for_return() local
1772 pnfs_layout_set_fail_bit(lo, iomode); in pnfs_error_mark_layout_for_return()
1773 if (lo->plh_return_iomode == 0) in pnfs_error_mark_layout_for_return()
1774 lo->plh_return_iomode = range.iomode; in pnfs_error_mark_layout_for_return()
1775 else if (lo->plh_return_iomode != range.iomode) in pnfs_error_mark_layout_for_return()
1776 lo->plh_return_iomode = IOMODE_ANY; in pnfs_error_mark_layout_for_return()
1782 pnfs_mark_matching_lsegs_return(lo, &free_me, &range); in pnfs_error_mark_layout_for_return()