Home
last modified time | relevance | path

Searched refs:pag (Results 1 - 25 of 114) sorted by relevance

12345

/kernel/linux/linux-6.6/fs/xfs/libxfs/
H A Dxfs_ag.h125 static inline bool xfs_perag_ ## name (struct xfs_perag *pag) \
127 return test_bit(XFS_AGSTATE_ ## NAME, &pag->pag_opstate); \
145 struct xfs_perag *xfs_perag_hold(struct xfs_perag *pag);
146 void xfs_perag_put(struct xfs_perag *pag);
152 void xfs_perag_rele(struct xfs_perag *pag);
162 xfs_verify_agbno(struct xfs_perag *pag, xfs_agblock_t agbno) in xfs_verify_agbno() argument
164 if (agbno >= pag->block_count) in xfs_verify_agbno()
166 if (agbno <= pag->min_block) in xfs_verify_agbno()
173 struct xfs_perag *pag, in xfs_verify_agbext()
180 if (!xfs_verify_agbno(pag, agbn in xfs_verify_agbext()
172 xfs_verify_agbext( struct xfs_perag *pag, xfs_agblock_t agbno, xfs_agblock_t len) xfs_verify_agbext() argument
191 xfs_verify_agino(struct xfs_perag *pag, xfs_agino_t agino) xfs_verify_agino() argument
205 xfs_verify_agino_or_null(struct xfs_perag *pag, xfs_agino_t agino) xfs_verify_agino_or_null() argument
223 xfs_perag_next( struct xfs_perag *pag, xfs_agnumber_t *agno, xfs_agnumber_t end_agno) xfs_perag_next() argument
261 xfs_perag_next_wrap( struct xfs_perag *pag, xfs_agnumber_t *agno, xfs_agnumber_t stop_agno, xfs_agnumber_t restart_agno, xfs_agnumber_t wrap_agno) xfs_perag_next_wrap() argument
[all...]
H A Dxfs_ag_resv.c70 struct xfs_perag *pag, in xfs_ag_resv_critical()
78 avail = pag->pagf_freeblks - pag->pag_rmapbt_resv.ar_reserved; in xfs_ag_resv_critical()
79 orig = pag->pag_meta_resv.ar_asked; in xfs_ag_resv_critical()
82 avail = pag->pagf_freeblks + pag->pagf_flcount - in xfs_ag_resv_critical()
83 pag->pag_meta_resv.ar_reserved; in xfs_ag_resv_critical()
84 orig = pag->pag_rmapbt_resv.ar_asked; in xfs_ag_resv_critical()
91 trace_xfs_ag_resv_critical(pag, type, avail); in xfs_ag_resv_critical()
95 avail < pag in xfs_ag_resv_critical()
69 xfs_ag_resv_critical( struct xfs_perag *pag, enum xfs_ag_resv_type type) xfs_ag_resv_critical() argument
104 xfs_ag_resv_needed( struct xfs_perag *pag, enum xfs_ag_resv_type type) xfs_ag_resv_needed() argument
130 __xfs_ag_resv_free( struct xfs_perag *pag, enum xfs_ag_resv_type type) __xfs_ag_resv_free() argument
165 xfs_ag_resv_free( struct xfs_perag *pag) xfs_ag_resv_free() argument
179 __xfs_ag_resv_init( struct xfs_perag *pag, enum xfs_ag_resv_type type, xfs_extlen_t ask, xfs_extlen_t used) __xfs_ag_resv_init() argument
249 xfs_ag_resv_init( struct xfs_perag *pag, struct xfs_trans *tp) xfs_ag_resv_init() argument
349 xfs_ag_resv_alloc_extent( struct xfs_perag *pag, enum xfs_ag_resv_type type, struct xfs_alloc_arg *args) xfs_ag_resv_alloc_extent() argument
391 xfs_ag_resv_free_extent( struct xfs_perag *pag, enum xfs_ag_resv_type type, struct xfs_trans *tp, xfs_extlen_t len) xfs_ag_resv_free_extent() argument
[all...]
H A Dxfs_ag.c46 struct xfs_perag *pag; in xfs_perag_get() local
49 pag = radix_tree_lookup(&mp->m_perag_tree, agno); in xfs_perag_get()
50 if (pag) { in xfs_perag_get()
51 trace_xfs_perag_get(pag, _RET_IP_); in xfs_perag_get()
52 ASSERT(atomic_read(&pag->pag_ref) >= 0); in xfs_perag_get()
53 atomic_inc(&pag->pag_ref); in xfs_perag_get()
56 return pag; in xfs_perag_get()
68 struct xfs_perag *pag; in xfs_perag_get_tag() local
73 (void **)&pag, first, 1, tag); in xfs_perag_get_tag()
78 trace_xfs_perag_get_tag(pag, _RET_IP in xfs_perag_get_tag()
86 xfs_perag_hold( struct xfs_perag *pag) xfs_perag_hold() argument
98 xfs_perag_put( struct xfs_perag *pag) xfs_perag_put() argument
117 struct xfs_perag *pag; xfs_perag_grab() local
139 struct xfs_perag *pag; xfs_perag_grab_tag() local
157 xfs_perag_rele( struct xfs_perag *pag) xfs_perag_rele() argument
179 struct xfs_perag *pag; xfs_initialize_perag_data() local
241 struct xfs_perag *pag = container_of(head, struct xfs_perag, rcu_head); __xfs_free_perag() local
254 struct xfs_perag *pag; xfs_free_perag() local
342 struct xfs_perag *pag; xfs_initialize_perag() local
897 xfs_ag_shrink_space( struct xfs_perag *pag, struct xfs_trans **tpp, xfs_extlen_t delta) xfs_ag_shrink_space() argument
1028 xfs_ag_extend_space( struct xfs_perag *pag, struct xfs_trans *tp, xfs_extlen_t len) xfs_ag_extend_space() argument
1085 xfs_ag_get_geometry( struct xfs_perag *pag, struct xfs_ag_geometry *ageo) xfs_ag_get_geometry() argument
[all...]
H A Dxfs_ag_resv.h9 int xfs_ag_resv_free(struct xfs_perag *pag);
10 int xfs_ag_resv_init(struct xfs_perag *pag, struct xfs_trans *tp);
12 bool xfs_ag_resv_critical(struct xfs_perag *pag, enum xfs_ag_resv_type type);
13 xfs_extlen_t xfs_ag_resv_needed(struct xfs_perag *pag,
16 void xfs_ag_resv_alloc_extent(struct xfs_perag *pag, enum xfs_ag_resv_type type,
18 void xfs_ag_resv_free_extent(struct xfs_perag *pag, enum xfs_ag_resv_type type,
23 struct xfs_perag *pag, in xfs_perag_resv()
28 return &pag->pag_meta_resv; in xfs_perag_resv()
30 return &pag->pag_rmapbt_resv; in xfs_perag_resv()
47 struct xfs_perag *pag; in xfs_ag_resv_rmapbt_alloc() local
22 xfs_perag_resv( struct xfs_perag *pag, enum xfs_ag_resv_type type) xfs_perag_resv() argument
[all...]
H A Dxfs_ialloc.c107 if (!xfs_verify_agino(cur->bc_ag.pag, irec->ir_startino)) in xfs_inobt_check_irec()
109 if (!xfs_verify_agino(cur->bc_ag.pag, in xfs_inobt_check_irec()
140 cur->bc_ag.pag->pag_agno, fa); in xfs_inobt_complain_bad_rec()
198 struct xfs_perag *pag, in xfs_inobt_insert()
210 cur = xfs_inobt_init_cursor(pag, tp, agbp, btnum); in xfs_inobt_insert()
270 ASSERT(freecount == cur->bc_ag.pag->pagi_freecount); in xfs_check_agi_freecount()
542 struct xfs_perag *pag, in xfs_inobt_insert_sprec()
549 struct xfs_mount *mp = pag->pag_mount; in xfs_inobt_insert_sprec()
555 cur = xfs_inobt_init_cursor(pag, tp, agbp, btnum); in xfs_inobt_insert_sprec()
602 trace_xfs_irec_merge_pre(mp, pag in xfs_inobt_insert_sprec()
197 xfs_inobt_insert( struct xfs_perag *pag, struct xfs_trans *tp, struct xfs_buf *agbp, xfs_agino_t newino, xfs_agino_t newlen, xfs_btnum_t btnum) xfs_inobt_insert() argument
541 xfs_inobt_insert_sprec( struct xfs_perag *pag, struct xfs_trans *tp, struct xfs_buf *agbp, int btnum, struct xfs_inobt_rec_incore *nrec, bool merge) xfs_inobt_insert_sprec() argument
636 xfs_ialloc_ag_alloc( struct xfs_perag *pag, struct xfs_trans *tp, struct xfs_buf *agbp) xfs_ialloc_ag_alloc() argument
1004 xfs_dialloc_ag_inobt( struct xfs_perag *pag, struct xfs_trans *tp, struct xfs_buf *agbp, xfs_ino_t parent, xfs_ino_t *inop) xfs_dialloc_ag_inobt() argument
1452 xfs_dialloc_ag( struct xfs_perag *pag, struct xfs_trans *tp, struct xfs_buf *agbp, xfs_ino_t parent, xfs_ino_t *inop) xfs_dialloc_ag() argument
1602 xfs_dialloc_good_ag( struct xfs_perag *pag, struct xfs_trans *tp, umode_t mode, int flags, bool ok_alloc) xfs_dialloc_good_ag() argument
1675 xfs_dialloc_try_ag( struct xfs_perag *pag, struct xfs_trans **tpp, xfs_ino_t parent, xfs_ino_t *new_ino, bool ok_alloc) xfs_dialloc_try_ag() argument
1745 struct xfs_perag *pag; xfs_dialloc() local
1917 xfs_difree_inobt( struct xfs_perag *pag, struct xfs_trans *tp, struct xfs_buf *agbp, xfs_agino_t agino, struct xfs_icluster *xic, struct xfs_inobt_rec_incore *orec) xfs_difree_inobt() argument
2051 xfs_difree_finobt( struct xfs_perag *pag, struct xfs_trans *tp, struct xfs_buf *agbp, xfs_agino_t agino, struct xfs_inobt_rec_incore *ibtrec) xfs_difree_finobt() argument
2161 xfs_difree( struct xfs_trans *tp, struct xfs_perag *pag, xfs_ino_t inode, struct xfs_icluster *xic) xfs_difree() argument
2232 xfs_imap_lookup( struct xfs_perag *pag, struct xfs_trans *tp, xfs_agino_t agino, xfs_agblock_t agbno, xfs_agblock_t *chunk_agbno, xfs_agblock_t *offset_agbno, int flags) xfs_imap_lookup() argument
2295 xfs_imap( struct xfs_perag *pag, struct xfs_trans *tp, xfs_ino_t ino, struct xfs_imap *imap, uint flags) xfs_imap() argument
2588 xfs_read_agi( struct xfs_perag *pag, struct xfs_trans *tp, struct xfs_buf **agibpp) xfs_read_agi() argument
2615 xfs_ialloc_read_agi( struct xfs_perag *pag, struct xfs_trans *tp, struct xfs_buf **agibpp) xfs_ialloc_read_agi() argument
2964 xfs_ialloc_check_shrink( struct xfs_perag *pag, struct xfs_trans *tp, struct xfs_buf *agibp, xfs_agblock_t new_length) xfs_ialloc_check_shrink() argument
[all...]
H A Dxfs_refcount_btree.c32 cur->bc_ag.agbp, cur->bc_ag.pag); in xfs_refcountbt_dup_cursor()
43 struct xfs_perag *pag = agbp->b_pag; in xfs_refcountbt_set_root() local
49 pag->pagf_refcount_level += inc; in xfs_refcountbt_set_root()
70 args.pag = cur->bc_ag.pag; in xfs_refcountbt_alloc_block()
76 XFS_AGB_TO_FSB(args.mp, args.pag->pag_agno, in xfs_refcountbt_alloc_block()
80 trace_xfs_refcountbt_alloc_block(cur->bc_mp, cur->bc_ag.pag->pag_agno, in xfs_refcountbt_alloc_block()
86 ASSERT(args.agno == cur->bc_ag.pag->pag_agno); in xfs_refcountbt_alloc_block()
110 trace_xfs_refcountbt_free_block(cur->bc_mp, cur->bc_ag.pag->pag_agno, in xfs_refcountbt_free_block()
176 ASSERT(cur->bc_ag.pag in xfs_refcountbt_init_ptr_from_cur()
214 struct xfs_perag *pag = bp->b_pag; xfs_refcountbt_verify() local
339 xfs_refcountbt_init_common( struct xfs_mount *mp, struct xfs_trans *tp, struct xfs_perag *pag) xfs_refcountbt_init_common() argument
363 xfs_refcountbt_init_cursor( struct xfs_mount *mp, struct xfs_trans *tp, struct xfs_buf *agbp, struct xfs_perag *pag) xfs_refcountbt_init_cursor() argument
380 xfs_refcountbt_stage_cursor( struct xfs_mount *mp, struct xbtree_afakeroot *afake, struct xfs_perag *pag) xfs_refcountbt_stage_cursor() argument
498 xfs_refcountbt_calc_reserves( struct xfs_mount *mp, struct xfs_trans *tp, struct xfs_perag *pag, xfs_extlen_t *ask, xfs_extlen_t *used) xfs_refcountbt_calc_reserves() argument
[all...]
H A Dxfs_ialloc_btree.c39 return xfs_inobt_init_cursor(cur->bc_ag.pag, cur->bc_tp, in xfs_inobt_dup_cursor()
106 args.pag = cur->bc_ag.pag; in __xfs_inobt_alloc_block()
114 XFS_AGB_TO_FSB(args.mp, args.pag->pag_agno, sbno)); in __xfs_inobt_alloc_block()
242 ASSERT(cur->bc_ag.pag->pag_agno == be32_to_cpu(agi->agi_seqno)); in xfs_inobt_init_ptr_from_cur()
254 ASSERT(cur->bc_ag.pag->pag_agno == be32_to_cpu(agi->agi_seqno)); in xfs_finobt_init_ptr_from_cur()
300 * xfs_perag_initialised_agi(pag)) if we ever do. in xfs_inobt_verify()
450 struct xfs_perag *pag, in xfs_inobt_init_common()
454 struct xfs_mount *mp = pag->pag_mount; in xfs_inobt_init_common()
470 cur->bc_ag.pag in xfs_inobt_init_common()
449 xfs_inobt_init_common( struct xfs_perag *pag, struct xfs_trans *tp, xfs_btnum_t btnum) xfs_inobt_init_common() argument
476 xfs_inobt_init_cursor( struct xfs_perag *pag, struct xfs_trans *tp, struct xfs_buf *agbp, xfs_btnum_t btnum) xfs_inobt_init_cursor() argument
496 xfs_inobt_stage_cursor( struct xfs_perag *pag, struct xbtree_afakeroot *afake, xfs_btnum_t btnum) xfs_inobt_stage_cursor() argument
701 xfs_inobt_max_size( struct xfs_perag *pag) xfs_inobt_max_size() argument
726 xfs_inobt_cur( struct xfs_perag *pag, struct xfs_trans *tp, xfs_btnum_t which, struct xfs_btree_cur **curpp, struct xfs_buf **agi_bpp) xfs_inobt_cur() argument
749 xfs_inobt_count_blocks( struct xfs_perag *pag, struct xfs_trans *tp, xfs_btnum_t btnum, xfs_extlen_t *tree_blocks) xfs_inobt_count_blocks() argument
772 xfs_finobt_read_blocks( struct xfs_perag *pag, struct xfs_trans *tp, xfs_extlen_t *tree_blocks) xfs_finobt_read_blocks() argument
795 xfs_finobt_calc_reserves( struct xfs_perag *pag, struct xfs_trans *tp, xfs_extlen_t *ask, xfs_extlen_t *used) xfs_finobt_calc_reserves() argument
[all...]
/kernel/linux/linux-5.10/fs/xfs/libxfs/
H A Dxfs_ag_resv.c70 struct xfs_perag *pag, in xfs_ag_resv_critical()
78 avail = pag->pagf_freeblks - pag->pag_rmapbt_resv.ar_reserved; in xfs_ag_resv_critical()
79 orig = pag->pag_meta_resv.ar_asked; in xfs_ag_resv_critical()
82 avail = pag->pagf_freeblks + pag->pagf_flcount - in xfs_ag_resv_critical()
83 pag->pag_meta_resv.ar_reserved; in xfs_ag_resv_critical()
84 orig = pag->pag_rmapbt_resv.ar_asked; in xfs_ag_resv_critical()
91 trace_xfs_ag_resv_critical(pag, type, avail); in xfs_ag_resv_critical()
95 pag in xfs_ag_resv_critical()
69 xfs_ag_resv_critical( struct xfs_perag *pag, enum xfs_ag_resv_type type) xfs_ag_resv_critical() argument
103 xfs_ag_resv_needed( struct xfs_perag *pag, enum xfs_ag_resv_type type) xfs_ag_resv_needed() argument
129 __xfs_ag_resv_free( struct xfs_perag *pag, enum xfs_ag_resv_type type) __xfs_ag_resv_free() argument
164 xfs_ag_resv_free( struct xfs_perag *pag) xfs_ag_resv_free() argument
178 __xfs_ag_resv_init( struct xfs_perag *pag, enum xfs_ag_resv_type type, xfs_extlen_t ask, xfs_extlen_t used) __xfs_ag_resv_init() argument
244 xfs_ag_resv_init( struct xfs_perag *pag, struct xfs_trans *tp) xfs_ag_resv_init() argument
321 xfs_ag_resv_alloc_extent( struct xfs_perag *pag, enum xfs_ag_resv_type type, struct xfs_alloc_arg *args) xfs_ag_resv_alloc_extent() argument
363 xfs_ag_resv_free_extent( struct xfs_perag *pag, enum xfs_ag_resv_type type, struct xfs_trans *tp, xfs_extlen_t len) xfs_ag_resv_free_extent() argument
[all...]
H A Dxfs_ag_resv.h9 int xfs_ag_resv_free(struct xfs_perag *pag);
10 int xfs_ag_resv_init(struct xfs_perag *pag, struct xfs_trans *tp);
12 bool xfs_ag_resv_critical(struct xfs_perag *pag, enum xfs_ag_resv_type type);
13 xfs_extlen_t xfs_ag_resv_needed(struct xfs_perag *pag,
16 void xfs_ag_resv_alloc_extent(struct xfs_perag *pag, enum xfs_ag_resv_type type,
18 void xfs_ag_resv_free_extent(struct xfs_perag *pag, enum xfs_ag_resv_type type,
32 struct xfs_perag *pag; in xfs_ag_resv_rmapbt_alloc() local
35 pag = xfs_perag_get(mp, agno); in xfs_ag_resv_rmapbt_alloc()
36 xfs_ag_resv_alloc_extent(pag, XFS_AG_RESV_RMAPBT, &args); in xfs_ag_resv_rmapbt_alloc()
37 xfs_perag_put(pag); in xfs_ag_resv_rmapbt_alloc()
[all...]
/kernel/linux/linux-6.6/fs/xfs/
H A Dxfs_filestream.c26 struct xfs_perag *pag; /* AG in use for this directory */ member
41 struct xfs_perag *pag = item->pag; in xfs_fstrm_free_func() local
43 trace_xfs_filestream_free(pag, mru->key); in xfs_fstrm_free_func()
44 atomic_dec(&pag->pagf_fstrms); in xfs_fstrm_free_func()
45 xfs_perag_rele(pag); in xfs_fstrm_free_func()
64 struct xfs_perag *pag; in xfs_filestream_pick_ag() local
76 for_each_perag_wrap(mp, start_agno, agno, pag) { in xfs_filestream_pick_ag()
77 trace_xfs_filestream_scan(pag, pino); in xfs_filestream_pick_ag()
79 err = xfs_bmap_longest_free_extent(pag, NUL in xfs_filestream_pick_ag()
213 struct xfs_perag *pag; xfs_filestream_lookup_association() local
[all...]
H A Dxfs_extent_busy.c24 struct xfs_perag *pag, in xfs_extent_busy_insert_list()
36 new->agno = pag->pag_agno; in xfs_extent_busy_insert_list()
43 trace_xfs_extent_busy(pag->pag_mount, pag->pag_agno, bno, len); in xfs_extent_busy_insert_list()
45 spin_lock(&pag->pagb_lock); in xfs_extent_busy_insert_list()
46 rbp = &pag->pagb_tree.rb_node; in xfs_extent_busy_insert_list()
63 rb_insert_color(&new->rb_node, &pag->pagb_tree); in xfs_extent_busy_insert_list()
67 spin_unlock(&pag->pagb_lock); in xfs_extent_busy_insert_list()
73 struct xfs_perag *pag, in xfs_extent_busy_insert()
78 xfs_extent_busy_insert_list(pag, bn in xfs_extent_busy_insert()
23 xfs_extent_busy_insert_list( struct xfs_perag *pag, xfs_agblock_t bno, xfs_extlen_t len, unsigned int flags, struct list_head *busy_list) xfs_extent_busy_insert_list() argument
71 xfs_extent_busy_insert( struct xfs_trans *tp, struct xfs_perag *pag, xfs_agblock_t bno, xfs_extlen_t len, unsigned int flags) xfs_extent_busy_insert() argument
82 xfs_extent_busy_insert_discard( struct xfs_perag *pag, xfs_agblock_t bno, xfs_extlen_t len, struct list_head *busy_list) xfs_extent_busy_insert_discard() argument
102 xfs_extent_busy_search( struct xfs_mount *mp, struct xfs_perag *pag, xfs_agblock_t bno, xfs_extlen_t len) xfs_extent_busy_search() argument
298 xfs_extent_busy_reuse( struct xfs_mount *mp, struct xfs_perag *pag, xfs_agblock_t fbno, xfs_extlen_t flen, bool userdata) xfs_extent_busy_reuse() argument
521 xfs_extent_busy_clear_one( struct xfs_mount *mp, struct xfs_perag *pag, struct xfs_extent_busy *busyp) xfs_extent_busy_clear_one() argument
548 xfs_perag_put(pag); global() variable
563 struct xfs_perag *pag = NULL; xfs_extent_busy_clear() local
605 xfs_extent_busy_flush( struct xfs_trans *tp, struct xfs_perag *pag, unsigned busy_gen, uint32_t alloc_flags) xfs_extent_busy_flush() argument
646 struct xfs_perag *pag; xfs_extent_busy_wait_all() local
[all...]
H A Dxfs_drain.c105 struct xfs_perag *pag; in xfs_perag_intent_get() local
107 pag = xfs_perag_get(mp, agno); in xfs_perag_intent_get()
108 if (!pag) in xfs_perag_intent_get()
111 xfs_perag_intent_hold(pag); in xfs_perag_intent_get()
112 return pag; in xfs_perag_intent_get()
121 struct xfs_perag *pag) in xfs_perag_intent_put()
123 xfs_perag_intent_rele(pag); in xfs_perag_intent_put()
124 xfs_perag_put(pag); in xfs_perag_intent_put()
133 struct xfs_perag *pag) in xfs_perag_intent_hold()
135 trace_xfs_perag_intent_hold(pag, __return_addres in xfs_perag_intent_hold()
120 xfs_perag_intent_put( struct xfs_perag *pag) xfs_perag_intent_put() argument
132 xfs_perag_intent_hold( struct xfs_perag *pag) xfs_perag_intent_hold() argument
141 xfs_perag_intent_rele( struct xfs_perag *pag) xfs_perag_intent_rele() argument
153 xfs_perag_intent_drain( struct xfs_perag *pag) xfs_perag_intent_drain() argument
162 xfs_perag_intent_busy( struct xfs_perag *pag) xfs_perag_intent_busy() argument
[all...]
H A Dxfs_icache.c49 static int xfs_icwalk_ag(struct xfs_perag *pag,
207 struct xfs_perag *pag) in xfs_blockgc_queue()
209 struct xfs_mount *mp = pag->pag_mount; in xfs_blockgc_queue()
215 if (radix_tree_tagged(&pag->pag_ici_root, XFS_ICI_BLOCKGC_TAG)) in xfs_blockgc_queue()
216 queue_delayed_work(pag->pag_mount->m_blockgc_wq, in xfs_blockgc_queue()
217 &pag->pag_blockgc_work, in xfs_blockgc_queue()
225 struct xfs_perag *pag, in xfs_perag_set_inode_tag()
229 struct xfs_mount *mp = pag->pag_mount; in xfs_perag_set_inode_tag()
232 lockdep_assert_held(&pag->pag_ici_lock); in xfs_perag_set_inode_tag()
234 was_tagged = radix_tree_tagged(&pag in xfs_perag_set_inode_tag()
206 xfs_blockgc_queue( struct xfs_perag *pag) xfs_blockgc_queue() argument
224 xfs_perag_set_inode_tag( struct xfs_perag *pag, xfs_agino_t agino, unsigned int tag) xfs_perag_set_inode_tag() argument
263 xfs_perag_clear_inode_tag( struct xfs_perag *pag, xfs_agino_t agino, unsigned int tag) xfs_perag_clear_inode_tag() argument
597 xfs_iget_cache_miss( struct xfs_mount *mp, struct xfs_perag *pag, xfs_trans_t *tp, xfs_ino_t ino, struct xfs_inode **ipp, int flags, int lock_flags) xfs_iget_cache_miss() argument
744 struct xfs_perag *pag; xfs_iget() local
862 xfs_reclaim_inode( struct xfs_inode *ip, struct xfs_perag *pag) xfs_reclaim_inode() argument
1015 struct xfs_perag *pag; xfs_reclaim_inodes_count() local
1167 struct xfs_perag *pag; xfs_blockgc_set_iflag() local
1205 struct xfs_perag *pag; xfs_blockgc_clear_iflag() local
1349 struct xfs_perag *pag; xfs_blockgc_stop() local
1365 struct xfs_perag *pag; xfs_blockgc_start() local
1446 struct xfs_perag *pag = container_of(to_delayed_work(work), xfs_blockgc_worker() local
1488 struct xfs_perag *pag; xfs_blockgc_flush_all() local
1610 xfs_icwalk_process_inode( enum xfs_icwalk_goal goal, struct xfs_inode *ip, struct xfs_perag *pag, struct xfs_icwalk *icw) xfs_icwalk_process_inode() argument
1634 xfs_icwalk_ag( struct xfs_perag *pag, enum xfs_icwalk_goal goal, struct xfs_icwalk *icw) xfs_icwalk_ag() argument
1748 struct xfs_perag *pag; xfs_icwalk() local
1799 struct xfs_perag *pag; xfs_inodegc_set_reclaimable() local
[all...]
H A Dxfs_iwalk.c55 struct xfs_perag *pag; member
98 struct xfs_perag *pag, in xfs_iwalk_ichunk_ra()
114 xfs_btree_reada_bufs(mp, pag->pag_agno, agbno, in xfs_iwalk_ichunk_ra()
186 struct xfs_perag *pag = iwag->pag; in xfs_iwalk_ag_recs() local
194 trace_xfs_iwalk_ag_rec(mp, pag->pag_agno, irec); in xfs_iwalk_ag_recs()
200 error = iwag->inobt_walk_fn(mp, tp, pag->pag_agno, irec, in xfs_iwalk_ag_recs()
218 ino = XFS_AGINO_TO_INO(mp, pag->pag_agno, in xfs_iwalk_ag_recs()
272 struct xfs_perag *pag = iwag->pag; in xfs_iwalk_ag_start() local
96 xfs_iwalk_ichunk_ra( struct xfs_mount *mp, struct xfs_perag *pag, struct xfs_inobt_rec_incore *irec) xfs_iwalk_ichunk_ra() argument
407 struct xfs_perag *pag = iwag->pag; xfs_iwalk_ag() local
571 struct xfs_perag *pag; xfs_iwalk() local
649 struct xfs_perag *pag; xfs_iwalk_threaded() local
755 struct xfs_perag *pag; xfs_inobt_walk() local
[all...]
H A Dxfs_drain.h66 void xfs_perag_intent_put(struct xfs_perag *pag);
68 void xfs_perag_intent_hold(struct xfs_perag *pag);
69 void xfs_perag_intent_rele(struct xfs_perag *pag);
71 int xfs_perag_intent_drain(struct xfs_perag *pag);
72 bool xfs_perag_intent_busy(struct xfs_perag *pag);
80 #define xfs_perag_intent_put(pag) xfs_perag_put(pag)
82 static inline void xfs_perag_intent_hold(struct xfs_perag *pag) { } in xfs_perag_intent_hold() argument
83 static inline void xfs_perag_intent_rele(struct xfs_perag *pag) { } in xfs_perag_intent_rele() argument
H A Dxfs_health.c27 struct xfs_perag *pag; in xfs_health_unmount() local
37 for_each_perag(mp, agno, pag) { in xfs_health_unmount()
38 xfs_ag_measure_sickness(pag, &sick, &checked); in xfs_health_unmount()
179 struct xfs_perag *pag, in xfs_ag_mark_sick()
183 trace_xfs_ag_mark_sick(pag->pag_mount, pag->pag_agno, mask); in xfs_ag_mark_sick()
185 spin_lock(&pag->pag_state_lock); in xfs_ag_mark_sick()
186 pag->pag_sick |= mask; in xfs_ag_mark_sick()
187 pag->pag_checked |= mask; in xfs_ag_mark_sick()
188 spin_unlock(&pag in xfs_ag_mark_sick()
178 xfs_ag_mark_sick( struct xfs_perag *pag, unsigned int mask) xfs_ag_mark_sick() argument
193 xfs_ag_mark_healthy( struct xfs_perag *pag, unsigned int mask) xfs_ag_mark_healthy() argument
208 xfs_ag_measure_sickness( struct xfs_perag *pag, unsigned int *sick, unsigned int *checked) xfs_ag_measure_sickness() argument
343 xfs_ag_geom_health( struct xfs_perag *pag, struct xfs_ag_geometry *ageo) xfs_ag_geom_health() argument
[all...]
H A Dxfs_discard.c149 struct xfs_perag *pag, in xfs_trim_gather_extents()
157 struct xfs_mount *mp = pag->pag_mount; in xfs_trim_gather_extents()
171 error = xfs_alloc_read_agf(pag, NULL, 0, &agbp); in xfs_trim_gather_extents()
175 cur = xfs_allocbt_init_cursor(mp, NULL, agbp, pag, XFS_BTNUM_CNT); in xfs_trim_gather_extents()
226 dbno = XFS_AGB_TO_DADDR(mp, pag->pag_agno, fbno); in xfs_trim_gather_extents()
233 trace_xfs_discard_toosmall(mp, pag->pag_agno, fbno, flen); in xfs_trim_gather_extents()
244 trace_xfs_discard_exclude(mp, pag->pag_agno, fbno, flen); in xfs_trim_gather_extents()
252 if (xfs_extent_busy_search(mp, pag, fbno, flen)) { in xfs_trim_gather_extents()
253 trace_xfs_discard_busy(mp, pag->pag_agno, fbno, flen); in xfs_trim_gather_extents()
257 xfs_extent_busy_insert_discard(pag, fbn in xfs_trim_gather_extents()
148 xfs_trim_gather_extents( struct xfs_perag *pag, xfs_daddr_t start, xfs_daddr_t end, xfs_daddr_t minlen, struct xfs_alloc_rec_incore *tcur, struct xfs_busy_extents *extents, uint64_t *blocks_trimmed) xfs_trim_gather_extents() argument
298 xfs_trim_extents( struct xfs_perag *pag, xfs_daddr_t start, xfs_daddr_t end, xfs_daddr_t minlen, uint64_t *blocks_trimmed) xfs_trim_extents() argument
368 struct xfs_perag *pag; xfs_ioc_trim() local
[all...]
/kernel/linux/linux-5.10/fs/xfs/
H A Dxfs_extent_busy.c32 struct xfs_perag *pag; in xfs_extent_busy_insert() local
46 pag = xfs_perag_get(tp->t_mountp, new->agno); in xfs_extent_busy_insert()
47 spin_lock(&pag->pagb_lock); in xfs_extent_busy_insert()
48 rbp = &pag->pagb_tree.rb_node; in xfs_extent_busy_insert()
65 rb_insert_color(&new->rb_node, &pag->pagb_tree); in xfs_extent_busy_insert()
68 spin_unlock(&pag->pagb_lock); in xfs_extent_busy_insert()
69 xfs_perag_put(pag); in xfs_extent_busy_insert()
88 struct xfs_perag *pag; in xfs_extent_busy_search() local
93 pag = xfs_perag_get(mp, agno); in xfs_extent_busy_search()
94 spin_lock(&pag in xfs_extent_busy_search()
289 struct xfs_perag *pag; xfs_extent_busy_reuse() local
509 xfs_extent_busy_clear_one( struct xfs_mount *mp, struct xfs_perag *pag, struct xfs_extent_busy *busyp) xfs_extent_busy_clear_one() argument
536 xfs_perag_put(pag); global() variable
551 struct xfs_perag *pag = NULL; xfs_extent_busy_clear() local
582 xfs_extent_busy_flush( struct xfs_mount *mp, struct xfs_perag *pag, unsigned busy_gen) xfs_extent_busy_flush() argument
612 struct xfs_perag *pag = xfs_perag_get(mp, agno); xfs_extent_busy_wait_all() local
[all...]
H A Dxfs_icache.c161 struct xfs_perag *pag) in xfs_perag_set_reclaim_tag()
163 struct xfs_mount *mp = pag->pag_mount; in xfs_perag_set_reclaim_tag()
165 lockdep_assert_held(&pag->pag_ici_lock); in xfs_perag_set_reclaim_tag()
166 if (pag->pag_ici_reclaimable++) in xfs_perag_set_reclaim_tag()
171 radix_tree_tag_set(&mp->m_perag_tree, pag->pag_agno, in xfs_perag_set_reclaim_tag()
178 trace_xfs_perag_set_reclaim(mp, pag->pag_agno, -1, _RET_IP_); in xfs_perag_set_reclaim_tag()
183 struct xfs_perag *pag) in xfs_perag_clear_reclaim_tag()
185 struct xfs_mount *mp = pag->pag_mount; in xfs_perag_clear_reclaim_tag()
187 lockdep_assert_held(&pag->pag_ici_lock); in xfs_perag_clear_reclaim_tag()
188 if (--pag in xfs_perag_clear_reclaim_tag()
160 xfs_perag_set_reclaim_tag( struct xfs_perag *pag) xfs_perag_set_reclaim_tag() argument
182 xfs_perag_clear_reclaim_tag( struct xfs_perag *pag) xfs_perag_clear_reclaim_tag() argument
210 struct xfs_perag *pag; xfs_inode_set_reclaim_tag() local
227 xfs_inode_clear_reclaim_tag( struct xfs_perag *pag, xfs_ino_t ino) xfs_inode_clear_reclaim_tag() argument
473 xfs_iget_cache_miss( struct xfs_mount *mp, struct xfs_perag *pag, xfs_trans_t *tp, xfs_ino_t ino, struct xfs_inode **ipp, int flags, int lock_flags) xfs_iget_cache_miss() argument
620 struct xfs_perag *pag; xfs_iget() local
772 xfs_inode_walk_ag( struct xfs_perag *pag, int iter_flags, int (*execute)(struct xfs_inode *ip, void *args), void *args, int tag) xfs_inode_walk_ag() argument
900 struct xfs_perag *pag; xfs_inode_walk() local
1030 xfs_reclaim_inode( struct xfs_inode *ip, struct xfs_perag *pag) xfs_reclaim_inode() argument
1125 struct xfs_perag *pag; xfs_reclaim_inodes_ag() local
1243 struct xfs_perag *pag; xfs_reclaim_inodes_count() local
1477 struct xfs_perag *pag; __xfs_inode_set_blocks_tag() local
1532 struct xfs_perag *pag; __xfs_inode_clear_blocks_tag() local
[all...]
H A Dxfs_filestream.c43 struct xfs_perag *pag; in xfs_filestream_peek_ag() local
46 pag = xfs_perag_get(mp, agno); in xfs_filestream_peek_ag()
47 ret = atomic_read(&pag->pagf_fstrms); in xfs_filestream_peek_ag()
48 xfs_perag_put(pag); in xfs_filestream_peek_ag()
57 struct xfs_perag *pag; in xfs_filestream_get_ag() local
60 pag = xfs_perag_get(mp, agno); in xfs_filestream_get_ag()
61 ret = atomic_inc_return(&pag->pagf_fstrms); in xfs_filestream_get_ag()
62 xfs_perag_put(pag); in xfs_filestream_get_ag()
71 struct xfs_perag *pag; in xfs_filestream_put_ag() local
73 pag in xfs_filestream_put_ag()
107 struct xfs_perag *pag; xfs_filestream_pick_ag() local
[all...]
H A Dxfs_health.c27 struct xfs_perag *pag; in xfs_health_unmount() local
38 pag = xfs_perag_get(mp, agno); in xfs_health_unmount()
39 xfs_ag_measure_sickness(pag, &sick, &checked); in xfs_health_unmount()
44 xfs_perag_put(pag); in xfs_health_unmount()
181 struct xfs_perag *pag, in xfs_ag_mark_sick()
185 trace_xfs_ag_mark_sick(pag->pag_mount, pag->pag_agno, mask); in xfs_ag_mark_sick()
187 spin_lock(&pag->pag_state_lock); in xfs_ag_mark_sick()
188 pag->pag_sick |= mask; in xfs_ag_mark_sick()
189 pag in xfs_ag_mark_sick()
180 xfs_ag_mark_sick( struct xfs_perag *pag, unsigned int mask) xfs_ag_mark_sick() argument
195 xfs_ag_mark_healthy( struct xfs_perag *pag, unsigned int mask) xfs_ag_mark_healthy() argument
210 xfs_ag_measure_sickness( struct xfs_perag *pag, unsigned int *sick, unsigned int *checked) xfs_ag_measure_sickness() argument
336 xfs_ag_geom_health( struct xfs_perag *pag, struct xfs_ag_geometry *ageo) xfs_ag_geom_health() argument
[all...]
/kernel/linux/linux-5.10/fs/xfs/scrub/
H A Dfscounters.c69 struct xfs_perag *pag = NULL; in xchk_fscount_warmup() local
74 pag = xfs_perag_get(mp, agno); in xchk_fscount_warmup()
76 if (pag->pagi_init && pag->pagf_init) in xchk_fscount_warmup()
92 if (!pag->pagi_init || !pag->pagf_init) in xchk_fscount_warmup()
100 xfs_perag_put(pag); in xchk_fscount_warmup()
101 pag = NULL; in xchk_fscount_warmup()
112 if (pag) in xchk_fscount_warmup()
113 xfs_perag_put(pag); in xchk_fscount_warmup()
159 struct xfs_perag *pag; xchk_fscount_aggregate_agcounts() local
[all...]
/kernel/linux/linux-6.6/fs/xfs/scrub/
H A Dagheader_repair.c114 if (!xfs_verify_agbno(sc->sa.pag, agbno)) in xrep_agf_check_agfl_block()
138 return xfs_verify_agbno(sc->sa.pag, fab->root) && in xrep_check_btree_root()
199 struct xfs_perag *pag = sc->sa.pag; in xrep_agf_init_header() local
206 agf->agf_seqno = cpu_to_be32(pag->pag_agno); in xrep_agf_init_header()
207 agf->agf_length = cpu_to_be32(pag->block_count); in xrep_agf_init_header()
215 ASSERT(xfs_perag_initialised_agf(pag)); in xrep_agf_init_header()
216 clear_bit(XFS_AGSTATE_AGF_INIT, &pag->pag_opstate); in xrep_agf_init_header()
265 sc->sa.pag, XFS_BTNUM_BNO); in xrep_agf_calc_from_btrees()
279 sc->sa.pag, XFS_BTNUM_CN in xrep_agf_calc_from_btrees()
320 struct xfs_perag *pag; xrep_agf_commit_new() local
856 struct xfs_perag *pag = sc->sa.pag; xrep_agi_init_header() local
949 struct xfs_perag *pag; xrep_agi_commit_new() local
[all...]
H A Dfscounters.c86 struct xfs_perag *pag = NULL; in xchk_fscount_warmup() local
90 for_each_perag(mp, agno, pag) { in xchk_fscount_warmup()
93 if (xfs_perag_initialised_agi(pag) && in xchk_fscount_warmup()
94 xfs_perag_initialised_agf(pag)) in xchk_fscount_warmup()
98 error = xfs_ialloc_read_agi(pag, sc->tp, &agi_bp); in xchk_fscount_warmup()
101 error = xfs_alloc_read_agf(pag, sc->tp, 0, &agf_bp); in xchk_fscount_warmup()
109 if (!xfs_perag_initialised_agi(pag) || in xchk_fscount_warmup()
110 !xfs_perag_initialised_agf(pag)) { in xchk_fscount_warmup()
125 if (pag) in xchk_fscount_warmup()
126 xfs_perag_rele(pag); in xchk_fscount_warmup()
301 struct xfs_perag *pag; xchk_fscount_aggregate_agcounts() local
[all...]
H A Drepair.c236 struct xfs_perag *pag, in xrep_ag_has_space()
240 return !xfs_ag_resv_critical(pag, XFS_AG_RESV_RMAPBT) && in xrep_ag_has_space()
241 !xfs_ag_resv_critical(pag, XFS_AG_RESV_METADATA) && in xrep_ag_has_space()
242 pag->pagf_freeblks > xfs_ag_resv_needed(pag, type) + nr_blocks; in xrep_ag_has_space()
256 struct xfs_perag *pag; in xrep_calc_ag_resblks() local
271 pag = xfs_perag_get(mp, sm->sm_agno); in xrep_calc_ag_resblks()
272 if (xfs_perag_initialised_agi(pag)) { in xrep_calc_ag_resblks()
274 icount = pag->pagi_count; in xrep_calc_ag_resblks()
277 error = xfs_ialloc_read_agi(pag, NUL in xrep_calc_ag_resblks()
235 xrep_ag_has_space( struct xfs_perag *pag, xfs_extlen_t nr_blocks, enum xfs_ag_resv_type type) xrep_ag_has_space() argument
[all...]

Completed in 15 milliseconds

12345