Lines Matching full:context
55 struct xfs_attr_list_context *context) in xfs_attr_shortform_list() argument
57 struct xfs_attrlist_cursor_kern *cursor = &context->cursor; in xfs_attr_shortform_list()
58 struct xfs_inode *dp = context->dp; in xfs_attr_shortform_list()
69 trace_xfs_attr_list_sf(context); in xfs_attr_shortform_list()
80 if (context->bufsize == 0 || in xfs_attr_shortform_list()
82 (dp->i_af.if_bytes + sf->count * 16) < context->bufsize)) { in xfs_attr_shortform_list()
84 if (XFS_IS_CORRUPT(context->dp->i_mount, in xfs_attr_shortform_list()
88 xfs_dirattr_mark_sick(context->dp, XFS_ATTR_FORK); in xfs_attr_shortform_list()
91 context->put_listent(context, in xfs_attr_shortform_list()
101 if (context->seen_enough) in xfs_attr_shortform_list()
105 trace_xfs_attr_list_sf_all(context); in xfs_attr_shortform_list()
110 if (context->bufsize == 0) in xfs_attr_shortform_list()
132 context->dp->i_mount, sfe, in xfs_attr_shortform_list()
187 if (XFS_IS_CORRUPT(context->dp->i_mount, in xfs_attr_shortform_list()
190 xfs_dirattr_mark_sick(context->dp, XFS_ATTR_FORK); in xfs_attr_shortform_list()
194 context->put_listent(context, in xfs_attr_shortform_list()
200 if (context->seen_enough) in xfs_attr_shortform_list()
215 struct xfs_attr_list_context *context, in xfs_attr_node_list_lookup() argument
222 struct xfs_inode *dp = context->dp; in xfs_attr_node_list_lookup()
224 struct xfs_trans *tp = context->tp; in xfs_attr_node_list_lookup()
273 trace_xfs_attr_list_node_descend(context, in xfs_attr_node_list_lookup()
312 struct xfs_attr_list_context *context) in xfs_attr_node_list() argument
314 struct xfs_attrlist_cursor_kern *cursor = &context->cursor; in xfs_attr_node_list()
319 struct xfs_inode *dp = context->dp; in xfs_attr_node_list()
324 trace_xfs_attr_node_list(context); in xfs_attr_node_list()
337 error = xfs_da3_node_read(context->tp, dp, cursor->blkno, &bp, in xfs_attr_node_list()
350 trace_xfs_attr_list_wrong_blk(context); in xfs_attr_node_list()
356 xfs_trans_brelse(context->tp, bp); in xfs_attr_node_list()
365 xfs_trans_brelse(context->tp, bp); in xfs_attr_node_list()
375 trace_xfs_attr_list_wrong_blk(context); in xfs_attr_node_list()
376 xfs_trans_brelse(context->tp, bp); in xfs_attr_node_list()
380 trace_xfs_attr_list_wrong_blk(context); in xfs_attr_node_list()
381 xfs_trans_brelse(context->tp, bp); in xfs_attr_node_list()
386 trace_xfs_attr_list_wrong_blk(context); in xfs_attr_node_list()
387 xfs_trans_brelse(context->tp, bp); in xfs_attr_node_list()
399 error = xfs_attr_node_list_lookup(context, cursor, &bp); in xfs_attr_node_list()
412 error = xfs_attr3_leaf_list_int(bp, context); in xfs_attr_node_list()
416 if (context->seen_enough || leafhdr.forw == 0) in xfs_attr_node_list()
419 xfs_trans_brelse(context->tp, bp); in xfs_attr_node_list()
420 error = xfs_attr3_leaf_read(context->tp, dp, dp->i_ino, in xfs_attr_node_list()
425 xfs_trans_brelse(context->tp, bp); in xfs_attr_node_list()
435 struct xfs_attr_list_context *context) in xfs_attr3_leaf_list_int() argument
437 struct xfs_attrlist_cursor_kern *cursor = &context->cursor; in xfs_attr3_leaf_list_int()
443 struct xfs_mount *mp = context->dp->i_mount; in xfs_attr3_leaf_list_int()
445 trace_xfs_attr_list_leaf(context); in xfs_attr3_leaf_list_int()
456 if (context->resynch) { in xfs_attr3_leaf_list_int()
460 if (cursor->offset == context->dupcnt) { in xfs_attr3_leaf_list_int()
461 context->dupcnt = 0; in xfs_attr3_leaf_list_int()
464 context->dupcnt++; in xfs_attr3_leaf_list_int()
467 context->dupcnt = 0; in xfs_attr3_leaf_list_int()
472 trace_xfs_attr_list_notfound(context); in xfs_attr3_leaf_list_int()
479 context->resynch = 0; in xfs_attr3_leaf_list_int()
495 !context->allow_incomplete) in xfs_attr3_leaf_list_int()
516 if (XFS_IS_CORRUPT(context->dp->i_mount, in xfs_attr3_leaf_list_int()
519 xfs_dirattr_mark_sick(context->dp, XFS_ATTR_FORK); in xfs_attr3_leaf_list_int()
522 context->put_listent(context, entry->flags, in xfs_attr3_leaf_list_int()
524 if (context->seen_enough) in xfs_attr3_leaf_list_int()
528 trace_xfs_attr_list_leaf_end(context); in xfs_attr3_leaf_list_int()
537 struct xfs_attr_list_context *context) in xfs_attr_leaf_list() argument
542 trace_xfs_attr_leaf_list(context); in xfs_attr_leaf_list()
544 context->cursor.blkno = 0; in xfs_attr_leaf_list()
545 error = xfs_attr3_leaf_read(context->tp, context->dp, in xfs_attr_leaf_list()
546 context->dp->i_ino, 0, &bp); in xfs_attr_leaf_list()
550 error = xfs_attr3_leaf_list_int(bp, context); in xfs_attr_leaf_list()
551 xfs_trans_brelse(context->tp, bp); in xfs_attr_leaf_list()
557 struct xfs_attr_list_context *context) in xfs_attr_list_ilocked() argument
559 struct xfs_inode *dp = context->dp; in xfs_attr_list_ilocked()
570 return xfs_attr_shortform_list(context); in xfs_attr_list_ilocked()
578 return xfs_attr_leaf_list(context); in xfs_attr_list_ilocked()
579 return xfs_attr_node_list(context); in xfs_attr_list_ilocked()
584 struct xfs_attr_list_context *context) in xfs_attr_list() argument
586 struct xfs_inode *dp = context->dp; in xfs_attr_list()
596 error = xfs_attr_list_ilocked(context); in xfs_attr_list()