~ubuntu-branches/ubuntu/edgy/xfsprogs/edgy

« back to all changes in this revision

Viewing changes to include/libxlog.h

  • Committer: Bazaar Package Importer
  • Author(s): Nathan Scott
  • Date: 2004-07-28 21:11:38 UTC
  • Revision ID: james.westby@ubuntu.com-20040728211138-0v4pdnunnp7na5lm
Tags: 2.6.20-1
* New upstream release.
* Fix xfs_io segfault on non-XFS files.  (closes: #260470)
* Fix packaging botch, deleted files included.  (closes: #260491)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
 * Copyright (c) 2000 Silicon Graphics, Inc.  All Rights Reserved.
 
2
 * Copyright (c) 2000-2004 Silicon Graphics, Inc.  All Rights Reserved.
3
3
 *
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
32
32
#ifndef LIBXLOG_H
33
33
#define LIBXLOG_H
34
34
 
35
 
#include <libxfs.h>
 
35
#include <xfs/libxfs.h>
36
36
 
37
37
/*
38
38
 * define the userlevel xlog_t to be the subset of the kernel's
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 */
61
62
} xlog_t;
62
63
 
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>
68
68
 
 
69
typedef union {
 
70
        xlog_rec_header_t       hic_header;
 
71
        xlog_rec_ext_header_t   hic_xheader;
 
72
        char                    hic_sector[XLOG_HEADER_SIZE];
 
73
} xlog_in_core_2_t;
69
74
 
70
75
/*
71
76
 * macros mapping kernel code to user code
72
77
 */
73
 
#define STATIC                  static
74
 
#define EFSCORRUPTED            990
75
 
#define XFS_ERROR(e)            (e)
76
 
#define min(a,b)                ((a) < (b) ? (a) : (b))
 
78
#ifndef EFSCORRUPTED
 
79
#define EFSCORRUPTED                     990
 
80
#endif
 
81
#define STATIC                          static
 
82
#define XFS_ERROR(e)                    (e)
 
83
#ifdef DEBUG
 
84
#define XFS_ERROR_REPORT(e,l,mp)        fprintf(stderr, "ERROR: %s\n", e)
 
85
#else
 
86
#define XFS_ERROR_REPORT(e,l,mp)        ((void) 0)
 
87
#endif
 
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))
77
91
 
78
92
#if (__GNUC__ < 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ <= 95))
79
93
# define xlog_warn(fmt,args...) \
95
109
        xlog_exit(__VA_ARGS__)
96
110
#endif
97
111
 
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)
103
 
                         
 
116
                        (log)->l_logBBstart+(blkno), bp, (bbs), 1), 0)
 
117
#define xlog_align(log,blkno,nbblks,bp) XFS_BUF_PTR(bp)
 
118
 
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)
107
123
 
108
124
/* exports */
 
125
extern int      print_exit;
 
126
extern int      print_skip_uuid;
109
127
extern int      print_record_header;
110
 
extern int      print_exit;
111
128
 
112
129
/* libxfs parameters */
113
130
extern libxfs_init_t    x;
114
131
 
115
 
extern void xfs_log_print_trans(xlog_t          *log,
116
 
                                int             print_block_start);
117
 
 
118
 
extern void xfs_log_print(      xlog_t          *log,
119
 
                                int             fd,
120
 
                                int             print_block_start);
121
 
 
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);
134
144
 
135
 
extern void print_xlog_op_line(void);
136
 
extern void print_xlog_record_line(void);
137
 
extern void print_stars(void);
138
 
 
139
145
/* for transactional view */
140
146
extern void xlog_recover_print_trans_head(xlog_recover_t *tr);
141
147
 
150
156
extern int  xlog_recover_do_trans(      xlog_t          *log,
151
157
                                        xlog_recover_t  *trans,
152
158
                                        int             pass);
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);
157
163
 
158
164
#endif  /* LIBXLOG_H */