1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. 4 * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. 5 */ 6 7 #ifndef __RECOVERY_DOT_H__ 8 #define __RECOVERY_DOT_H__ 9 10 #include "incore.h" 11 12 extern struct workqueue_struct *gfs2_recovery_wq; 13 14 static inline void gfs2_replay_incr_blk(struct gfs2_jdesc *jd, u32 *blk) 15 { 16 if (++*blk == jd->jd_blocks) 17 *blk = 0; 18 } 19 20 int gfs2_replay_read_block(struct gfs2_jdesc *jd, unsigned int blk, 21 struct buffer_head **bh); 22 23 int gfs2_revoke_add(struct gfs2_jdesc *jd, u64 blkno, unsigned int where); 24 int gfs2_revoke_check(struct gfs2_jdesc *jd, u64 blkno, unsigned int where); 25 void gfs2_revoke_clean(struct gfs2_jdesc *jd); 26 27 int gfs2_recover_journal(struct gfs2_jdesc *gfs2_jd, bool wait); 28 void gfs2_recover_func(struct work_struct *work); 29 int __get_log_header(struct gfs2_sbd *sdp, 30 const struct gfs2_log_header *lh, unsigned int blkno, 31 struct gfs2_log_header_host *head); 32 33 #endif /* __RECOVERY_DOT_H__ */ 34 35