2006-01-16 19:50:04 +03:00
/*
* Copyright ( C ) Sistina Software , Inc . 1997 - 2003 All rights reserved .
2006-05-18 23:09:15 +04:00
* Copyright ( C ) 2004 - 2006 Red Hat , Inc . All rights reserved .
2006-01-16 19:50:04 +03:00
*
* This copyrighted material is made available to anyone wishing to use ,
* modify , copy , or redistribute it subject to the terms and conditions
2006-09-01 19:05:15 +04:00
* of the GNU General Public License version 2.
2006-01-16 19:50:04 +03:00
*/
# ifndef __RECOVERY_DOT_H__
# define __RECOVERY_DOT_H__
2006-09-05 18:39:21 +04:00
# include "incore.h"
2010-07-21 00:09:02 +04:00
extern struct workqueue_struct * gfs_recovery_wq ;
2016-07-21 21:02:44 +03:00
static inline void gfs2_replay_incr_blk ( struct gfs2_jdesc * jd , unsigned int * blk )
2006-01-16 19:50:04 +03:00
{
2016-07-21 21:02:44 +03:00
if ( + + * blk = = jd - > jd_blocks )
2006-01-16 19:50:04 +03:00
* blk = 0 ;
}
2008-11-19 13:08:22 +03:00
extern int gfs2_replay_read_block ( struct gfs2_jdesc * jd , unsigned int blk ,
2006-01-16 19:50:04 +03:00
struct buffer_head * * bh ) ;
2014-03-07 02:19:15 +04:00
extern int gfs2_revoke_add ( struct gfs2_jdesc * jd , u64 blkno , unsigned int where ) ;
extern int gfs2_revoke_check ( struct gfs2_jdesc * jd , u64 blkno , unsigned int where ) ;
extern void gfs2_revoke_clean ( struct gfs2_jdesc * jd ) ;
2006-01-16 19:50:04 +03:00
2008-11-19 13:08:22 +03:00
extern int gfs2_find_jhead ( struct gfs2_jdesc * jd ,
2006-10-14 05:47:13 +04:00
struct gfs2_log_header_host * head ) ;
2010-07-21 00:09:02 +04:00
extern int gfs2_recover_journal ( struct gfs2_jdesc * gfs2_jd , bool wait ) ;
extern void gfs2_recover_func ( struct work_struct * work ) ;
2006-01-16 19:50:04 +03:00
# endif /* __RECOVERY_DOT_H__ */