Lines Matching refs:lo
55 pnfs_send_layoutreturn(struct pnfs_layout_hdr *lo, nfs4_stateid stateid,
200 pnfs_get_layout_hdr(struct pnfs_layout_hdr *lo) in pnfs_get_layout_hdr() argument
202 atomic_inc(&lo->plh_refcount); in pnfs_get_layout_hdr()
213 pnfs_free_layout_hdr(struct pnfs_layout_hdr *lo) in pnfs_free_layout_hdr() argument
215 struct nfs_server *server = NFS_SERVER(lo->plh_inode); in pnfs_free_layout_hdr()
218 if (!list_empty(&lo->plh_layouts)) { in pnfs_free_layout_hdr()
222 list_del_init(&lo->plh_layouts); in pnfs_free_layout_hdr()
225 put_rpccred(lo->plh_lc_cred); in pnfs_free_layout_hdr()
226 return ld->free_layout_hdr(lo); in pnfs_free_layout_hdr()
230 pnfs_detach_layout_hdr(struct pnfs_layout_hdr *lo) in pnfs_detach_layout_hdr() argument
232 struct nfs_inode *nfsi = NFS_I(lo->plh_inode); in pnfs_detach_layout_hdr()
233 dprintk("%s: freeing layout cache %p\n", __func__, lo); in pnfs_detach_layout_hdr()
241 pnfs_put_layout_hdr(struct pnfs_layout_hdr *lo) in pnfs_put_layout_hdr() argument
243 struct inode *inode = lo->plh_inode; in pnfs_put_layout_hdr()
245 if (atomic_dec_and_lock(&lo->plh_refcount, &inode->i_lock)) { in pnfs_put_layout_hdr()
246 if (!list_empty(&lo->plh_segs)) in pnfs_put_layout_hdr()
248 pnfs_detach_layout_hdr(lo); in pnfs_put_layout_hdr()
250 pnfs_free_layout_hdr(lo); in pnfs_put_layout_hdr()
262 pnfs_layout_set_fail_bit(struct pnfs_layout_hdr *lo, int fail_bit) in pnfs_layout_set_fail_bit() argument
264 lo->plh_retry_timestamp = jiffies; in pnfs_layout_set_fail_bit()
265 if (!test_and_set_bit(fail_bit, &lo->plh_flags)) in pnfs_layout_set_fail_bit()
266 atomic_inc(&lo->plh_refcount); in pnfs_layout_set_fail_bit()
270 pnfs_layout_clear_fail_bit(struct pnfs_layout_hdr *lo, int fail_bit) in pnfs_layout_clear_fail_bit() argument
272 if (test_and_clear_bit(fail_bit, &lo->plh_flags)) in pnfs_layout_clear_fail_bit()
273 atomic_dec(&lo->plh_refcount); in pnfs_layout_clear_fail_bit()
277 pnfs_layout_io_set_failed(struct pnfs_layout_hdr *lo, u32 iomode) in pnfs_layout_io_set_failed() argument
279 struct inode *inode = lo->plh_inode; in pnfs_layout_io_set_failed()
288 pnfs_layout_set_fail_bit(lo, pnfs_iomode_to_fail_bit(iomode)); in pnfs_layout_io_set_failed()
289 pnfs_mark_matching_lsegs_invalid(lo, &head, &range); in pnfs_layout_io_set_failed()
297 pnfs_layout_io_test_failed(struct pnfs_layout_hdr *lo, u32 iomode) in pnfs_layout_io_test_failed() argument
302 if (test_bit(fail_bit, &lo->plh_flags) == 0) in pnfs_layout_io_test_failed()
306 if (!time_in_range(lo->plh_retry_timestamp, start, end)) { in pnfs_layout_io_test_failed()
308 pnfs_layout_clear_fail_bit(lo, fail_bit); in pnfs_layout_io_test_failed()
315 init_lseg(struct pnfs_layout_hdr *lo, struct pnfs_layout_segment *lseg) in init_lseg() argument
322 lseg->pls_layout = lo; in init_lseg()
333 pnfs_layout_remove_lseg(struct pnfs_layout_hdr *lo, in pnfs_layout_remove_lseg() argument
336 struct inode *inode = lo->plh_inode; in pnfs_layout_remove_lseg()
341 atomic_dec(&lo->plh_refcount); in pnfs_layout_remove_lseg()
342 if (list_empty(&lo->plh_segs)) in pnfs_layout_remove_lseg()
343 clear_bit(NFS_LAYOUT_BULK_RECALL, &lo->plh_flags); in pnfs_layout_remove_lseg()
349 pnfs_layout_need_return(struct pnfs_layout_hdr *lo, in pnfs_layout_need_return() argument
357 list_for_each_entry(s, &lo->plh_segs, pls_list) in pnfs_layout_need_return()
365 struct pnfs_layout_hdr *lo, struct inode *inode) in pnfs_layoutreturn_before_put_lseg() argument
367 lo = lseg->pls_layout; in pnfs_layoutreturn_before_put_lseg()
368 inode = lo->plh_inode; in pnfs_layoutreturn_before_put_lseg()
371 if (pnfs_layout_need_return(lo, lseg)) { in pnfs_layoutreturn_before_put_lseg()
375 stateid = lo->plh_stateid; in pnfs_layoutreturn_before_put_lseg()
376 iomode = lo->plh_return_iomode; in pnfs_layoutreturn_before_put_lseg()
378 lo->plh_block_lgets++; in pnfs_layoutreturn_before_put_lseg()
379 lo->plh_return_iomode = 0; in pnfs_layoutreturn_before_put_lseg()
381 pnfs_get_layout_hdr(lo); in pnfs_layoutreturn_before_put_lseg()
384 pnfs_send_layoutreturn(lo, stateid, iomode, false); in pnfs_layoutreturn_before_put_lseg()
392 struct pnfs_layout_hdr *lo; in pnfs_put_lseg() local
406 lo = lseg->pls_layout; in pnfs_put_lseg()
407 inode = lo->plh_inode; in pnfs_put_lseg()
410 pnfs_layoutreturn_before_put_lseg(lseg, lo, inode); in pnfs_put_lseg()
413 pnfs_get_layout_hdr(lo); in pnfs_put_lseg()
414 pnfs_layout_remove_lseg(lo, lseg); in pnfs_put_lseg()
417 pnfs_put_layout_hdr(lo); in pnfs_put_lseg()
425 struct pnfs_layout_hdr *lo; in pnfs_free_lseg_async_work() local
428 lo = lseg->pls_layout; in pnfs_free_lseg_async_work()
431 pnfs_put_layout_hdr(lo); in pnfs_free_lseg_async_work()
452 struct pnfs_layout_hdr *lo = lseg->pls_layout; in pnfs_put_lseg_locked() local
453 pnfs_get_layout_hdr(lo); in pnfs_put_lseg_locked()
454 pnfs_layout_remove_lseg(lo, lseg); in pnfs_put_lseg_locked()
550 pnfs_mark_matching_lsegs_invalid(struct pnfs_layout_hdr *lo, in pnfs_mark_matching_lsegs_invalid() argument
557 dprintk("%s:Begin lo %p\n", __func__, lo); in pnfs_mark_matching_lsegs_invalid()
559 if (list_empty(&lo->plh_segs)) in pnfs_mark_matching_lsegs_invalid()
561 list_for_each_entry_safe(lseg, next, &lo->plh_segs, pls_list) in pnfs_mark_matching_lsegs_invalid()
593 struct pnfs_layout_hdr *lo; in pnfs_destroy_layout() local
597 lo = nfsi->layout; in pnfs_destroy_layout()
598 if (lo) { in pnfs_destroy_layout()
599 lo->plh_block_lgets++; /* permanently block new LAYOUTGETs */ in pnfs_destroy_layout()
600 pnfs_mark_matching_lsegs_invalid(lo, &tmp_list, NULL); in pnfs_destroy_layout()
601 pnfs_get_layout_hdr(lo); in pnfs_destroy_layout()
602 pnfs_layout_clear_fail_bit(lo, NFS_LAYOUT_RO_FAILED); in pnfs_destroy_layout()
603 pnfs_layout_clear_fail_bit(lo, NFS_LAYOUT_RW_FAILED); in pnfs_destroy_layout()
604 pnfs_clear_retry_layoutget(lo); in pnfs_destroy_layout()
607 pnfs_put_layout_hdr(lo); in pnfs_destroy_layout()
617 struct pnfs_layout_hdr *lo; in pnfs_layout_add_bulk_destroy_list() local
621 lo = NFS_I(inode)->layout; in pnfs_layout_add_bulk_destroy_list()
622 if (lo != NULL && list_empty(&lo->plh_bulk_destroy)) { in pnfs_layout_add_bulk_destroy_list()
623 pnfs_get_layout_hdr(lo); in pnfs_layout_add_bulk_destroy_list()
624 list_add(&lo->plh_bulk_destroy, layout_list); in pnfs_layout_add_bulk_destroy_list()
637 struct pnfs_layout_hdr *lo, *next; in pnfs_layout_bulk_destroy_byserver_locked() local
640 list_for_each_entry_safe(lo, next, &server->layouts, plh_layouts) { in pnfs_layout_bulk_destroy_byserver_locked()
641 inode = igrab(lo->plh_inode); in pnfs_layout_bulk_destroy_byserver_locked()
644 list_del_init(&lo->plh_layouts); in pnfs_layout_bulk_destroy_byserver_locked()
661 struct pnfs_layout_hdr *lo; in pnfs_layout_free_bulk_destroy_list() local
672 lo = list_entry(layout_list->next, struct pnfs_layout_hdr, in pnfs_layout_free_bulk_destroy_list()
675 lo->plh_inode->i_ino); in pnfs_layout_free_bulk_destroy_list()
676 inode = lo->plh_inode; in pnfs_layout_free_bulk_destroy_list()
681 list_del_init(&lo->plh_bulk_destroy); in pnfs_layout_free_bulk_destroy_list()
682 lo->plh_block_lgets++; /* permanently block new LAYOUTGETs */ in pnfs_layout_free_bulk_destroy_list()
684 set_bit(NFS_LAYOUT_BULK_RECALL, &lo->plh_flags); in pnfs_layout_free_bulk_destroy_list()
685 if (pnfs_mark_matching_lsegs_invalid(lo, &lseg_list, &range)) in pnfs_layout_free_bulk_destroy_list()
689 pnfs_put_layout_hdr(lo); in pnfs_layout_free_bulk_destroy_list()
770 pnfs_set_layout_stateid(struct pnfs_layout_hdr *lo, const nfs4_stateid *new, in pnfs_set_layout_stateid() argument
774 int empty = list_empty(&lo->plh_segs); in pnfs_set_layout_stateid()
776 oldseq = be32_to_cpu(lo->plh_stateid.seqid); in pnfs_set_layout_stateid()
779 nfs4_stateid_copy(&lo->plh_stateid, new); in pnfs_set_layout_stateid()
786 new_barrier = newseq - atomic_read(&lo->plh_outstanding); in pnfs_set_layout_stateid()
788 if (empty || pnfs_seqid_is_newer(new_barrier, lo->plh_barrier)) in pnfs_set_layout_stateid()
789 lo->plh_barrier = new_barrier; in pnfs_set_layout_stateid()
794 pnfs_layout_stateid_blocked(const struct pnfs_layout_hdr *lo, in pnfs_layout_stateid_blocked() argument
799 return !pnfs_seqid_is_newer(seqid, lo->plh_barrier); in pnfs_layout_stateid_blocked()
803 pnfs_layout_returning(const struct pnfs_layout_hdr *lo, in pnfs_layout_returning() argument
806 return test_bit(NFS_LAYOUT_RETURN, &lo->plh_flags) && in pnfs_layout_returning()
807 (lo->plh_return_iomode == IOMODE_ANY || in pnfs_layout_returning()
808 lo->plh_return_iomode == range->iomode); in pnfs_layout_returning()
813 pnfs_layoutgets_blocked(const struct pnfs_layout_hdr *lo, in pnfs_layoutgets_blocked() argument
816 return lo->plh_block_lgets || in pnfs_layoutgets_blocked()
817 test_bit(NFS_LAYOUT_BULK_RECALL, &lo->plh_flags) || in pnfs_layoutgets_blocked()
818 (list_empty(&lo->plh_segs) && in pnfs_layoutgets_blocked()
819 (atomic_read(&lo->plh_outstanding) > lget)) || in pnfs_layoutgets_blocked()
820 pnfs_layout_returning(lo, range); in pnfs_layoutgets_blocked()
824 pnfs_choose_layoutget_stateid(nfs4_stateid *dst, struct pnfs_layout_hdr *lo, in pnfs_choose_layoutget_stateid() argument
831 spin_lock(&lo->plh_inode->i_lock); in pnfs_choose_layoutget_stateid()
832 if (pnfs_layoutgets_blocked(lo, range, 1)) { in pnfs_choose_layoutget_stateid()
836 } else if (list_empty(&lo->plh_segs) || in pnfs_choose_layoutget_stateid()
837 test_bit(NFS_LAYOUT_INVALID_STID, &lo->plh_flags)) { in pnfs_choose_layoutget_stateid()
845 nfs4_stateid_copy(dst, &lo->plh_stateid); in pnfs_choose_layoutget_stateid()
846 spin_unlock(&lo->plh_inode->i_lock); in pnfs_choose_layoutget_stateid()
858 send_layoutget(struct pnfs_layout_hdr *lo, in send_layoutget() argument
863 struct inode *ino = lo->plh_inode; in send_layoutget()
883 lgp->cred = lo->plh_lc_cred; in send_layoutget()
896 pnfs_layout_io_set_failed(lo, range->iomode); in send_layoutget()
900 pnfs_layout_clear_fail_bit(lo, in send_layoutget()
921 void pnfs_clear_layoutreturn_waitbit(struct pnfs_layout_hdr *lo) in pnfs_clear_layoutreturn_waitbit() argument
923 clear_bit_unlock(NFS_LAYOUT_RETURN, &lo->plh_flags); in pnfs_clear_layoutreturn_waitbit()
925 wake_up_bit(&lo->plh_flags, NFS_LAYOUT_RETURN); in pnfs_clear_layoutreturn_waitbit()
929 pnfs_send_layoutreturn(struct pnfs_layout_hdr *lo, nfs4_stateid stateid, in pnfs_send_layoutreturn() argument
932 struct inode *ino = lo->plh_inode; in pnfs_send_layoutreturn()
940 lo->plh_block_lgets--; in pnfs_send_layoutreturn()
941 pnfs_clear_layoutreturn_waitbit(lo); in pnfs_send_layoutreturn()
944 pnfs_put_layout_hdr(lo); in pnfs_send_layoutreturn()
954 lrp->args.layout = lo; in pnfs_send_layoutreturn()
956 lrp->cred = lo->plh_lc_cred; in pnfs_send_layoutreturn()
975 struct pnfs_layout_hdr *lo = NULL; in _pnfs_return_layout() local
984 lo = nfsi->layout; in _pnfs_return_layout()
985 if (!lo) { in _pnfs_return_layout()
992 pnfs_get_layout_hdr(lo); in _pnfs_return_layout()
993 empty = list_empty(&lo->plh_segs); in _pnfs_return_layout()
995 pnfs_mark_matching_lsegs_invalid(lo, &tmp_list, NULL); in _pnfs_return_layout()
1003 NFS_SERVER(ino)->pnfs_curr_ld->return_range(lo, &range); in _pnfs_return_layout()
1009 pnfs_put_layout_hdr(lo); in _pnfs_return_layout()
1014 set_bit(NFS_LAYOUT_INVALID_STID, &lo->plh_flags); in _pnfs_return_layout()
1015 lo->plh_block_lgets++; in _pnfs_return_layout()
1019 status = pnfs_send_layoutreturn(lo, stateid, IOMODE_ANY, true); in _pnfs_return_layout()
1029 struct pnfs_layout_hdr *lo; in pnfs_commit_and_return_layout() local
1033 lo = NFS_I(inode)->layout; in pnfs_commit_and_return_layout()
1034 if (lo == NULL) { in pnfs_commit_and_return_layout()
1038 pnfs_get_layout_hdr(lo); in pnfs_commit_and_return_layout()
1040 lo->plh_block_lgets++; in pnfs_commit_and_return_layout()
1047 lo->plh_block_lgets--; in pnfs_commit_and_return_layout()
1049 pnfs_put_layout_hdr(lo); in pnfs_commit_and_return_layout()
1058 struct pnfs_layout_hdr *lo; in pnfs_roc() local
1065 lo = nfsi->layout; in pnfs_roc()
1066 if (!lo || !test_and_clear_bit(NFS_LAYOUT_ROC, &lo->plh_flags) || in pnfs_roc()
1067 test_bit(NFS_LAYOUT_BULK_RECALL, &lo->plh_flags)) in pnfs_roc()
1081 pnfs_clear_retry_layoutget(lo); in pnfs_roc()
1082 list_for_each_entry_safe(lseg, tmp, &lo->plh_segs, pls_list) in pnfs_roc()
1089 lo->plh_block_lgets++; in pnfs_roc()
1090 pnfs_get_layout_hdr(lo); /* matched in pnfs_roc_release */ in pnfs_roc()
1097 if (lo) { in pnfs_roc()
1098 stateid = lo->plh_stateid; in pnfs_roc()
1101 &lo->plh_flags); in pnfs_roc()
1103 lo->plh_block_lgets++; in pnfs_roc()
1104 pnfs_get_layout_hdr(lo); in pnfs_roc()
1110 pnfs_send_layoutreturn(lo, stateid, IOMODE_ANY, true); in pnfs_roc()
1117 struct pnfs_layout_hdr *lo; in pnfs_roc_release() local
1120 lo = NFS_I(ino)->layout; in pnfs_roc_release()
1121 lo->plh_block_lgets--; in pnfs_roc_release()
1122 if (atomic_dec_and_test(&lo->plh_refcount)) { in pnfs_roc_release()
1123 pnfs_detach_layout_hdr(lo); in pnfs_roc_release()
1125 pnfs_free_layout_hdr(lo); in pnfs_roc_release()
1132 struct pnfs_layout_hdr *lo; in pnfs_roc_set_barrier() local
1135 lo = NFS_I(ino)->layout; in pnfs_roc_set_barrier()
1136 if (pnfs_seqid_is_newer(barrier, lo->plh_barrier)) in pnfs_roc_set_barrier()
1137 lo->plh_barrier = barrier; in pnfs_roc_set_barrier()
1144 struct pnfs_layout_hdr *lo; in pnfs_roc_drain() local
1157 lo = nfsi->layout; in pnfs_roc_drain()
1158 current_seqid = be32_to_cpu(lo->plh_stateid.seqid); in pnfs_roc_drain()
1163 *barrier = current_seqid + atomic_read(&lo->plh_outstanding); in pnfs_roc_drain()
1166 stateid = lo->plh_stateid; in pnfs_roc_drain()
1169 &lo->plh_flags); in pnfs_roc_drain()
1171 lo->plh_block_lgets++; in pnfs_roc_drain()
1172 pnfs_get_layout_hdr(lo); in pnfs_roc_drain()
1178 pnfs_send_layoutreturn(lo, stateid, IOMODE_ANY, false); in pnfs_roc_drain()
1209 pnfs_layout_insert_lseg(struct pnfs_layout_hdr *lo, in pnfs_layout_insert_lseg() argument
1216 list_for_each_entry(lp, &lo->plh_segs, pls_list) { in pnfs_layout_insert_lseg()
1229 list_add_tail(&lseg->pls_list, &lo->plh_segs); in pnfs_layout_insert_lseg()
1235 pnfs_get_layout_hdr(lo); in pnfs_layout_insert_lseg()
1245 struct pnfs_layout_hdr *lo; in alloc_init_layout_hdr() local
1247 lo = pnfs_alloc_layout_hdr(ino, gfp_flags); in alloc_init_layout_hdr()
1248 if (!lo) in alloc_init_layout_hdr()
1250 atomic_set(&lo->plh_refcount, 1); in alloc_init_layout_hdr()
1251 INIT_LIST_HEAD(&lo->plh_layouts); in alloc_init_layout_hdr()
1252 INIT_LIST_HEAD(&lo->plh_segs); in alloc_init_layout_hdr()
1253 INIT_LIST_HEAD(&lo->plh_bulk_destroy); in alloc_init_layout_hdr()
1254 lo->plh_inode = ino; in alloc_init_layout_hdr()
1255 lo->plh_lc_cred = get_rpccred(ctx->cred); in alloc_init_layout_hdr()
1256 return lo; in alloc_init_layout_hdr()
1317 pnfs_find_lseg(struct pnfs_layout_hdr *lo, in pnfs_find_lseg() argument
1324 list_for_each_entry(lseg, &lo->plh_segs, pls_list) { in pnfs_find_lseg()
1423 static bool pnfs_prepare_to_retry_layoutget(struct pnfs_layout_hdr *lo) in pnfs_prepare_to_retry_layoutget() argument
1429 pnfs_layoutcommit_inode(lo->plh_inode, false); in pnfs_prepare_to_retry_layoutget()
1430 return !wait_on_bit_action(&lo->plh_flags, NFS_LAYOUT_RETURN, in pnfs_prepare_to_retry_layoutget()
1435 static void pnfs_clear_first_layoutget(struct pnfs_layout_hdr *lo) in pnfs_clear_first_layoutget() argument
1437 unsigned long *bitlock = &lo->plh_flags; in pnfs_clear_first_layoutget()
1464 struct pnfs_layout_hdr *lo; in pnfs_update_layout() local
1477 lo = pnfs_find_alloc_layout(ino, ctx, gfp_flags); in pnfs_update_layout()
1478 if (lo == NULL) { in pnfs_update_layout()
1484 if (test_bit(NFS_LAYOUT_BULK_RECALL, &lo->plh_flags)) { in pnfs_update_layout()
1490 if (pnfs_layout_io_test_failed(lo, iomode) && in pnfs_update_layout()
1491 !pnfs_should_retry_layoutget(lo)) in pnfs_update_layout()
1494 first = list_empty(&lo->plh_segs); in pnfs_update_layout()
1500 &lo->plh_flags)) { in pnfs_update_layout()
1502 wait_on_bit(&lo->plh_flags, NFS_LAYOUT_FIRST_LAYOUTGET, in pnfs_update_layout()
1504 pnfs_put_layout_hdr(lo); in pnfs_update_layout()
1511 lseg = pnfs_find_lseg(lo, &arg); in pnfs_update_layout()
1520 if (!lseg && pnfs_should_retry_layoutget(lo) && in pnfs_update_layout()
1521 test_bit(NFS_LAYOUT_RETURN, &lo->plh_flags)) { in pnfs_update_layout()
1524 if (pnfs_prepare_to_retry_layoutget(lo)) { in pnfs_update_layout()
1526 pnfs_clear_first_layoutget(lo); in pnfs_update_layout()
1527 pnfs_put_layout_hdr(lo); in pnfs_update_layout()
1534 if (pnfs_layoutgets_blocked(lo, &arg, 0)) in pnfs_update_layout()
1536 atomic_inc(&lo->plh_outstanding); in pnfs_update_layout()
1539 if (list_empty(&lo->plh_layouts)) { in pnfs_update_layout()
1544 if (list_empty(&lo->plh_layouts)) in pnfs_update_layout()
1545 list_add_tail(&lo->plh_layouts, &server->layouts); in pnfs_update_layout()
1557 lseg = send_layoutget(lo, ctx, &arg, gfp_flags); in pnfs_update_layout()
1558 pnfs_clear_retry_layoutget(lo); in pnfs_update_layout()
1559 atomic_dec(&lo->plh_outstanding); in pnfs_update_layout()
1562 pnfs_clear_first_layoutget(lo); in pnfs_update_layout()
1563 pnfs_put_layout_hdr(lo); in pnfs_update_layout()
1583 struct pnfs_layout_hdr *lo = NFS_I(lgp->args.inode)->layout; in pnfs_layout_process() local
1586 struct inode *ino = lo->plh_inode; in pnfs_layout_process()
1591 lseg = NFS_SERVER(ino)->pnfs_curr_ld->alloc_lseg(lo, res, lgp->gfp_flags); in pnfs_layout_process()
1602 init_lseg(lo, lseg); in pnfs_layout_process()
1606 if (test_bit(NFS_LAYOUT_BULK_RECALL, &lo->plh_flags)) { in pnfs_layout_process()
1611 if (pnfs_layoutgets_blocked(lo, &lgp->args.range, 1)) { in pnfs_layout_process()
1616 if (nfs4_stateid_match_other(&lo->plh_stateid, &res->stateid)) { in pnfs_layout_process()
1618 if (pnfs_layout_stateid_blocked(lo, &res->stateid)) { in pnfs_layout_process()
1622 pnfs_set_layout_stateid(lo, &res->stateid, false); in pnfs_layout_process()
1629 pnfs_mark_matching_lsegs_invalid(lo, &free_me, NULL); in pnfs_layout_process()
1631 nfs4_stateid_copy(&lo->plh_stateid, &res->stateid); in pnfs_layout_process()
1632 lo->plh_barrier = be32_to_cpu(res->stateid.seqid); in pnfs_layout_process()
1635 clear_bit(NFS_LAYOUT_INVALID_STID, &lo->plh_flags); in pnfs_layout_process()
1638 pnfs_layout_insert_lseg(lo, lseg); in pnfs_layout_process()
1642 set_bit(NFS_LAYOUT_ROC, &lo->plh_flags); in pnfs_layout_process()
1653 lseg->pls_layout = lo; in pnfs_layout_process()
1659 pnfs_mark_matching_lsegs_return(struct pnfs_layout_hdr *lo, in pnfs_mark_matching_lsegs_return() argument
1665 dprintk("%s:Begin lo %p\n", __func__, lo); in pnfs_mark_matching_lsegs_return()
1667 if (list_empty(&lo->plh_segs)) in pnfs_mark_matching_lsegs_return()
1670 list_for_each_entry_safe(lseg, next, &lo->plh_segs, pls_list) in pnfs_mark_matching_lsegs_return()
1685 struct pnfs_layout_hdr *lo = NFS_I(inode)->layout; in pnfs_error_mark_layout_for_return() local
1696 pnfs_layout_set_fail_bit(lo, iomode); in pnfs_error_mark_layout_for_return()
1697 set_bit(NFS_LAYOUT_RETURN, &lo->plh_flags); in pnfs_error_mark_layout_for_return()
1698 if (lo->plh_return_iomode == 0) in pnfs_error_mark_layout_for_return()
1699 lo->plh_return_iomode = range.iomode; in pnfs_error_mark_layout_for_return()
1700 else if (lo->plh_return_iomode != range.iomode) in pnfs_error_mark_layout_for_return()
1701 lo->plh_return_iomode = IOMODE_ANY; in pnfs_error_mark_layout_for_return()
1707 pnfs_mark_matching_lsegs_return(lo, &free_me, &range); in pnfs_error_mark_layout_for_return()