diff options
author | Mark Tinguely <tinguely@sgi.com> | 2012-06-14 10:22:16 -0400 |
---|---|---|
committer | Ben Myers <bpm@sgi.com> | 2012-06-21 15:22:27 -0400 |
commit | 9a8d2fdbb47aaa1eaa136b89da5e5e6b60015c78 (patch) | |
tree | 32feb9af749ef07606189c93c751585efab09150 /fs/xfs | |
parent | ad223e6030be017470e46f153de27a43979759e0 (diff) |
xfs: remove xlog_t typedef
Remove the xlog_t type definitions.
Signed-off-by: Mark Tinguely <tinguely@sgi.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ben Myers <bpm@sgi.com>
Diffstat (limited to 'fs/xfs')
-rw-r--r-- | fs/xfs/xfs_log.c | 223 | ||||
-rw-r--r-- | fs/xfs/xfs_log_priv.h | 18 | ||||
-rw-r--r-- | fs/xfs/xfs_log_recover.c | 140 |
3 files changed, 224 insertions, 157 deletions
diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c index d90d4a388609..7f4f9370d0e7 100644 --- a/fs/xfs/xfs_log.c +++ b/fs/xfs/xfs_log.c | |||
@@ -45,51 +45,85 @@ xlog_commit_record( | |||
45 | struct xlog_in_core **iclog, | 45 | struct xlog_in_core **iclog, |
46 | xfs_lsn_t *commitlsnp); | 46 | xfs_lsn_t *commitlsnp); |
47 | 47 | ||
48 | STATIC xlog_t * xlog_alloc_log(xfs_mount_t *mp, | 48 | STATIC struct xlog * |
49 | xfs_buftarg_t *log_target, | 49 | xlog_alloc_log( |
50 | xfs_daddr_t blk_offset, | 50 | struct xfs_mount *mp, |
51 | int num_bblks); | 51 | struct xfs_buftarg *log_target, |
52 | xfs_daddr_t blk_offset, | ||
53 | int num_bblks); | ||
52 | STATIC int | 54 | STATIC int |
53 | xlog_space_left( | 55 | xlog_space_left( |
54 | struct xlog *log, | 56 | struct xlog *log, |
55 | atomic64_t *head); | 57 | atomic64_t *head); |
56 | STATIC int xlog_sync(xlog_t *log, xlog_in_core_t *iclog); | 58 | STATIC int |
57 | STATIC void xlog_dealloc_log(xlog_t *log); | 59 | xlog_sync( |
60 | struct xlog *log, | ||
61 | struct xlog_in_core *iclog); | ||
62 | STATIC void | ||
63 | xlog_dealloc_log( | ||
64 | struct xlog *log); | ||
58 | 65 | ||
59 | /* local state machine functions */ | 66 | /* local state machine functions */ |
60 | STATIC void xlog_state_done_syncing(xlog_in_core_t *iclog, int); | 67 | STATIC void xlog_state_done_syncing(xlog_in_core_t *iclog, int); |
61 | STATIC void xlog_state_do_callback(xlog_t *log,int aborted, xlog_in_core_t *iclog); | 68 | STATIC void |
62 | STATIC int xlog_state_get_iclog_space(xlog_t *log, | 69 | xlog_state_do_callback( |
63 | int len, | 70 | struct xlog *log, |
64 | xlog_in_core_t **iclog, | 71 | int aborted, |
65 | xlog_ticket_t *ticket, | 72 | struct xlog_in_core *iclog); |
66 | int *continued_write, | 73 | STATIC int |
67 | int *logoffsetp); | 74 | xlog_state_get_iclog_space( |
68 | STATIC int xlog_state_release_iclog(xlog_t *log, | 75 | struct xlog *log, |
69 | xlog_in_core_t *iclog); | 76 | int len, |
70 | STATIC void xlog_state_switch_iclogs(xlog_t *log, | 77 | struct xlog_in_core **iclog, |
71 | xlog_in_core_t *iclog, | 78 | struct xlog_ticket *ticket, |
72 | int eventual_size); | 79 | int *continued_write, |
73 | STATIC void xlog_state_want_sync(xlog_t *log, xlog_in_core_t *iclog); | 80 | int *logoffsetp); |
81 | STATIC int | ||
82 | xlog_state_release_iclog( | ||
83 | struct xlog *log, | ||
84 | struct xlog_in_core *iclog); | ||
85 | STATIC void | ||
86 | xlog_state_switch_iclogs( | ||
87 | struct xlog *log, | ||
88 | struct xlog_in_core *iclog, | ||
89 | int eventual_size); | ||
90 | STATIC void | ||
91 | xlog_state_want_sync( | ||
92 | struct xlog *log, | ||
93 | struct xlog_in_core *iclog); | ||
74 | 94 | ||
75 | STATIC void | 95 | STATIC void |
76 | xlog_grant_push_ail( | 96 | xlog_grant_push_ail( |
77 | struct xlog *log, | 97 | struct xlog *log, |
78 | int need_bytes); | 98 | int need_bytes); |
79 | STATIC void xlog_regrant_reserve_log_space(xlog_t *log, | 99 | STATIC void |
80 | xlog_ticket_t *ticket); | 100 | xlog_regrant_reserve_log_space( |
81 | STATIC void xlog_ungrant_log_space(xlog_t *log, | 101 | struct xlog *log, |
82 | xlog_ticket_t *ticket); | 102 | struct xlog_ticket *ticket); |
103 | STATIC void | ||
104 | xlog_ungrant_log_space( | ||
105 | struct xlog *log, | ||
106 | struct xlog_ticket *ticket); | ||
83 | 107 | ||
84 | #if defined(DEBUG) | 108 | #if defined(DEBUG) |
85 | STATIC void xlog_verify_dest_ptr(xlog_t *log, char *ptr); | 109 | STATIC void |
110 | xlog_verify_dest_ptr( | ||
111 | struct xlog *log, | ||
112 | char *ptr); | ||
86 | STATIC void | 113 | STATIC void |
87 | xlog_verify_grant_tail( | 114 | xlog_verify_grant_tail( |
88 | struct xlog *log); | 115 | struct xlog *log); |
89 | STATIC void xlog_verify_iclog(xlog_t *log, xlog_in_core_t *iclog, | 116 | STATIC void |
90 | int count, boolean_t syncing); | 117 | xlog_verify_iclog( |
91 | STATIC void xlog_verify_tail_lsn(xlog_t *log, xlog_in_core_t *iclog, | 118 | struct xlog *log, |
92 | xfs_lsn_t tail_lsn); | 119 | struct xlog_in_core *iclog, |
120 | int count, | ||
121 | boolean_t syncing); | ||
122 | STATIC void | ||
123 | xlog_verify_tail_lsn( | ||
124 | struct xlog *log, | ||
125 | struct xlog_in_core *iclog, | ||
126 | xfs_lsn_t tail_lsn); | ||
93 | #else | 127 | #else |
94 | #define xlog_verify_dest_ptr(a,b) | 128 | #define xlog_verify_dest_ptr(a,b) |
95 | #define xlog_verify_grant_tail(a) | 129 | #define xlog_verify_grant_tail(a) |
@@ -97,7 +131,9 @@ STATIC void xlog_verify_tail_lsn(xlog_t *log, xlog_in_core_t *iclog, | |||
97 | #define xlog_verify_tail_lsn(a,b,c) | 131 | #define xlog_verify_tail_lsn(a,b,c) |
98 | #endif | 132 | #endif |
99 | 133 | ||
100 | STATIC int xlog_iclogs_empty(xlog_t *log); | 134 | STATIC int |
135 | xlog_iclogs_empty( | ||
136 | struct xlog *log); | ||
101 | 137 | ||
102 | static void | 138 | static void |
103 | xlog_grant_sub_space( | 139 | xlog_grant_sub_space( |
@@ -684,7 +720,7 @@ xfs_log_mount_finish(xfs_mount_t *mp) | |||
684 | int | 720 | int |
685 | xfs_log_unmount_write(xfs_mount_t *mp) | 721 | xfs_log_unmount_write(xfs_mount_t *mp) |
686 | { | 722 | { |
687 | xlog_t *log = mp->m_log; | 723 | struct xlog *log = mp->m_log; |
688 | xlog_in_core_t *iclog; | 724 | xlog_in_core_t *iclog; |
689 | #ifdef DEBUG | 725 | #ifdef DEBUG |
690 | xlog_in_core_t *first_iclog; | 726 | xlog_in_core_t *first_iclog; |
@@ -893,7 +929,7 @@ int | |||
893 | xfs_log_need_covered(xfs_mount_t *mp) | 929 | xfs_log_need_covered(xfs_mount_t *mp) |
894 | { | 930 | { |
895 | int needed = 0; | 931 | int needed = 0; |
896 | xlog_t *log = mp->m_log; | 932 | struct xlog *log = mp->m_log; |
897 | 933 | ||
898 | if (!xfs_fs_writable(mp)) | 934 | if (!xfs_fs_writable(mp)) |
899 | return 0; | 935 | return 0; |
@@ -1024,9 +1060,9 @@ xlog_space_left( | |||
1024 | void | 1060 | void |
1025 | xlog_iodone(xfs_buf_t *bp) | 1061 | xlog_iodone(xfs_buf_t *bp) |
1026 | { | 1062 | { |
1027 | xlog_in_core_t *iclog = bp->b_fspriv; | 1063 | struct xlog_in_core *iclog = bp->b_fspriv; |
1028 | xlog_t *l = iclog->ic_log; | 1064 | struct xlog *l = iclog->ic_log; |
1029 | int aborted = 0; | 1065 | int aborted = 0; |
1030 | 1066 | ||
1031 | /* | 1067 | /* |
1032 | * Race to shutdown the filesystem if we see an error. | 1068 | * Race to shutdown the filesystem if we see an error. |
@@ -1067,8 +1103,9 @@ xlog_iodone(xfs_buf_t *bp) | |||
1067 | */ | 1103 | */ |
1068 | 1104 | ||
1069 | STATIC void | 1105 | STATIC void |
1070 | xlog_get_iclog_buffer_size(xfs_mount_t *mp, | 1106 | xlog_get_iclog_buffer_size( |
1071 | xlog_t *log) | 1107 | struct xfs_mount *mp, |
1108 | struct xlog *log) | ||
1072 | { | 1109 | { |
1073 | int size; | 1110 | int size; |
1074 | int xhdrs; | 1111 | int xhdrs; |
@@ -1129,13 +1166,14 @@ done: | |||
1129 | * Its primary purpose is to fill in enough, so recovery can occur. However, | 1166 | * Its primary purpose is to fill in enough, so recovery can occur. However, |
1130 | * some other stuff may be filled in too. | 1167 | * some other stuff may be filled in too. |
1131 | */ | 1168 | */ |
1132 | STATIC xlog_t * | 1169 | STATIC struct xlog * |
1133 | xlog_alloc_log(xfs_mount_t *mp, | 1170 | xlog_alloc_log( |
1134 | xfs_buftarg_t *log_target, | 1171 | struct xfs_mount *mp, |
1135 | xfs_daddr_t blk_offset, | 1172 | struct xfs_buftarg *log_target, |
1136 | int num_bblks) | 1173 | xfs_daddr_t blk_offset, |
1174 | int num_bblks) | ||
1137 | { | 1175 | { |
1138 | xlog_t *log; | 1176 | struct xlog *log; |
1139 | xlog_rec_header_t *head; | 1177 | xlog_rec_header_t *head; |
1140 | xlog_in_core_t **iclogp; | 1178 | xlog_in_core_t **iclogp; |
1141 | xlog_in_core_t *iclog, *prev_iclog=NULL; | 1179 | xlog_in_core_t *iclog, *prev_iclog=NULL; |
@@ -1144,7 +1182,7 @@ xlog_alloc_log(xfs_mount_t *mp, | |||
1144 | int error = ENOMEM; | 1182 | int error = ENOMEM; |
1145 | uint log2_size = 0; | 1183 | uint log2_size = 0; |
1146 | 1184 | ||
1147 | log = kmem_zalloc(sizeof(xlog_t), KM_MAYFAIL); | 1185 | log = kmem_zalloc(sizeof(struct xlog), KM_MAYFAIL); |
1148 | if (!log) { | 1186 | if (!log) { |
1149 | xfs_warn(mp, "Log allocation failed: No memory!"); | 1187 | xfs_warn(mp, "Log allocation failed: No memory!"); |
1150 | goto out; | 1188 | goto out; |
@@ -1434,8 +1472,9 @@ xlog_bdstrat( | |||
1434 | */ | 1472 | */ |
1435 | 1473 | ||
1436 | STATIC int | 1474 | STATIC int |
1437 | xlog_sync(xlog_t *log, | 1475 | xlog_sync( |
1438 | xlog_in_core_t *iclog) | 1476 | struct xlog *log, |
1477 | struct xlog_in_core *iclog) | ||
1439 | { | 1478 | { |
1440 | xfs_caddr_t dptr; /* pointer to byte sized element */ | 1479 | xfs_caddr_t dptr; /* pointer to byte sized element */ |
1441 | xfs_buf_t *bp; | 1480 | xfs_buf_t *bp; |
@@ -1584,7 +1623,8 @@ xlog_sync(xlog_t *log, | |||
1584 | * Deallocate a log structure | 1623 | * Deallocate a log structure |
1585 | */ | 1624 | */ |
1586 | STATIC void | 1625 | STATIC void |
1587 | xlog_dealloc_log(xlog_t *log) | 1626 | xlog_dealloc_log( |
1627 | struct xlog *log) | ||
1588 | { | 1628 | { |
1589 | xlog_in_core_t *iclog, *next_iclog; | 1629 | xlog_in_core_t *iclog, *next_iclog; |
1590 | int i; | 1630 | int i; |
@@ -1616,10 +1656,11 @@ xlog_dealloc_log(xlog_t *log) | |||
1616 | */ | 1656 | */ |
1617 | /* ARGSUSED */ | 1657 | /* ARGSUSED */ |
1618 | static inline void | 1658 | static inline void |
1619 | xlog_state_finish_copy(xlog_t *log, | 1659 | xlog_state_finish_copy( |
1620 | xlog_in_core_t *iclog, | 1660 | struct xlog *log, |
1621 | int record_cnt, | 1661 | struct xlog_in_core *iclog, |
1622 | int copy_bytes) | 1662 | int record_cnt, |
1663 | int copy_bytes) | ||
1623 | { | 1664 | { |
1624 | spin_lock(&log->l_icloglock); | 1665 | spin_lock(&log->l_icloglock); |
1625 | 1666 | ||
@@ -2142,7 +2183,8 @@ xlog_write( | |||
2142 | * State Change: DIRTY -> ACTIVE | 2183 | * State Change: DIRTY -> ACTIVE |
2143 | */ | 2184 | */ |
2144 | STATIC void | 2185 | STATIC void |
2145 | xlog_state_clean_log(xlog_t *log) | 2186 | xlog_state_clean_log( |
2187 | struct xlog *log) | ||
2146 | { | 2188 | { |
2147 | xlog_in_core_t *iclog; | 2189 | xlog_in_core_t *iclog; |
2148 | int changed = 0; | 2190 | int changed = 0; |
@@ -2222,7 +2264,7 @@ xlog_state_clean_log(xlog_t *log) | |||
2222 | 2264 | ||
2223 | STATIC xfs_lsn_t | 2265 | STATIC xfs_lsn_t |
2224 | xlog_get_lowest_lsn( | 2266 | xlog_get_lowest_lsn( |
2225 | xlog_t *log) | 2267 | struct xlog *log) |
2226 | { | 2268 | { |
2227 | xlog_in_core_t *lsn_log; | 2269 | xlog_in_core_t *lsn_log; |
2228 | xfs_lsn_t lowest_lsn, lsn; | 2270 | xfs_lsn_t lowest_lsn, lsn; |
@@ -2245,9 +2287,9 @@ xlog_get_lowest_lsn( | |||
2245 | 2287 | ||
2246 | STATIC void | 2288 | STATIC void |
2247 | xlog_state_do_callback( | 2289 | xlog_state_do_callback( |
2248 | xlog_t *log, | 2290 | struct xlog *log, |
2249 | int aborted, | 2291 | int aborted, |
2250 | xlog_in_core_t *ciclog) | 2292 | struct xlog_in_core *ciclog) |
2251 | { | 2293 | { |
2252 | xlog_in_core_t *iclog; | 2294 | xlog_in_core_t *iclog; |
2253 | xlog_in_core_t *first_iclog; /* used to know when we've | 2295 | xlog_in_core_t *first_iclog; /* used to know when we've |
@@ -2467,7 +2509,7 @@ xlog_state_done_syncing( | |||
2467 | xlog_in_core_t *iclog, | 2509 | xlog_in_core_t *iclog, |
2468 | int aborted) | 2510 | int aborted) |
2469 | { | 2511 | { |
2470 | xlog_t *log = iclog->ic_log; | 2512 | struct xlog *log = iclog->ic_log; |
2471 | 2513 | ||
2472 | spin_lock(&log->l_icloglock); | 2514 | spin_lock(&log->l_icloglock); |
2473 | 2515 | ||
@@ -2521,12 +2563,13 @@ xlog_state_done_syncing( | |||
2521 | * is copied. | 2563 | * is copied. |
2522 | */ | 2564 | */ |
2523 | STATIC int | 2565 | STATIC int |
2524 | xlog_state_get_iclog_space(xlog_t *log, | 2566 | xlog_state_get_iclog_space( |
2525 | int len, | 2567 | struct xlog *log, |
2526 | xlog_in_core_t **iclogp, | 2568 | int len, |
2527 | xlog_ticket_t *ticket, | 2569 | struct xlog_in_core **iclogp, |
2528 | int *continued_write, | 2570 | struct xlog_ticket *ticket, |
2529 | int *logoffsetp) | 2571 | int *continued_write, |
2572 | int *logoffsetp) | ||
2530 | { | 2573 | { |
2531 | int log_offset; | 2574 | int log_offset; |
2532 | xlog_rec_header_t *head; | 2575 | xlog_rec_header_t *head; |
@@ -2631,8 +2674,9 @@ restart: | |||
2631 | * move grant reservation head forward. | 2674 | * move grant reservation head forward. |
2632 | */ | 2675 | */ |
2633 | STATIC void | 2676 | STATIC void |
2634 | xlog_regrant_reserve_log_space(xlog_t *log, | 2677 | xlog_regrant_reserve_log_space( |
2635 | xlog_ticket_t *ticket) | 2678 | struct xlog *log, |
2679 | struct xlog_ticket *ticket) | ||
2636 | { | 2680 | { |
2637 | trace_xfs_log_regrant_reserve_enter(log, ticket); | 2681 | trace_xfs_log_regrant_reserve_enter(log, ticket); |
2638 | 2682 | ||
@@ -2677,8 +2721,9 @@ xlog_regrant_reserve_log_space(xlog_t *log, | |||
2677 | * in the current reservation field. | 2721 | * in the current reservation field. |
2678 | */ | 2722 | */ |
2679 | STATIC void | 2723 | STATIC void |
2680 | xlog_ungrant_log_space(xlog_t *log, | 2724 | xlog_ungrant_log_space( |
2681 | xlog_ticket_t *ticket) | 2725 | struct xlog *log, |
2726 | struct xlog_ticket *ticket) | ||
2682 | { | 2727 | { |
2683 | int bytes; | 2728 | int bytes; |
2684 | 2729 | ||
@@ -2717,8 +2762,8 @@ xlog_ungrant_log_space(xlog_t *log, | |||
2717 | */ | 2762 | */ |
2718 | STATIC int | 2763 | STATIC int |
2719 | xlog_state_release_iclog( | 2764 | xlog_state_release_iclog( |
2720 | xlog_t *log, | 2765 | struct xlog *log, |
2721 | xlog_in_core_t *iclog) | 2766 | struct xlog_in_core *iclog) |
2722 | { | 2767 | { |
2723 | int sync = 0; /* do we sync? */ | 2768 | int sync = 0; /* do we sync? */ |
2724 | 2769 | ||
@@ -2768,9 +2813,10 @@ xlog_state_release_iclog( | |||
2768 | * that every data block. We have run out of space in this log record. | 2813 | * that every data block. We have run out of space in this log record. |
2769 | */ | 2814 | */ |
2770 | STATIC void | 2815 | STATIC void |
2771 | xlog_state_switch_iclogs(xlog_t *log, | 2816 | xlog_state_switch_iclogs( |
2772 | xlog_in_core_t *iclog, | 2817 | struct xlog *log, |
2773 | int eventual_size) | 2818 | struct xlog_in_core *iclog, |
2819 | int eventual_size) | ||
2774 | { | 2820 | { |
2775 | ASSERT(iclog->ic_state == XLOG_STATE_ACTIVE); | 2821 | ASSERT(iclog->ic_state == XLOG_STATE_ACTIVE); |
2776 | if (!eventual_size) | 2822 | if (!eventual_size) |
@@ -3114,7 +3160,9 @@ xfs_log_force_lsn( | |||
3114 | * disk. | 3160 | * disk. |
3115 | */ | 3161 | */ |
3116 | STATIC void | 3162 | STATIC void |
3117 | xlog_state_want_sync(xlog_t *log, xlog_in_core_t *iclog) | 3163 | xlog_state_want_sync( |
3164 | struct xlog *log, | ||
3165 | struct xlog_in_core *iclog) | ||
3118 | { | 3166 | { |
3119 | assert_spin_locked(&log->l_icloglock); | 3167 | assert_spin_locked(&log->l_icloglock); |
3120 | 3168 | ||
@@ -3158,7 +3206,7 @@ xfs_log_ticket_get( | |||
3158 | /* | 3206 | /* |
3159 | * Allocate and initialise a new log ticket. | 3207 | * Allocate and initialise a new log ticket. |
3160 | */ | 3208 | */ |
3161 | xlog_ticket_t * | 3209 | struct xlog_ticket * |
3162 | xlog_ticket_alloc( | 3210 | xlog_ticket_alloc( |
3163 | struct xlog *log, | 3211 | struct xlog *log, |
3164 | int unit_bytes, | 3212 | int unit_bytes, |
@@ -3346,9 +3394,10 @@ xlog_verify_grant_tail( | |||
3346 | 3394 | ||
3347 | /* check if it will fit */ | 3395 | /* check if it will fit */ |
3348 | STATIC void | 3396 | STATIC void |
3349 | xlog_verify_tail_lsn(xlog_t *log, | 3397 | xlog_verify_tail_lsn( |
3350 | xlog_in_core_t *iclog, | 3398 | struct xlog *log, |
3351 | xfs_lsn_t tail_lsn) | 3399 | struct xlog_in_core *iclog, |
3400 | xfs_lsn_t tail_lsn) | ||
3352 | { | 3401 | { |
3353 | int blocks; | 3402 | int blocks; |
3354 | 3403 | ||
@@ -3385,10 +3434,11 @@ xlog_verify_tail_lsn(xlog_t *log, | |||
3385 | * the cycle numbers agree with the current cycle number. | 3434 | * the cycle numbers agree with the current cycle number. |
3386 | */ | 3435 | */ |
3387 | STATIC void | 3436 | STATIC void |
3388 | xlog_verify_iclog(xlog_t *log, | 3437 | xlog_verify_iclog( |
3389 | xlog_in_core_t *iclog, | 3438 | struct xlog *log, |
3390 | int count, | 3439 | struct xlog_in_core *iclog, |
3391 | boolean_t syncing) | 3440 | int count, |
3441 | boolean_t syncing) | ||
3392 | { | 3442 | { |
3393 | xlog_op_header_t *ophead; | 3443 | xlog_op_header_t *ophead; |
3394 | xlog_in_core_t *icptr; | 3444 | xlog_in_core_t *icptr; |
@@ -3482,7 +3532,7 @@ xlog_verify_iclog(xlog_t *log, | |||
3482 | */ | 3532 | */ |
3483 | STATIC int | 3533 | STATIC int |
3484 | xlog_state_ioerror( | 3534 | xlog_state_ioerror( |
3485 | xlog_t *log) | 3535 | struct xlog *log) |
3486 | { | 3536 | { |
3487 | xlog_in_core_t *iclog, *ic; | 3537 | xlog_in_core_t *iclog, *ic; |
3488 | 3538 | ||
@@ -3527,7 +3577,7 @@ xfs_log_force_umount( | |||
3527 | struct xfs_mount *mp, | 3577 | struct xfs_mount *mp, |
3528 | int logerror) | 3578 | int logerror) |
3529 | { | 3579 | { |
3530 | xlog_t *log; | 3580 | struct xlog *log; |
3531 | int retval; | 3581 | int retval; |
3532 | 3582 | ||
3533 | log = mp->m_log; | 3583 | log = mp->m_log; |
@@ -3634,7 +3684,8 @@ xfs_log_force_umount( | |||
3634 | } | 3684 | } |
3635 | 3685 | ||
3636 | STATIC int | 3686 | STATIC int |
3637 | xlog_iclogs_empty(xlog_t *log) | 3687 | xlog_iclogs_empty( |
3688 | struct xlog *log) | ||
3638 | { | 3689 | { |
3639 | xlog_in_core_t *iclog; | 3690 | xlog_in_core_t *iclog; |
3640 | 3691 | ||
diff --git a/fs/xfs/xfs_log_priv.h b/fs/xfs/xfs_log_priv.h index 72eba2201b14..18a801d76a42 100644 --- a/fs/xfs/xfs_log_priv.h +++ b/fs/xfs/xfs_log_priv.h | |||
@@ -487,7 +487,7 @@ struct xlog_grant_head { | |||
487 | * overflow 31 bits worth of byte offset, so using a byte number will mean | 487 | * overflow 31 bits worth of byte offset, so using a byte number will mean |
488 | * that round off problems won't occur when releasing partial reservations. | 488 | * that round off problems won't occur when releasing partial reservations. |
489 | */ | 489 | */ |
490 | typedef struct xlog { | 490 | struct xlog { |
491 | /* The following fields don't need locking */ | 491 | /* The following fields don't need locking */ |
492 | struct xfs_mount *l_mp; /* mount point */ | 492 | struct xfs_mount *l_mp; /* mount point */ |
493 | struct xfs_ail *l_ailp; /* AIL log is working with */ | 493 | struct xfs_ail *l_ailp; /* AIL log is working with */ |
@@ -540,7 +540,7 @@ typedef struct xlog { | |||
540 | char *l_iclog_bak[XLOG_MAX_ICLOGS]; | 540 | char *l_iclog_bak[XLOG_MAX_ICLOGS]; |
541 | #endif | 541 | #endif |
542 | 542 | ||
543 | } xlog_t; | 543 | }; |
544 | 544 | ||
545 | #define XLOG_BUF_CANCEL_BUCKET(log, blkno) \ | 545 | #define XLOG_BUF_CANCEL_BUCKET(log, blkno) \ |
546 | ((log)->l_buf_cancel_table + ((__uint64_t)blkno % XLOG_BC_TABLE_SIZE)) | 546 | ((log)->l_buf_cancel_table + ((__uint64_t)blkno % XLOG_BC_TABLE_SIZE)) |
@@ -548,9 +548,17 @@ typedef struct xlog { | |||
548 | #define XLOG_FORCED_SHUTDOWN(log) ((log)->l_flags & XLOG_IO_ERROR) | 548 | #define XLOG_FORCED_SHUTDOWN(log) ((log)->l_flags & XLOG_IO_ERROR) |
549 | 549 | ||
550 | /* common routines */ | 550 | /* common routines */ |
551 | extern int xlog_recover(xlog_t *log); | 551 | extern int |
552 | extern int xlog_recover_finish(xlog_t *log); | 552 | xlog_recover( |
553 | extern void xlog_pack_data(xlog_t *log, xlog_in_core_t *iclog, int); | 553 | struct xlog *log); |
554 | extern int | ||
555 | xlog_recover_finish( | ||
556 | struct xlog *log); | ||
557 | extern void | ||
558 | xlog_pack_data( | ||
559 | struct xlog *log, | ||
560 | struct xlog_in_core *iclog, | ||
561 | int); | ||
554 | 562 | ||
555 | extern kmem_zone_t *xfs_log_ticket_zone; | 563 | extern kmem_zone_t *xfs_log_ticket_zone; |
556 | struct xlog_ticket * | 564 | struct xlog_ticket * |
diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c index a7be98abd6a9..a76ba886e738 100644 --- a/fs/xfs/xfs_log_recover.c +++ b/fs/xfs/xfs_log_recover.c | |||
@@ -43,10 +43,18 @@ | |||
43 | #include "xfs_utils.h" | 43 | #include "xfs_utils.h" |
44 | #include "xfs_trace.h" | 44 | #include "xfs_trace.h" |
45 | 45 | ||
46 | STATIC int xlog_find_zeroed(xlog_t *, xfs_daddr_t *); | 46 | STATIC int |
47 | STATIC int xlog_clear_stale_blocks(xlog_t *, xfs_lsn_t); | 47 | xlog_find_zeroed( |
48 | struct xlog *, | ||
49 | xfs_daddr_t *); | ||
50 | STATIC int | ||
51 | xlog_clear_stale_blocks( | ||
52 | struct xlog *, | ||
53 | xfs_lsn_t); | ||
48 | #if defined(DEBUG) | 54 | #if defined(DEBUG) |
49 | STATIC void xlog_recover_check_summary(xlog_t *); | 55 | STATIC void |
56 | xlog_recover_check_summary( | ||
57 | struct xlog *); | ||
50 | #else | 58 | #else |
51 | #define xlog_recover_check_summary(log) | 59 | #define xlog_recover_check_summary(log) |
52 | #endif | 60 | #endif |
@@ -74,7 +82,7 @@ struct xfs_buf_cancel { | |||
74 | 82 | ||
75 | static inline int | 83 | static inline int |
76 | xlog_buf_bbcount_valid( | 84 | xlog_buf_bbcount_valid( |
77 | xlog_t *log, | 85 | struct xlog *log, |
78 | int bbcount) | 86 | int bbcount) |
79 | { | 87 | { |
80 | return bbcount > 0 && bbcount <= log->l_logBBsize; | 88 | return bbcount > 0 && bbcount <= log->l_logBBsize; |
@@ -87,7 +95,7 @@ xlog_buf_bbcount_valid( | |||
87 | */ | 95 | */ |
88 | STATIC xfs_buf_t * | 96 | STATIC xfs_buf_t * |
89 | xlog_get_bp( | 97 | xlog_get_bp( |
90 | xlog_t *log, | 98 | struct xlog *log, |
91 | int nbblks) | 99 | int nbblks) |
92 | { | 100 | { |
93 | struct xfs_buf *bp; | 101 | struct xfs_buf *bp; |
@@ -138,10 +146,10 @@ xlog_put_bp( | |||
138 | */ | 146 | */ |
139 | STATIC xfs_caddr_t | 147 | STATIC xfs_caddr_t |
140 | xlog_align( | 148 | xlog_align( |
141 | xlog_t *log, | 149 | struct xlog *log, |
142 | xfs_daddr_t blk_no, | 150 | xfs_daddr_t blk_no, |
143 | int nbblks, | 151 | int nbblks, |
144 | xfs_buf_t *bp) | 152 | struct xfs_buf *bp) |
145 | { | 153 | { |
146 | xfs_daddr_t offset = blk_no & ((xfs_daddr_t)log->l_sectBBsize - 1); | 154 | xfs_daddr_t offset = blk_no & ((xfs_daddr_t)log->l_sectBBsize - 1); |
147 | 155 | ||
@@ -155,10 +163,10 @@ xlog_align( | |||
155 | */ | 163 | */ |
156 | STATIC int | 164 | STATIC int |
157 | xlog_bread_noalign( | 165 | xlog_bread_noalign( |
158 | xlog_t *log, | 166 | struct xlog *log, |
159 | xfs_daddr_t blk_no, | 167 | xfs_daddr_t blk_no, |
160 | int nbblks, | 168 | int nbblks, |
161 | xfs_buf_t *bp) | 169 | struct xfs_buf *bp) |
162 | { | 170 | { |
163 | int error; | 171 | int error; |
164 | 172 | ||
@@ -189,10 +197,10 @@ xlog_bread_noalign( | |||
189 | 197 | ||
190 | STATIC int | 198 | STATIC int |
191 | xlog_bread( | 199 | xlog_bread( |
192 | xlog_t *log, | 200 | struct xlog *log, |
193 | xfs_daddr_t blk_no, | 201 | xfs_daddr_t blk_no, |
194 | int nbblks, | 202 | int nbblks, |
195 | xfs_buf_t *bp, | 203 | struct xfs_buf *bp, |
196 | xfs_caddr_t *offset) | 204 | xfs_caddr_t *offset) |
197 | { | 205 | { |
198 | int error; | 206 | int error; |
@@ -211,10 +219,10 @@ xlog_bread( | |||
211 | */ | 219 | */ |
212 | STATIC int | 220 | STATIC int |
213 | xlog_bread_offset( | 221 | xlog_bread_offset( |
214 | xlog_t *log, | 222 | struct xlog *log, |
215 | xfs_daddr_t blk_no, /* block to read from */ | 223 | xfs_daddr_t blk_no, /* block to read from */ |
216 | int nbblks, /* blocks to read */ | 224 | int nbblks, /* blocks to read */ |
217 | xfs_buf_t *bp, | 225 | struct xfs_buf *bp, |
218 | xfs_caddr_t offset) | 226 | xfs_caddr_t offset) |
219 | { | 227 | { |
220 | xfs_caddr_t orig_offset = bp->b_addr; | 228 | xfs_caddr_t orig_offset = bp->b_addr; |
@@ -241,10 +249,10 @@ xlog_bread_offset( | |||
241 | */ | 249 | */ |
242 | STATIC int | 250 | STATIC int |
243 | xlog_bwrite( | 251 | xlog_bwrite( |
244 | xlog_t *log, | 252 | struct xlog *log, |
245 | xfs_daddr_t blk_no, | 253 | xfs_daddr_t blk_no, |
246 | int nbblks, | 254 | int nbblks, |
247 | xfs_buf_t *bp) | 255 | struct xfs_buf *bp) |
248 | { | 256 | { |
249 | int error; | 257 | int error; |
250 | 258 | ||
@@ -378,8 +386,8 @@ xlog_recover_iodone( | |||
378 | */ | 386 | */ |
379 | STATIC int | 387 | STATIC int |
380 | xlog_find_cycle_start( | 388 | xlog_find_cycle_start( |
381 | xlog_t *log, | 389 | struct xlog *log, |
382 | xfs_buf_t *bp, | 390 | struct xfs_buf *bp, |
383 | xfs_daddr_t first_blk, | 391 | xfs_daddr_t first_blk, |
384 | xfs_daddr_t *last_blk, | 392 | xfs_daddr_t *last_blk, |
385 | uint cycle) | 393 | uint cycle) |
@@ -421,7 +429,7 @@ xlog_find_cycle_start( | |||
421 | */ | 429 | */ |
422 | STATIC int | 430 | STATIC int |
423 | xlog_find_verify_cycle( | 431 | xlog_find_verify_cycle( |
424 | xlog_t *log, | 432 | struct xlog *log, |
425 | xfs_daddr_t start_blk, | 433 | xfs_daddr_t start_blk, |
426 | int nbblks, | 434 | int nbblks, |
427 | uint stop_on_cycle_no, | 435 | uint stop_on_cycle_no, |
@@ -490,7 +498,7 @@ out: | |||
490 | */ | 498 | */ |
491 | STATIC int | 499 | STATIC int |
492 | xlog_find_verify_log_record( | 500 | xlog_find_verify_log_record( |
493 | xlog_t *log, | 501 | struct xlog *log, |
494 | xfs_daddr_t start_blk, | 502 | xfs_daddr_t start_blk, |
495 | xfs_daddr_t *last_blk, | 503 | xfs_daddr_t *last_blk, |
496 | int extra_bblks) | 504 | int extra_bblks) |
@@ -600,7 +608,7 @@ out: | |||
600 | */ | 608 | */ |
601 | STATIC int | 609 | STATIC int |
602 | xlog_find_head( | 610 | xlog_find_head( |
603 | xlog_t *log, | 611 | struct xlog *log, |
604 | xfs_daddr_t *return_head_blk) | 612 | xfs_daddr_t *return_head_blk) |
605 | { | 613 | { |
606 | xfs_buf_t *bp; | 614 | xfs_buf_t *bp; |
@@ -871,7 +879,7 @@ validate_head: | |||
871 | */ | 879 | */ |
872 | STATIC int | 880 | STATIC int |
873 | xlog_find_tail( | 881 | xlog_find_tail( |
874 | xlog_t *log, | 882 | struct xlog *log, |
875 | xfs_daddr_t *head_blk, | 883 | xfs_daddr_t *head_blk, |
876 | xfs_daddr_t *tail_blk) | 884 | xfs_daddr_t *tail_blk) |
877 | { | 885 | { |
@@ -1080,7 +1088,7 @@ done: | |||
1080 | */ | 1088 | */ |
1081 | STATIC int | 1089 | STATIC int |
1082 | xlog_find_zeroed( | 1090 | xlog_find_zeroed( |
1083 | xlog_t *log, | 1091 | struct xlog *log, |
1084 | xfs_daddr_t *blk_no) | 1092 | xfs_daddr_t *blk_no) |
1085 | { | 1093 | { |
1086 | xfs_buf_t *bp; | 1094 | xfs_buf_t *bp; |
@@ -1183,7 +1191,7 @@ bp_err: | |||
1183 | */ | 1191 | */ |
1184 | STATIC void | 1192 | STATIC void |
1185 | xlog_add_record( | 1193 | xlog_add_record( |
1186 | xlog_t *log, | 1194 | struct xlog *log, |
1187 | xfs_caddr_t buf, | 1195 | xfs_caddr_t buf, |
1188 | int cycle, | 1196 | int cycle, |
1189 | int block, | 1197 | int block, |
@@ -1205,7 +1213,7 @@ xlog_add_record( | |||
1205 | 1213 | ||
1206 | STATIC int | 1214 | STATIC int |
1207 | xlog_write_log_records( | 1215 | xlog_write_log_records( |
1208 | xlog_t *log, | 1216 | struct xlog *log, |
1209 | int cycle, | 1217 | int cycle, |
1210 | int start_block, | 1218 | int start_block, |
1211 | int blocks, | 1219 | int blocks, |
@@ -1305,7 +1313,7 @@ xlog_write_log_records( | |||
1305 | */ | 1313 | */ |
1306 | STATIC int | 1314 | STATIC int |
1307 | xlog_clear_stale_blocks( | 1315 | xlog_clear_stale_blocks( |
1308 | xlog_t *log, | 1316 | struct xlog *log, |
1309 | xfs_lsn_t tail_lsn) | 1317 | xfs_lsn_t tail_lsn) |
1310 | { | 1318 | { |
1311 | int tail_cycle, head_cycle; | 1319 | int tail_cycle, head_cycle; |
@@ -2050,11 +2058,11 @@ xfs_qm_dqcheck( | |||
2050 | */ | 2058 | */ |
2051 | STATIC void | 2059 | STATIC void |
2052 | xlog_recover_do_dquot_buffer( | 2060 | xlog_recover_do_dquot_buffer( |
2053 | xfs_mount_t *mp, | 2061 | struct xfs_mount *mp, |
2054 | xlog_t *log, | 2062 | struct xlog *log, |
2055 | xlog_recover_item_t *item, | 2063 | struct xlog_recover_item *item, |
2056 | xfs_buf_t *bp, | 2064 | struct xfs_buf *bp, |
2057 | xfs_buf_log_format_t *buf_f) | 2065 | struct xfs_buf_log_format *buf_f) |
2058 | { | 2066 | { |
2059 | uint type; | 2067 | uint type; |
2060 | 2068 | ||
@@ -2108,9 +2116,9 @@ xlog_recover_do_dquot_buffer( | |||
2108 | */ | 2116 | */ |
2109 | STATIC int | 2117 | STATIC int |
2110 | xlog_recover_buffer_pass2( | 2118 | xlog_recover_buffer_pass2( |
2111 | xlog_t *log, | 2119 | struct xlog *log, |
2112 | struct list_head *buffer_list, | 2120 | struct list_head *buffer_list, |
2113 | xlog_recover_item_t *item) | 2121 | struct xlog_recover_item *item) |
2114 | { | 2122 | { |
2115 | xfs_buf_log_format_t *buf_f = item->ri_buf[0].i_addr; | 2123 | xfs_buf_log_format_t *buf_f = item->ri_buf[0].i_addr; |
2116 | xfs_mount_t *mp = log->l_mp; | 2124 | xfs_mount_t *mp = log->l_mp; |
@@ -2189,9 +2197,9 @@ xlog_recover_buffer_pass2( | |||
2189 | 2197 | ||
2190 | STATIC int | 2198 | STATIC int |
2191 | xlog_recover_inode_pass2( | 2199 | xlog_recover_inode_pass2( |
2192 | xlog_t *log, | 2200 | struct xlog *log, |
2193 | struct list_head *buffer_list, | 2201 | struct list_head *buffer_list, |
2194 | xlog_recover_item_t *item) | 2202 | struct xlog_recover_item *item) |
2195 | { | 2203 | { |
2196 | xfs_inode_log_format_t *in_f; | 2204 | xfs_inode_log_format_t *in_f; |
2197 | xfs_mount_t *mp = log->l_mp; | 2205 | xfs_mount_t *mp = log->l_mp; |
@@ -2452,14 +2460,14 @@ error: | |||
2452 | } | 2460 | } |
2453 | 2461 | ||
2454 | /* | 2462 | /* |
2455 | * Recover QUOTAOFF records. We simply make a note of it in the xlog_t | 2463 | * Recover QUOTAOFF records. We simply make a note of it in the xlog |
2456 | * structure, so that we know not to do any dquot item or dquot buffer recovery, | 2464 | * structure, so that we know not to do any dquot item or dquot buffer recovery, |
2457 | * of that type. | 2465 | * of that type. |
2458 | */ | 2466 | */ |
2459 | STATIC int | 2467 | STATIC int |
2460 | xlog_recover_quotaoff_pass1( | 2468 | xlog_recover_quotaoff_pass1( |
2461 | xlog_t *log, | 2469 | struct xlog *log, |
2462 | xlog_recover_item_t *item) | 2470 | struct xlog_recover_item *item) |
2463 | { | 2471 | { |
2464 | xfs_qoff_logformat_t *qoff_f = item->ri_buf[0].i_addr; | 2472 | xfs_qoff_logformat_t *qoff_f = item->ri_buf[0].i_addr; |
2465 | ASSERT(qoff_f); | 2473 | ASSERT(qoff_f); |
@@ -2483,9 +2491,9 @@ xlog_recover_quotaoff_pass1( | |||
2483 | */ | 2491 | */ |
2484 | STATIC int | 2492 | STATIC int |
2485 | xlog_recover_dquot_pass2( | 2493 | xlog_recover_dquot_pass2( |
2486 | xlog_t *log, | 2494 | struct xlog *log, |
2487 | struct list_head *buffer_list, | 2495 | struct list_head *buffer_list, |
2488 | xlog_recover_item_t *item) | 2496 | struct xlog_recover_item *item) |
2489 | { | 2497 | { |
2490 | xfs_mount_t *mp = log->l_mp; | 2498 | xfs_mount_t *mp = log->l_mp; |
2491 | xfs_buf_t *bp; | 2499 | xfs_buf_t *bp; |
@@ -2578,9 +2586,9 @@ xlog_recover_dquot_pass2( | |||
2578 | */ | 2586 | */ |
2579 | STATIC int | 2587 | STATIC int |
2580 | xlog_recover_efi_pass2( | 2588 | xlog_recover_efi_pass2( |
2581 | xlog_t *log, | 2589 | struct xlog *log, |
2582 | xlog_recover_item_t *item, | 2590 | struct xlog_recover_item *item, |
2583 | xfs_lsn_t lsn) | 2591 | xfs_lsn_t lsn) |
2584 | { | 2592 | { |
2585 | int error; | 2593 | int error; |
2586 | xfs_mount_t *mp = log->l_mp; | 2594 | xfs_mount_t *mp = log->l_mp; |
@@ -2616,8 +2624,8 @@ xlog_recover_efi_pass2( | |||
2616 | */ | 2624 | */ |
2617 | STATIC int | 2625 | STATIC int |
2618 | xlog_recover_efd_pass2( | 2626 | xlog_recover_efd_pass2( |
2619 | xlog_t *log, | 2627 | struct xlog *log, |
2620 | xlog_recover_item_t *item) | 2628 | struct xlog_recover_item *item) |
2621 | { | 2629 | { |
2622 | xfs_efd_log_format_t *efd_formatp; | 2630 | xfs_efd_log_format_t *efd_formatp; |
2623 | xfs_efi_log_item_t *efip = NULL; | 2631 | xfs_efi_log_item_t *efip = NULL; |
@@ -2812,9 +2820,9 @@ xlog_recover_unmount_trans( | |||
2812 | */ | 2820 | */ |
2813 | STATIC int | 2821 | STATIC int |
2814 | xlog_recover_process_data( | 2822 | xlog_recover_process_data( |
2815 | xlog_t *log, | 2823 | struct xlog *log, |
2816 | struct hlist_head rhash[], | 2824 | struct hlist_head rhash[], |
2817 | xlog_rec_header_t *rhead, | 2825 | struct xlog_rec_header *rhead, |
2818 | xfs_caddr_t dp, | 2826 | xfs_caddr_t dp, |
2819 | int pass) | 2827 | int pass) |
2820 | { | 2828 | { |
@@ -2986,7 +2994,7 @@ abort_error: | |||
2986 | */ | 2994 | */ |
2987 | STATIC int | 2995 | STATIC int |
2988 | xlog_recover_process_efis( | 2996 | xlog_recover_process_efis( |
2989 | xlog_t *log) | 2997 | struct xlog *log) |
2990 | { | 2998 | { |
2991 | xfs_log_item_t *lip; | 2999 | xfs_log_item_t *lip; |
2992 | xfs_efi_log_item_t *efip; | 3000 | xfs_efi_log_item_t *efip; |
@@ -3147,7 +3155,7 @@ xlog_recover_process_one_iunlink( | |||
3147 | */ | 3155 | */ |
3148 | STATIC void | 3156 | STATIC void |
3149 | xlog_recover_process_iunlinks( | 3157 | xlog_recover_process_iunlinks( |
3150 | xlog_t *log) | 3158 | struct xlog *log) |
3151 | { | 3159 | { |
3152 | xfs_mount_t *mp; | 3160 | xfs_mount_t *mp; |
3153 | xfs_agnumber_t agno; | 3161 | xfs_agnumber_t agno; |
@@ -3209,9 +3217,9 @@ xlog_recover_process_iunlinks( | |||
3209 | #ifdef DEBUG | 3217 | #ifdef DEBUG |
3210 | STATIC void | 3218 | STATIC void |
3211 | xlog_pack_data_checksum( | 3219 | xlog_pack_data_checksum( |
3212 | xlog_t *log, | 3220 | struct xlog *log, |
3213 | xlog_in_core_t *iclog, | 3221 | struct xlog_in_core *iclog, |
3214 | int size) | 3222 | int size) |
3215 | { | 3223 | { |
3216 | int i; | 3224 | int i; |
3217 | __be32 *up; | 3225 | __be32 *up; |
@@ -3234,8 +3242,8 @@ xlog_pack_data_checksum( | |||
3234 | */ | 3242 | */ |
3235 | void | 3243 | void |
3236 | xlog_pack_data( | 3244 | xlog_pack_data( |
3237 | xlog_t *log, | 3245 | struct xlog *log, |
3238 | xlog_in_core_t *iclog, | 3246 | struct xlog_in_core *iclog, |
3239 | int roundoff) | 3247 | int roundoff) |
3240 | { | 3248 | { |
3241 | int i, j, k; | 3249 | int i, j, k; |
@@ -3274,9 +3282,9 @@ xlog_pack_data( | |||
3274 | 3282 | ||
3275 | STATIC void | 3283 | STATIC void |
3276 | xlog_unpack_data( | 3284 | xlog_unpack_data( |
3277 | xlog_rec_header_t *rhead, | 3285 | struct xlog_rec_header *rhead, |
3278 | xfs_caddr_t dp, | 3286 | xfs_caddr_t dp, |
3279 | xlog_t *log) | 3287 | struct xlog *log) |
3280 | { | 3288 | { |
3281 | int i, j, k; | 3289 | int i, j, k; |
3282 | 3290 | ||
@@ -3299,8 +3307,8 @@ xlog_unpack_data( | |||
3299 | 3307 | ||
3300 | STATIC int | 3308 | STATIC int |
3301 | xlog_valid_rec_header( | 3309 | xlog_valid_rec_header( |
3302 | xlog_t *log, | 3310 | struct xlog *log, |
3303 | xlog_rec_header_t *rhead, | 3311 | struct xlog_rec_header *rhead, |
3304 | xfs_daddr_t blkno) | 3312 | xfs_daddr_t blkno) |
3305 | { | 3313 | { |
3306 | int hlen; | 3314 | int hlen; |
@@ -3343,7 +3351,7 @@ xlog_valid_rec_header( | |||
3343 | */ | 3351 | */ |
3344 | STATIC int | 3352 | STATIC int |
3345 | xlog_do_recovery_pass( | 3353 | xlog_do_recovery_pass( |
3346 | xlog_t *log, | 3354 | struct xlog *log, |
3347 | xfs_daddr_t head_blk, | 3355 | xfs_daddr_t head_blk, |
3348 | xfs_daddr_t tail_blk, | 3356 | xfs_daddr_t tail_blk, |
3349 | int pass) | 3357 | int pass) |
@@ -3595,7 +3603,7 @@ xlog_do_recovery_pass( | |||
3595 | */ | 3603 | */ |
3596 | STATIC int | 3604 | STATIC int |
3597 | xlog_do_log_recovery( | 3605 | xlog_do_log_recovery( |
3598 | xlog_t *log, | 3606 | struct xlog *log, |
3599 | xfs_daddr_t head_blk, | 3607 | xfs_daddr_t head_blk, |
3600 | xfs_daddr_t tail_blk) | 3608 | xfs_daddr_t tail_blk) |
3601 | { | 3609 | { |
@@ -3646,7 +3654,7 @@ xlog_do_log_recovery( | |||
3646 | */ | 3654 | */ |
3647 | STATIC int | 3655 | STATIC int |
3648 | xlog_do_recover( | 3656 | xlog_do_recover( |
3649 | xlog_t *log, | 3657 | struct xlog *log, |
3650 | xfs_daddr_t head_blk, | 3658 | xfs_daddr_t head_blk, |
3651 | xfs_daddr_t tail_blk) | 3659 | xfs_daddr_t tail_blk) |
3652 | { | 3660 | { |
@@ -3721,7 +3729,7 @@ xlog_do_recover( | |||
3721 | */ | 3729 | */ |
3722 | int | 3730 | int |
3723 | xlog_recover( | 3731 | xlog_recover( |
3724 | xlog_t *log) | 3732 | struct xlog *log) |
3725 | { | 3733 | { |
3726 | xfs_daddr_t head_blk, tail_blk; | 3734 | xfs_daddr_t head_blk, tail_blk; |
3727 | int error; | 3735 | int error; |
@@ -3767,7 +3775,7 @@ xlog_recover( | |||
3767 | */ | 3775 | */ |
3768 | int | 3776 | int |
3769 | xlog_recover_finish( | 3777 | xlog_recover_finish( |
3770 | xlog_t *log) | 3778 | struct xlog *log) |
3771 | { | 3779 | { |
3772 | /* | 3780 | /* |
3773 | * Now we're ready to do the transactions needed for the | 3781 | * Now we're ready to do the transactions needed for the |
@@ -3814,7 +3822,7 @@ xlog_recover_finish( | |||
3814 | */ | 3822 | */ |
3815 | void | 3823 | void |
3816 | xlog_recover_check_summary( | 3824 | xlog_recover_check_summary( |
3817 | xlog_t *log) | 3825 | struct xlog *log) |
3818 | { | 3826 | { |
3819 | xfs_mount_t *mp; | 3827 | xfs_mount_t *mp; |
3820 | xfs_agf_t *agfp; | 3828 | xfs_agf_t *agfp; |