.. | .. |
---|
6 | 6 | #ifndef __XFS_LOG_H__ |
---|
7 | 7 | #define __XFS_LOG_H__ |
---|
8 | 8 | |
---|
| 9 | +struct xfs_cil_ctx; |
---|
| 10 | + |
---|
9 | 11 | struct xfs_log_vec { |
---|
10 | 12 | struct xfs_log_vec *lv_next; /* next lv in build list */ |
---|
11 | 13 | int lv_niovecs; /* number of iovecs in lv */ |
---|
.. | .. |
---|
72 | 74 | } |
---|
73 | 75 | |
---|
74 | 76 | /* |
---|
75 | | - * Structure used to pass callback function and the function's argument |
---|
76 | | - * to the log manager. |
---|
77 | | - */ |
---|
78 | | -typedef struct xfs_log_callback { |
---|
79 | | - struct xfs_log_callback *cb_next; |
---|
80 | | - void (*cb_func)(void *, int); |
---|
81 | | - void *cb_arg; |
---|
82 | | -} xfs_log_callback_t; |
---|
83 | | - |
---|
84 | | -/* |
---|
85 | 77 | * By comparing each component, we don't have to worry about extra |
---|
86 | 78 | * endian issues in treating two 32 bit numbers as one 64 bit number |
---|
87 | 79 | */ |
---|
.. | .. |
---|
113 | 105 | struct xfs_item_ops; |
---|
114 | 106 | struct xfs_trans; |
---|
115 | 107 | |
---|
116 | | -xfs_lsn_t xfs_log_done(struct xfs_mount *mp, |
---|
117 | | - struct xlog_ticket *ticket, |
---|
118 | | - struct xlog_in_core **iclog, |
---|
119 | | - bool regrant); |
---|
120 | 108 | int xfs_log_force(struct xfs_mount *mp, uint flags); |
---|
121 | | -int xfs_log_force_lsn(struct xfs_mount *mp, xfs_lsn_t lsn, uint flags, |
---|
| 109 | +int xfs_log_force_seq(struct xfs_mount *mp, xfs_csn_t seq, uint flags, |
---|
122 | 110 | int *log_forced); |
---|
123 | 111 | int xfs_log_mount(struct xfs_mount *mp, |
---|
124 | 112 | struct xfs_buftarg *log_target, |
---|
125 | 113 | xfs_daddr_t start_block, |
---|
126 | 114 | int num_bblocks); |
---|
127 | 115 | int xfs_log_mount_finish(struct xfs_mount *mp); |
---|
128 | | -int xfs_log_mount_cancel(struct xfs_mount *); |
---|
| 116 | +void xfs_log_mount_cancel(struct xfs_mount *); |
---|
129 | 117 | xfs_lsn_t xlog_assign_tail_lsn(struct xfs_mount *mp); |
---|
130 | 118 | xfs_lsn_t xlog_assign_tail_lsn_locked(struct xfs_mount *mp); |
---|
131 | 119 | void xfs_log_space_wake(struct xfs_mount *mp); |
---|
132 | | -int xfs_log_notify(struct xlog_in_core *iclog, |
---|
133 | | - struct xfs_log_callback *callback_entry); |
---|
134 | | -int xfs_log_release_iclog(struct xfs_mount *mp, |
---|
135 | | - struct xlog_in_core *iclog); |
---|
| 120 | +void xfs_log_release_iclog(struct xlog_in_core *iclog); |
---|
136 | 121 | int xfs_log_reserve(struct xfs_mount *mp, |
---|
137 | 122 | int length, |
---|
138 | 123 | int count, |
---|
.. | .. |
---|
142 | 127 | int xfs_log_regrant(struct xfs_mount *mp, struct xlog_ticket *tic); |
---|
143 | 128 | void xfs_log_unmount(struct xfs_mount *mp); |
---|
144 | 129 | int xfs_log_force_umount(struct xfs_mount *mp, int logerror); |
---|
| 130 | +bool xfs_log_writable(struct xfs_mount *mp); |
---|
145 | 131 | |
---|
146 | 132 | struct xlog_ticket *xfs_log_ticket_get(struct xlog_ticket *ticket); |
---|
147 | 133 | void xfs_log_ticket_put(struct xlog_ticket *ticket); |
---|
148 | 134 | |
---|
149 | | -void xfs_log_commit_cil(struct xfs_mount *mp, struct xfs_trans *tp, |
---|
150 | | - xfs_lsn_t *commit_lsn, bool regrant); |
---|
| 135 | +void xlog_cil_process_committed(struct list_head *list); |
---|
151 | 136 | bool xfs_log_item_in_current_chkpt(struct xfs_log_item *lip); |
---|
152 | 137 | |
---|
153 | 138 | void xfs_log_work_queue(struct xfs_mount *mp); |
---|
.. | .. |
---|
155 | 140 | bool xfs_log_check_lsn(struct xfs_mount *, xfs_lsn_t); |
---|
156 | 141 | bool xfs_log_in_recovery(struct xfs_mount *); |
---|
157 | 142 | |
---|
| 143 | +xfs_lsn_t xlog_grant_push_threshold(struct xlog *log, int need_bytes); |
---|
| 144 | + |
---|
158 | 145 | #endif /* __XFS_LOG_H__ */ |
---|