root/fs/xfs/libxfs/xfs_log_recover.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 // SPDX-License-Identifier: GPL-2.0
   2 /*
   3  * Copyright (c) 2000,2005 Silicon Graphics, Inc.
   4  * All Rights Reserved.
   5  */
   6 #ifndef __XFS_LOG_RECOVER_H__
   7 #define __XFS_LOG_RECOVER_H__
   8 
   9 /*
  10  * Macros, structures, prototypes for internal log manager use.
  11  */
  12 
  13 #define XLOG_RHASH_BITS  4
  14 #define XLOG_RHASH_SIZE 16
  15 #define XLOG_RHASH_SHIFT 2
  16 #define XLOG_RHASH(tid) \
  17         ((((uint32_t)tid)>>XLOG_RHASH_SHIFT) & (XLOG_RHASH_SIZE-1))
  18 
  19 #define XLOG_MAX_REGIONS_IN_ITEM   (XFS_MAX_BLOCKSIZE / XFS_BLF_CHUNK / 2 + 1)
  20 
  21 
  22 /*
  23  * item headers are in ri_buf[0].  Additional buffers follow.
  24  */
  25 typedef struct xlog_recover_item {
  26         struct list_head        ri_list;
  27         int                     ri_type;
  28         int                     ri_cnt; /* count of regions found */
  29         int                     ri_total;       /* total regions */
  30         xfs_log_iovec_t         *ri_buf;        /* ptr to regions buffer */
  31 } xlog_recover_item_t;
  32 
  33 typedef struct xlog_recover {
  34         struct hlist_node       r_list;
  35         xlog_tid_t              r_log_tid;      /* log's transaction id */
  36         xfs_trans_header_t      r_theader;      /* trans header for partial */
  37         int                     r_state;        /* not needed */
  38         xfs_lsn_t               r_lsn;          /* xact lsn */
  39         struct list_head        r_itemq;        /* q for items */
  40 } xlog_recover_t;
  41 
  42 #define ITEM_TYPE(i)    (*(unsigned short *)(i)->ri_buf[0].i_addr)
  43 
  44 /*
  45  * This is the number of entries in the l_buf_cancel_table used during
  46  * recovery.
  47  */
  48 #define XLOG_BC_TABLE_SIZE      64
  49 
  50 #define XLOG_RECOVER_CRCPASS    0
  51 #define XLOG_RECOVER_PASS1      1
  52 #define XLOG_RECOVER_PASS2      2
  53 
  54 #endif  /* __XFS_LOG_RECOVER_H__ */

/* [<][>][^][v][top][bottom][index][help] */