2
* Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
2
* Copyright (c) 2000-2004 Silicon Graphics, Inc. All Rights Reserved.
4
4
* This program is free software; you can redistribute it and/or modify it
5
5
* under the terms of version 2 of the GNU General Public License as
58
58
int l_grant_reserve_bytes; /* */
59
59
int l_grant_write_cycle; /* */
60
60
int l_grant_write_bytes; /* */
61
uint l_sectbb_log; /* log2 of sector size in bbs */
63
#include <xfs_log_recover.h>
64
#include <xfs_buf_item.h>
65
#include <xfs_inode_item.h>
66
#include <xfs_extfree_item.h>
67
#include <xfs_dquot_item.h>
64
#include <xfs/xfs_log_recover.h>
65
#include <xfs/xfs_buf_item.h>
66
#include <xfs/xfs_inode_item.h>
67
#include <xfs/xfs_extfree_item.h>
70
xlog_rec_header_t hic_header;
71
xlog_rec_ext_header_t hic_xheader;
72
char hic_sector[XLOG_HEADER_SIZE];
71
76
* macros mapping kernel code to user code
74
#define EFSCORRUPTED 990
75
#define XFS_ERROR(e) (e)
76
#define min(a,b) ((a) < (b) ? (a) : (b))
79
#define EFSCORRUPTED 990
82
#define XFS_ERROR(e) (e)
84
#define XFS_ERROR_REPORT(e,l,mp) fprintf(stderr, "ERROR: %s\n", e)
86
#define XFS_ERROR_REPORT(e,l,mp) ((void) 0)
88
#define XFS_CORRUPTION_ERROR(e,l,mp,m) ((void) 0)
89
#define unlikely(x) (x)
90
#define min(a,b) ((a) < (b) ? (a) : (b))
78
92
#if (__GNUC__ < 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ <= 95))
79
93
# define xlog_warn(fmt,args...) \
95
109
xlog_exit(__VA_ARGS__)
98
#define xlog_get_bp(nbblks, mp) libxfs_getbuf(x.logdev, 0, (nbblks))
112
#define xlog_get_bp(log,bbs) libxfs_getbuf(x.logdev, 0, (bbs))
99
113
#define xlog_put_bp(bp) libxfs_putbuf(bp)
100
#define xlog_bread(log,blkno,nbblks,bp) \
114
#define xlog_bread(log,blkno,bbs,bp) \
101
115
(libxfs_readbufr(x.logdev, \
102
(log)->l_logBBstart+(blkno), bp, (nbblks), 1), 0)
116
(log)->l_logBBstart+(blkno), bp, (bbs), 1), 0)
117
#define xlog_align(log,blkno,nbblks,bp) XFS_BUF_PTR(bp)
104
119
#define kmem_zalloc(size, foo) calloc(size,1)
120
#define kmem_alloc(size, foo) calloc(size,1)
105
121
#define kmem_free(ptr, foo) free(ptr)
106
122
#define kmem_realloc(ptr, len, old, foo) realloc(ptr, len)
125
extern int print_exit;
126
extern int print_skip_uuid;
109
127
extern int print_record_header;
110
extern int print_exit;
112
129
/* libxfs parameters */
113
130
extern libxfs_init_t x;
115
extern void xfs_log_print_trans(xlog_t *log,
116
int print_block_start);
118
extern void xfs_log_print( xlog_t *log,
120
int print_block_start);
122
132
extern int xlog_find_zeroed(xlog_t *log, xfs_daddr_t *blk_no);
123
133
extern int xlog_find_cycle_start(xlog_t *log, xfs_buf_t *bp,
124
134
xfs_daddr_t first_blk, xfs_daddr_t *last_blk, uint cycle);
132
142
extern void xlog_recover_print_trans_head(xlog_recover_t *tr);
133
143
extern int xlog_print_find_oldest(xlog_t *log, xfs_daddr_t *last_blk);
135
extern void print_xlog_op_line(void);
136
extern void print_xlog_record_line(void);
137
extern void print_stars(void);
139
145
/* for transactional view */
140
146
extern void xlog_recover_print_trans_head(xlog_recover_t *tr);
150
156
extern int xlog_recover_do_trans( xlog_t *log,
151
157
xlog_recover_t *trans,
153
extern int xlog_header_check_recover( xfs_mount_t *mp,
154
xlog_rec_header_t *head);
155
extern int xlog_header_check_mount( xfs_mount_t *mp,
156
xlog_rec_header_t *head);
159
extern int xlog_header_check_recover( xfs_mount_t *mp,
160
xlog_rec_header_t *head);
161
extern int xlog_header_check_mount( xfs_mount_t *mp,
162
xlog_rec_header_t *head);
158
164
#endif /* LIBXLOG_H */