/fs/gfs2/ |
D | recovery.c | 32 int gfs2_replay_read_block(struct gfs2_jdesc *jd, unsigned int blk, in gfs2_replay_read_block() argument 35 struct gfs2_inode *ip = GFS2_I(jd->jd_inode); in gfs2_replay_read_block() 55 int gfs2_revoke_add(struct gfs2_jdesc *jd, u64 blkno, unsigned int where) in gfs2_revoke_add() argument 57 struct list_head *head = &jd->jd_revoke_list; in gfs2_revoke_add() 83 int gfs2_revoke_check(struct gfs2_jdesc *jd, u64 blkno, unsigned int where) in gfs2_revoke_check() argument 88 list_for_each_entry(iter, &jd->jd_revoke_list, rr_list) { in gfs2_revoke_check() 98 wrap = (rr->rr_where < jd->jd_replay_tail); in gfs2_revoke_check() 99 a = (jd->jd_replay_tail < where); in gfs2_revoke_check() 106 void gfs2_revoke_clean(struct gfs2_jdesc *jd) in gfs2_revoke_clean() argument 108 struct list_head *head = &jd->jd_revoke_list; in gfs2_revoke_clean() [all …]
|
D | lops.c | 145 u64 gfs2_log_bmap(struct gfs2_jdesc *jd, unsigned int lblock) in gfs2_log_bmap() argument 149 list_for_each_entry(je, &jd->extent_list, list) { in gfs2_log_bmap() 328 void gfs2_log_write(struct gfs2_sbd *sdp, struct gfs2_jdesc *jd, in gfs2_log_write() argument 335 bio = gfs2_log_get_bio(sdp, blkno, &jd->jd_log_bio, REQ_OP_WRITE, in gfs2_log_write() 339 bio = gfs2_log_get_bio(sdp, blkno, &jd->jd_log_bio, in gfs2_log_write() 424 static bool gfs2_jhead_pg_srch(struct gfs2_jdesc *jd, in gfs2_jhead_pg_srch() argument 428 struct gfs2_sbd *sdp = GFS2_SB(jd->jd_inode); in gfs2_jhead_pg_srch() 468 static void gfs2_jhead_process_page(struct gfs2_jdesc *jd, unsigned long index, in gfs2_jhead_process_page() argument 474 folio = filemap_get_folio(jd->jd_inode->i_mapping, index); in gfs2_jhead_process_page() 481 *done = gfs2_jhead_pg_srch(jd, head, &folio->page); in gfs2_jhead_process_page() [all …]
|
D | lops.h | 15 extern u64 gfs2_log_bmap(struct gfs2_jdesc *jd, unsigned int lbn); 16 extern void gfs2_log_write(struct gfs2_sbd *sdp, struct gfs2_jdesc *jd, 21 extern int gfs2_find_jhead(struct gfs2_jdesc *jd, 52 static inline void lops_before_scan(struct gfs2_jdesc *jd, in lops_before_scan() argument 59 gfs2_log_ops[x]->lo_before_scan(jd, head, pass); in lops_before_scan() 62 static inline int lops_scan_elements(struct gfs2_jdesc *jd, u32 start, in lops_scan_elements() argument 70 error = gfs2_log_ops[x]->lo_scan_elements(jd, start, in lops_scan_elements() 79 static inline void lops_after_scan(struct gfs2_jdesc *jd, int error, in lops_after_scan() argument 85 gfs2_log_ops[x]->lo_after_scan(jd, error, pass); in lops_after_scan()
|
D | recovery.h | 14 static inline void gfs2_replay_incr_blk(struct gfs2_jdesc *jd, u32 *blk) in gfs2_replay_incr_blk() argument 16 if (++*blk == jd->jd_blocks) in gfs2_replay_incr_blk() 20 extern int gfs2_replay_read_block(struct gfs2_jdesc *jd, unsigned int blk, 23 extern int gfs2_revoke_add(struct gfs2_jdesc *jd, u64 blkno, unsigned int where); 24 extern int gfs2_revoke_check(struct gfs2_jdesc *jd, u64 blkno, unsigned int where); 25 extern void gfs2_revoke_clean(struct gfs2_jdesc *jd);
|
D | super.c | 62 struct gfs2_jdesc *jd; in gfs2_jindex_free() local 72 jd = list_first_entry(&list, struct gfs2_jdesc, jd_list); in gfs2_jindex_free() 73 gfs2_free_journal_extents(jd); in gfs2_jindex_free() 74 list_del(&jd->jd_list); in gfs2_jindex_free() 75 iput(jd->jd_inode); in gfs2_jindex_free() 76 jd->jd_inode = NULL; in gfs2_jindex_free() 77 kfree(jd); in gfs2_jindex_free() 83 struct gfs2_jdesc *jd; in jdesc_find_i() local 85 list_for_each_entry(jd, head, jd_list) { in jdesc_find_i() 86 if (jd->jd_jid == jid) in jdesc_find_i() [all …]
|
D | ops_fstype.c | 572 struct gfs2_jdesc *jd; in gfs2_jindex_hold() local 601 jd = kzalloc(sizeof(struct gfs2_jdesc), GFP_KERNEL); in gfs2_jindex_hold() 602 if (!jd) in gfs2_jindex_hold() 605 INIT_LIST_HEAD(&jd->extent_list); in gfs2_jindex_hold() 606 INIT_LIST_HEAD(&jd->jd_revoke_list); in gfs2_jindex_hold() 608 INIT_WORK(&jd->jd_work, gfs2_recover_func); in gfs2_jindex_hold() 609 jd->jd_inode = gfs2_lookupi(sdp->sd_jindex, &name, 1); in gfs2_jindex_hold() 610 if (IS_ERR_OR_NULL(jd->jd_inode)) { in gfs2_jindex_hold() 611 if (!jd->jd_inode) in gfs2_jindex_hold() 614 error = PTR_ERR(jd->jd_inode); in gfs2_jindex_hold() [all …]
|
D | bmap.c | 2168 void gfs2_free_journal_extents(struct gfs2_jdesc *jd) in gfs2_free_journal_extents() argument 2172 while(!list_empty(&jd->extent_list)) { in gfs2_free_journal_extents() 2173 jext = list_first_entry(&jd->extent_list, struct gfs2_journal_extent, list); in gfs2_free_journal_extents() 2189 static int gfs2_add_jextent(struct gfs2_jdesc *jd, u64 lblock, u64 dblock, u64 blocks) in gfs2_add_jextent() argument 2193 if (!list_empty(&jd->extent_list)) { in gfs2_add_jextent() 2194 jext = list_last_entry(&jd->extent_list, struct gfs2_journal_extent, list); in gfs2_add_jextent() 2207 list_add_tail(&jext->list, &jd->extent_list); in gfs2_add_jextent() 2208 jd->nr_extents++; in gfs2_add_jextent() 2232 int gfs2_map_journal_extents(struct gfs2_sbd *sdp, struct gfs2_jdesc *jd) in gfs2_map_journal_extents() argument 2236 struct gfs2_inode *ip = GFS2_I(jd->jd_inode); in gfs2_map_journal_extents() [all …]
|
D | util.c | 51 int check_journal_clean(struct gfs2_sbd *sdp, struct gfs2_jdesc *jd, in check_journal_clean() argument 59 ip = GFS2_I(jd->jd_inode); in check_journal_clean() 68 error = gfs2_jdesc_check(jd); in check_journal_clean() 75 error = gfs2_find_jhead(jd, &head, false); in check_journal_clean() 87 jd->jd_jid); in check_journal_clean()
|
D | bmap.h | 66 extern int gfs2_map_journal_extents(struct gfs2_sbd *sdp, struct gfs2_jdesc *jd); 67 extern void gfs2_free_journal_extents(struct gfs2_jdesc *jd);
|
D | log.c | 832 void gfs2_write_log_header(struct gfs2_sbd *sdp, struct gfs2_jdesc *jd, in gfs2_write_log_header() argument 866 if (!list_empty(&jd->extent_list)) in gfs2_write_log_header() 867 dblock = gfs2_log_bmap(jd, lblock); in gfs2_write_log_header() 873 ret = gfs2_get_extent(jd->jd_inode, lblock, &dblock, &extlen); in gfs2_write_log_header() 878 lh->lh_jinode = cpu_to_be64(GFS2_I(jd->jd_inode)->i_no_addr); in gfs2_write_log_header() 902 gfs2_log_write(sdp, jd, page, sb->s_blocksize, 0, dblock); in gfs2_write_log_header() 903 gfs2_log_submit_bio(&jd->jd_log_bio, REQ_OP_WRITE | op_flags); in gfs2_write_log_header()
|
D | sys.c | 490 struct gfs2_jdesc *jd; in gfs2_recover_set() local 510 list_for_each_entry(jd, &sdp->sd_jindex_list, jd_list) { in gfs2_recover_set() 511 if (jd->jd_jid != jid && !sdp->sd_args.ar_spectator) in gfs2_recover_set() 513 rv = gfs2_recover_journal(jd, false); in gfs2_recover_set()
|
D | incore.h | 59 void (*lo_before_scan) (struct gfs2_jdesc *jd, 61 int (*lo_scan_elements) (struct gfs2_jdesc *jd, unsigned int start, 64 void (*lo_after_scan) (struct gfs2_jdesc *jd, int error, int pass);
|
D | super.h | 32 extern int gfs2_jdesc_check(struct gfs2_jdesc *jd);
|
D | log.h | 83 extern void gfs2_write_log_header(struct gfs2_sbd *sdp, struct gfs2_jdesc *jd,
|
D | lock_dlm.c | 602 struct gfs2_jdesc *jd; in remote_withdraw() local 605 list_for_each_entry(jd, &sdp->sd_jindex_list, jd_list) { in remote_withdraw() 606 if (jd->jd_jid == sdp->sd_lockstruct.ls_jid) in remote_withdraw() 608 ret = gfs2_recover_journal(jd, true); in remote_withdraw()
|
D | util.h | 150 extern int check_journal_clean(struct gfs2_sbd *sdp, struct gfs2_jdesc *jd,
|