hc
2024-05-10 9999e48639b3cecb08ffb37358bcba3b48161b29
kernel/fs/xfs/xfs_log.h
....@@ -6,6 +6,8 @@
66 #ifndef __XFS_LOG_H__
77 #define __XFS_LOG_H__
88
9
+struct xfs_cil_ctx;
10
+
911 struct xfs_log_vec {
1012 struct xfs_log_vec *lv_next; /* next lv in build list */
1113 int lv_niovecs; /* number of iovecs in lv */
....@@ -72,16 +74,6 @@
7274 }
7375
7476 /*
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
-/*
8577 * By comparing each component, we don't have to worry about extra
8678 * endian issues in treating two 32 bit numbers as one 64 bit number
8779 */
....@@ -113,26 +105,19 @@
113105 struct xfs_item_ops;
114106 struct xfs_trans;
115107
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);
120108 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,
122110 int *log_forced);
123111 int xfs_log_mount(struct xfs_mount *mp,
124112 struct xfs_buftarg *log_target,
125113 xfs_daddr_t start_block,
126114 int num_bblocks);
127115 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 *);
129117 xfs_lsn_t xlog_assign_tail_lsn(struct xfs_mount *mp);
130118 xfs_lsn_t xlog_assign_tail_lsn_locked(struct xfs_mount *mp);
131119 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);
136121 int xfs_log_reserve(struct xfs_mount *mp,
137122 int length,
138123 int count,
....@@ -142,12 +127,12 @@
142127 int xfs_log_regrant(struct xfs_mount *mp, struct xlog_ticket *tic);
143128 void xfs_log_unmount(struct xfs_mount *mp);
144129 int xfs_log_force_umount(struct xfs_mount *mp, int logerror);
130
+bool xfs_log_writable(struct xfs_mount *mp);
145131
146132 struct xlog_ticket *xfs_log_ticket_get(struct xlog_ticket *ticket);
147133 void xfs_log_ticket_put(struct xlog_ticket *ticket);
148134
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);
151136 bool xfs_log_item_in_current_chkpt(struct xfs_log_item *lip);
152137
153138 void xfs_log_work_queue(struct xfs_mount *mp);
....@@ -155,4 +140,6 @@
155140 bool xfs_log_check_lsn(struct xfs_mount *, xfs_lsn_t);
156141 bool xfs_log_in_recovery(struct xfs_mount *);
157142
143
+xfs_lsn_t xlog_grant_push_threshold(struct xlog *log, int need_bytes);
144
+
158145 #endif /* __XFS_LOG_H__ */