Subject xfs: rename log structure and remove xlog_t typedef.
v2 cover Subject xfs: rename log structure and remove xlog_t typedef.
1/2 Renames the XFS struct log to xlog. This helps crash debugger find the XFS
log structure.
2/2 Clean up patch that removes the xlog_t typedef. It is a bit more than was
suggested.
--Mark Tinguely.
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
PATCH v2 1/2 xfs: rename log structure and remove xlog_t typedef.
From: Mark Tinguely <[email protected]>
Rename the XFS log structure to xlog to help crash distinquish it from the other logs in Linux.
--- fs/xfs/xfs_log.c | 76 +++++++++++++++++++++++++++-------------------- fs/xfs/xfs_log_cil.c | 22 ++++++------- fs/xfs/xfs_log_priv.h | 46 +++++++++++++++++++--------- fs/xfs/xfs_log_recover.c | 38 +++++++++++------------ fs/xfs/xfs_mount.h | 4 +- fs/xfs/xfs_trace.h | 18 +++++------ 6 files changed, 116 insertions(+), 88 deletions(-)
fs/xfs/xfs_log.c +44 -32
@@ -38,13 +38,21 @@kmem_zone_t *xfs_log_ticket_zone;/* Local miscellaneous function prototypes */ -STATIC int xlog_commit_record(struct log *log, struct xlog_ticket *ticket, -xlog_in_core_t **,xfs_lsn_t *); +STATIC int +xlog_commit_record ( +struct xlog *log, +struct xlog_ticket *ticket, +struct xlog_in_core **iclog, +xfs_lsn_t *commitlsnp); + STATIC xlog_t * xlog_alloc_log(xfs_mount_t *mp,xfs_buftarg_t *log_target,xfs_daddr_t blk_offset,int num_bblks); -STATIC int xlog_space_left(struct log *log, atomic64_t *head); +STATIC int +xlog_space_left ( +struct xlog *log, +atomic64_t *head); STATIC int xlog_sync(xlog_t *log, xlog_in_core_t *iclog); STATIC void xlog_dealloc_log(xlog_t *log);
@@ -64,8 +72,10 @@ STATIC void xlog_state_switch_iclogs(xlo int eventual_size); STATIC void xlog_state_want_sync(xlog_t *log, xlog_in_core_t *iclog); -STATIC void xlog_grant_push_ail(struct log *log, -int need_bytes); +STATIC void +xlog_grant_push_ail ( +struct xlog *log, +int need_bytes); STATIC void xlog_regrant_reserve_log_space(xlog_t *log,xlog_ticket_t *ticket); STATIC void xlog_ungrant_log_space(xlog_t *log,
@@ -73,7 +83,9 @@ STATIC void xlog_ungrant_log_space(xlog_#if defined(DEBUG ) STATIC void xlog_verify_dest_ptr(xlog_t *log, char *ptr); -STATIC void xlog_verify_grant_tail(struct log *log); +STATIC void +xlog_verify_grant_tail ( +struct xlog *log); STATIC void xlog_verify_iclog(xlog_t *log, xlog_in_core_t *iclog,int count,boolean_t syncing); STATIC void xlog_verify_tail_lsn(xlog_t *log, xlog_in_core_t *iclog,
@@ -89,9 +101,9 @@ STATIC int xlog_iclogs_empty(xlog_t *logstatic void xlog_grant_sub_space ( -struct log *log, -atomic64_t *head, -int bytes) +struct xlog *log, +atomic64_t *head, +int bytes) {int64_t head_val =atomic64_read (head);int64_t new, old;
@@ -115,9 +127,9 @@ xlog_grant_sub_space(static void xlog_grant_add_space ( -struct log *log, -atomic64_t *head, -int bytes) +struct xlog *log, +atomic64_t *head, +int bytes) {int64_t head_val =atomic64_read (head);int64_t new, old;
@@ -165,7 +177,7 @@ xlog_grant_head_wake_all(static inline int xlog_ticket_reservation ( -struct log *log, +struct xlog *log,struct xlog_grant_head *head,struct xlog_ticket *tic) {
@@ -182,7 +194,7 @@ xlog_ticket_reservation( STATIC boolxlog_grant_head_wake ( -struct log *log, +struct xlog *log,struct xlog_grant_head *head,int *free_bytes) {
@@ -204,7 +216,7 @@ xlog_grant_head_wake( STATIC intxlog_grant_head_wait ( -struct log *log, +struct xlog *log,struct xlog_grant_head *head,struct xlog_ticket *tic,int need_bytes)
@@ -256,7 +268,7 @@ shutdown:*/ STATIC intxlog_grant_head_check ( -struct log *log, +struct xlog *log,struct xlog_grant_head *head,struct xlog_ticket *tic,int *need_bytes)
@@ -323,7 +335,7 @@ xfs_log_regrant(struct xfs_mount *mp, struct xlog_ticket *tic) { - struct log *log = mp->m_log; + struct xlog *log = mp->m_log;int need_bytes;int error =0 ;
@@ -389,7 +401,7 @@ xfs_log_reserve( bool permanent, uint t_type) { -struct log *log = mp->m_log; +struct xlog *log = mp->m_log;struct xlog_ticket *tic;int need_bytes;int error =0 ;
@@ -465,7 +477,7 @@ xfs_log_done( struct xlog_in_core **iclog, uint flags) { -struct log *log = mp->m_log; +struct xlog *log = mp->m_log;xfs_lsn_t lsn =0 ; if (XLOG_FORCED_SHUTDOWN(log) ||
@@ -838,7 +850,7 @@ voidxfs_log_space_wake ( struct xfs_mount *mp) { -struct log *log = mp->m_log; +struct xlog *log = mp->m_log;int free_bytes;if (XLOG_FORCED_SHUTDOWN (log))
@@ -916,7 +928,7 @@ xfs_lsn_txlog_assign_tail_lsn_locked ( struct xfs_mount *mp) { -struct log *log = mp->m_log; +struct xlog *log = mp->m_log;struct xfs_log_item *lip;xfs_lsn_t tail_lsn;
@@ -965,7 +977,7 @@ xlog_assign_tail_lsn(*/ STATIC intxlog_space_left ( -struct log *log, +struct xlog *log,atomic64_t *head) {int free_bytes;
@@ -1277,7 +1289,7 @@ out:*/ STATIC intxlog_commit_record ( -struct log *log, +struct xlog *log,struct xlog_ticket *ticket,struct xlog_in_core **iclog,xfs_lsn_t *commitlsnp)
@@ -1311,7 +1323,7 @@ xlog_commit_record(*/ STATIC voidxlog_grant_push_ail ( -struct log *log, +struct xlog *log,int need_bytes) {xfs_lsn_t threshold_lsn =0 ;
@@ -1790,7 +1802,7 @@ xlog_write_start_rec(static xlog_op_header_t *xlog_write_setup_ophdr ( -struct log *log, +struct xlog *log,struct xlog_op_header *ophdr,struct xlog_ticket *ticket,uint flags)
@@ -1873,7 +1885,7 @@ xlog_write_setup_copy( static int xlog_write_copy_finish( - struct log *log, + struct xlog *log, struct xlog_in_core *iclog, uint flags, int *record_cnt,
@@ -1958,7 +1970,7 @@ xlog_write_copy_finish(*/ int xlog_write( - struct log *log, + struct xlog *log, struct xfs_log_vec *log_vector, struct xlog_ticket *ticket, xfs_lsn_t *start_lsn,
@@ -2821,7 +2833,7 @@ _xfs_log_force(uint flags, int *log_flushed) { - struct log *log = mp->m_log; + struct xlog *log = mp->m_log;struct xlog_in_core *iclog;xfs_lsn_t lsn;
@@ -2969,7 +2981,7 @@ _xfs_log_force_lsn(uint flags, int *log_flushed) { - struct log *log = mp->m_log; + struct xlog *log = mp->m_log;struct xlog_in_core *iclog;int already_slept =0 ;
@@ -3147,7 +3159,7 @@ xfs_log_ticket_get(*/ xlog_ticket_t * xlog_ticket_alloc( - struct log *log, + struct xlog *log, int unit_bytes, int cnt, char client,
@@ -3278,7 +3290,7 @@ xlog_ticket_alloc(*/ void xlog_verify_dest_ptr ( -struct log *log, +struct xlog *log,char *ptr) {int i;
@@ -3307,7 +3319,7 @@ xlog_verify_dest_ptr(*/ STATIC voidxlog_verify_grant_tail ( -struct log *log) +struct xlog *log) {int tail_cycle, tail_blocks;int cycle, space;
fs/xfs/xfs_log_cil.c +11 -11
@@ -44,7 +44,7 @@*/ static struct xlog_ticket *xlog_cil_ticket_alloc ( -struct log *log) +struct xlog *log) {struct xlog_ticket *tic;
@@ -72,7 +72,7 @@ xlog_cil_ticket_alloc(*/ void xlog_cil_init_post_recovery ( -struct log *log) +struct xlog *log) { log->l_cilp->xc_ctx->ticket =xlog_cil_ticket_alloc (log); log->l_cilp->xc_ctx->sequence =1 ;
@@ -182,7 +182,7 @@ xlog_cil_prepare_log_vecs(*/ STATIC voidxfs_cil_prepare_item ( -struct log *log, +struct xlog *log,struct xfs_log_vec *lv,int *len,int *diff_iovecs)
@@ -231,7 +231,7 @@ xfs_cil_prepare_item(*/ static void xlog_cil_insert_items ( -struct log *log, +struct xlog *log,struct xfs_log_vec *log_vector,struct xlog_ticket *ticket) {
@@ -373,7 +373,7 @@ xlog_cil_committed(*/ STATIC intxlog_cil_push ( -struct log *log) +struct xlog *log) {struct xfs_cil *cil = log->l_cilp;struct xfs_log_vec *lv;
@@ -601,7 +601,7 @@ xlog_cil_push_work(*/ static void xlog_cil_push_background ( -struct log *log) +struct xlog *log) {struct xfs_cil *cil = log->l_cilp;
@@ -629,7 +629,7 @@ xlog_cil_push_background(static void xlog_cil_push_foreground ( -struct log *log, +struct xlog *log,xfs_lsn_t push_seq) {struct xfs_cil *cil = log->l_cilp;
@@ -683,7 +683,7 @@ xfs_log_commit_cil( xfs_lsn_t *commit_lsn, int flags) { -struct log *log = mp->m_log; +struct xlog *log = mp->m_log;int log_flags =0 ;struct xfs_log_vec *log_vector;
@@ -754,7 +754,7 @@ xfs_log_commit_cil(*/ xfs_lsn_t xlog_cil_force_lsn ( -struct log *log, +struct xlog *log,xfs_lsn_t sequence) {struct xfs_cil *cil = log->l_cilp;
@@ -833,7 +833,7 @@ xfs_log_item_in_current_chkpt(*/ int xlog_cil_init ( -struct log *log) +struct xlog *log) {struct xfs_cil *cil;struct xfs_cil_ctx *ctx;
@@ -869,7 +869,7 @@ xlog_cil_init(void xlog_cil_destroy ( -struct log *log) +struct xlog *log) {if (log->l_cilp->xc_ctx) {if (log->l_cilp->xc_ctx->ticket)
fs/xfs/xfs_log_priv.h +31 -15
94 lines not on this page · raw message
fs/xfs/xfs_log_recover.c +19 -19
@@ -1471,8 +1471,8 @@ xlog_recover_add_item( STATIC intxlog_recover_add_to_cont_trans ( -struct log *log, -xlog_recover_t *trans, +struct xlog *log, +struct xlog_recover *trans,xfs_caddr_t dp,int len) {
@@ -1517,8 +1517,8 @@ xlog_recover_add_to_cont_trans(*/ STATIC intxlog_recover_add_to_trans ( -struct log *log, -xlog_recover_t *trans, +struct xlog *log, +struct xlog_recover *trans,xfs_caddr_t dp,int len) {
@@ -1588,8 +1588,8 @@ xlog_recover_add_to_trans(*/ STATIC intxlog_recover_reorder_trans ( -struct log *log, -xlog_recover_t *trans, +struct xlog *log, +struct xlog_recover *trans,int pass) {xlog_recover_item_t *item, *n;
@@ -1642,8 +1642,8 @@ xlog_recover_reorder_trans(*/ STATIC intxlog_recover_buffer_pass1 ( -struct log *log, -xlog_recover_item_t *item) +struct xlog *log, +struct xlog_recover_item *item) {xfs_buf_log_format_t *buf_f = item->ri_buf[0 ].i_addr;struct list_head *bucket;
@@ -1696,7 +1696,7 @@ xlog_recover_buffer_pass1(*/ STATIC intxlog_check_buffer_cancelled ( -struct log *log, +struct xlog *log,xfs_daddr_t blkno,uint len,ushort flags)
@@ -2689,9 +2689,9 @@ xlog_recover_free_trans( STATIC intxlog_recover_commit_pass1 ( -struct log *log, -struct xlog_recover *trans, -xlog_recover_item_t *item) +struct xlog *log, +struct xlog_recover *trans, +struct xlog_recover_item *item) {trace_xfs_log_recover_item_recover (log, trans, item,XLOG_RECOVER_PASS1 );
@@ -2716,10 +2716,10 @@ xlog_recover_commit_pass1( STATIC intxlog_recover_commit_pass2 ( -struct log *log, -struct xlog_recover *trans, -struct list_head *buffer_list, -xlog_recover_item_t *item) +struct xlog *log, +struct xlog_recover *trans, +struct list_head *buffer_list, +struct xlog_recover_item *item) {trace_xfs_log_recover_item_recover (log, trans, item,XLOG_RECOVER_PASS2 );
@@ -2753,7 +2753,7 @@ xlog_recover_commit_pass2(*/ STATIC intxlog_recover_commit_trans ( -struct log *log, +struct xlog *log,struct xlog_recover *trans,int pass) {
@@ -2793,8 +2793,8 @@ out: STATIC intxlog_recover_unmount_trans ( -struct log *log, -xlog_recover_t *trans) +struct xlog *log, +struct xlog_recover *trans) {/* Do nothing now */ xfs_warn (log->l_mp,"%s: Unmount LR" , __func__);
fs/xfs/xfs_mount.h +2 -2
@@ -53,7 +53,7 @@ typedef struct xfs_trans_reservations {#include "xfs_sync.h" -struct log ; +struct xlog ;struct xfs_mount_args ;struct xfs_inode ;struct xfs_bmbt_irec ;
@@ -133,7 +133,7 @@ typedef struct xfs_mount {uint m_readio_blocks;/* min read size blocks */ uint m_writeio_log;/* min write size log bytes */ uint m_writeio_blocks;/* min write size blocks */ -struct log *m_log;/* log specific stuff */ +struct xlog *m_log;/* log specific stuff */ int m_logbufs;/* number of log buffers */ int m_logbsize;/* size of each log buffer */ uint m_rsumlevels;/* rt summary levels */
fs/xfs/xfs_trace.h +9 -9
@@ -32,7 +32,7 @@ struct xfs_da_node_entry;struct xfs_dquot ;struct xfs_log_item ;struct xlog_ticket ; -struct log ; +struct xlog ;struct xlog_recover ;struct xlog_recover_item ;struct xfs_buf_log_format ;
@@ -762,7 +762,7 @@ DEFINE_DQUOT_EVENT(xfs_dqflush_force);DEFINE_DQUOT_EVENT (xfs_dqflush_done); DECLARE_EVENT_CLASS(xfs_loggrant_class, - TP_PROTO(struct log *log, struct xlog_ticket *tic), + TP_PROTO(struct xlog *log, struct xlog_ticket *tic), TP_ARGS(log, tic), TP_STRUCT__entry( __field(dev_t, dev)
@@ -830,7 +830,7 @@ DECLARE_EVENT_CLASS(xfs_loggrant_class,#define DEFINE_LOGGRANT_EVENT (name) \ DEFINE_EVENT(xfs_loggrant_class, name, \ - TP_PROTO(struct log *log, struct xlog_ticket *tic), \ + TP_PROTO(struct xlog *log, struct xlog_ticket *tic), \ TP_ARGS(log, tic))DEFINE_LOGGRANT_EVENT (xfs_log_done_nonperm);DEFINE_LOGGRANT_EVENT (xfs_log_done_perm);
@@ -1664,7 +1664,7 @@ DEFINE_SWAPEXT_EVENT(xfs_swap_extent_befDEFINE_SWAPEXT_EVENT (xfs_swap_extent_after); DECLARE_EVENT_CLASS(xfs_log_recover_item_class, - TP_PROTO(struct log *log, struct xlog_recover *trans, + TP_PROTO(struct xlog *log, struct xlog_recover *trans, struct xlog_recover_item *item, int pass), TP_ARGS(log, trans, item, pass), TP_STRUCT__entry(
@@ -1698,7 +1698,7 @@ DECLARE_EVENT_CLASS(xfs_log_recover_item#define DEFINE_LOG_RECOVER_ITEM (name) \ DEFINE_EVENT(xfs_log_recover_item_class, name, \ - TP_PROTO(struct log *log, struct xlog_recover *trans, \ + TP_PROTO(struct xlog *log, struct xlog_recover *trans, \ struct xlog_recover_item *item, int pass), \ TP_ARGS(log, trans, item, pass))
@@ -1709,7 +1709,7 @@ DEFINE_LOG_RECOVER_ITEM(xfs_log_recover_DEFINE_LOG_RECOVER_ITEM (xfs_log_recover_item_recover); DECLARE_EVENT_CLASS(xfs_log_recover_buf_item_class, - TP_PROTO(struct log *log, struct xfs_buf_log_format *buf_f), + TP_PROTO(struct xlog *log, struct xfs_buf_log_format *buf_f), TP_ARGS(log, buf_f), TP_STRUCT__entry( __field(dev_t, dev)
@@ -1739,7 +1739,7 @@ DECLARE_EVENT_CLASS(xfs_log_recover_buf_#define DEFINE_LOG_RECOVER_BUF_ITEM (name) \ DEFINE_EVENT(xfs_log_recover_buf_item_class, name, \ - TP_PROTO(struct log *log, struct xfs_buf_log_format *buf_f), \ + TP_PROTO(struct xlog *log, struct xfs_buf_log_format *buf_f), \ TP_ARGS(log, buf_f))DEFINE_LOG_RECOVER_BUF_ITEM (xfs_log_recover_buf_not_cancel);
@@ -1752,7 +1752,7 @@ DEFINE_LOG_RECOVER_BUF_ITEM(xfs_log_recoDEFINE_LOG_RECOVER_BUF_ITEM (xfs_log_recover_buf_dquot_buf); DECLARE_EVENT_CLASS(xfs_log_recover_ino_item_class, - TP_PROTO(struct log *log, struct xfs_inode_log_format *in_f), + TP_PROTO(struct xlog *log, struct xfs_inode_log_format *in_f), TP_ARGS(log, in_f), TP_STRUCT__entry( __field(dev_t, dev)
@@ -1790,7 +1790,7 @@ DECLARE_EVENT_CLASS(xfs_log_recover_ino_ )#define DEFINE_LOG_RECOVER_INO_ITEM (name) \ DEFINE_EVENT(xfs_log_recover_ino_item_class, name, \ - TP_PROTO(struct log *log, struct xfs_inode_log_format *in_f), \ + TP_PROTO(struct xlog *log, struct xfs_inode_log_format *in_f), \ TP_ARGS(log, in_f))DEFINE_LOG_RECOVER_INO_ITEM (xfs_log_recover_inode_recover);
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Re: [PATCH 1/2 v2] xfs: rename log structure and remove xlog_t typedef.
Quoted 4 lines · On Thu, Jun 14, 2012 at 09:22:15AM -0500, [email protected] wrote:
From: Mark Tinguely <[email protected]>
Rename the XFS log structure to xlog to help crash distinquish it from the other logs in Linux.
Please don't use the same subject for two patches, instead this one should be some thing like
xfs: rename struct log to struct xlog
and the next one
xfs: remove the xlog_t typedef
otherwise both patches look fine to me:
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Re: [PATCH 1/2 v2] xfs: rename log structure and remove xlog_t typedef.
In reply to [email protected]Mark,
Quoted 4 lines · On Thu, Jun 14, 2012 at 09:22:15AM -0500, [email protected] wrote:
From: Mark Tinguely <[email protected]>
Rename the XFS log structure to xlog to help crash distinquish it from the other logs in Linux.
This is another patch that I'm planning on adding to a 3.5-rc pull request. Being able to use crash on 3.5 dumps is essential for supportability.
-Ben
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
PATCH v2 2/2 xfs: rename log structure and remove xlog_t typedef.
In reply to [email protected]From: Mark Tinguely <[email protected]>
Remove the xlog_t type definitions.
--- fs/xfs/xfs_log.c | 223 ++++++++++++++++++++++++++++------------------- fs/xfs/xfs_log_priv.h | 18 ++- fs/xfs/xfs_log_recover.c | 140 +++++++++++++++-------------- 3 files changed, 224 insertions(+), 157 deletions(-)
fs/xfs/xfs_log.c +137 -86
@@ -45,51 +45,85 @@ xlog_commit_record(struct xlog_in_core **iclog, xfs_lsn_t *commitlsnp); -STATIC xlog_t * xlog_alloc_log(xfs_mount_t *mp, -xfs_buftarg_t *log_target, -xfs_daddr_t blk_offset, -int num_bblks); +STATIC struct xlog * +xlog_alloc_log ( +struct xfs_mount *mp, +struct xfs_buftarg *log_target, +xfs_daddr_t blk_offset, +int num_bblks); STATIC intxlog_space_left (struct xlog *log,atomic64_t *head); -STATIC int xlog_sync(xlog_t *log, xlog_in_core_t *iclog); -STATIC void xlog_dealloc_log(xlog_t *log); +STATIC int +xlog_sync ( +struct xlog *log, +struct xlog_in_core *iclog); +STATIC void +xlog_dealloc_log ( +struct xlog *log);/* local state machine functions */ STATIC void xlog_state_done_syncing(xlog_in_core_t *iclog, int); -STATIC void xlog_state_do_callback(xlog_t *log,int aborted, xlog_in_core_t *iclog); -STATIC int xlog_state_get_iclog_space(xlog_t *log, -int len, -xlog_in_core_t **iclog, -xlog_ticket_t *ticket, -int *continued_write, -int *logoffsetp); -STATIC int xlog_state_release_iclog(xlog_t *log, -xlog_in_core_t *iclog); -STATIC void xlog_state_switch_iclogs(xlog_t *log, -xlog_in_core_t *iclog, -int eventual_size); -STATIC void xlog_state_want_sync(xlog_t *log, xlog_in_core_t *iclog); +STATIC void +xlog_state_do_callback ( +struct xlog *log, +int aborted, +struct xlog_in_core *iclog); +STATIC int +xlog_state_get_iclog_space ( +struct xlog *log, +int len, +struct xlog_in_core **iclog, +struct xlog_ticket *ticket, +int *continued_write, +int *logoffsetp); +STATIC int +xlog_state_release_iclog ( +struct xlog *log, +struct xlog_in_core *iclog); +STATIC void +xlog_state_switch_iclogs ( +struct xlog *log, +struct xlog_in_core *iclog, +int eventual_size); +STATIC void +xlog_state_want_sync ( +struct xlog *log, +struct xlog_in_core *iclog); STATIC voidxlog_grant_push_ail ( -struct xlog *log, -int need_bytes); -STATIC void xlog_regrant_reserve_log_space(xlog_t *log, -xlog_ticket_t *ticket); -STATIC void xlog_ungrant_log_space(xlog_t *log, -xlog_ticket_t *ticket); +struct xlog *log, +int need_bytes); +STATIC void +xlog_regrant_reserve_log_space ( +struct xlog *log, +struct xlog_ticket *ticket); +STATIC void +xlog_ungrant_log_space ( +struct xlog *log, +struct xlog_ticket *ticket);#if defined(DEBUG ) -STATIC void xlog_verify_dest_ptr(xlog_t *log, char *ptr); +STATIC void +xlog_verify_dest_ptr ( +struct xlog *log, +char *ptr); STATIC voidxlog_verify_grant_tail ( -struct xlog *log); -STATIC void xlog_verify_iclog(xlog_t *log, xlog_in_core_t *iclog, -int count,boolean_t syncing); -STATIC void xlog_verify_tail_lsn(xlog_t *log, xlog_in_core_t *iclog, -xfs_lsn_t tail_lsn); +struct xlog *log); +STATIC void +xlog_verify_iclog ( +struct xlog *log, +struct xlog_in_core *iclog, +int count, +boolean_t syncing); +STATIC void +xlog_verify_tail_lsn ( +struct log *log, +struct xlog_in_core *iclog, +xfs_lsn_t tail_lsn);#else #define xlog_verify_dest_ptr (a,b)#define xlog_verify_grant_tail (a)
@@ -97,7 +131,9 @@ STATIC void xlog_verify_tail_lsn(xlog_t#define xlog_verify_tail_lsn (a,b,c)#endif -STATIC int xlog_iclogs_empty(xlog_t *log); +STATIC int +xlog_iclogs_empty ( +struct xlog *log);static void xlog_grant_sub_space(
@@ -684,7 +720,7 @@ xfs_log_mount_finish(xfs_mount_t *mp)int xfs_log_unmount_write (xfs_mount_t *mp) { -xlog_t *log = mp->m_log; +struct xlog *log = mp->m_log;xlog_in_core_t *iclog;#ifdef DEBUG xlog_in_core_t *first_iclog;
@@ -892,7 +928,7 @@ int xfs_log_need_covered(xfs_mount_t *mp) {int needed =0 ; -xlog_t *log = mp->m_log; +struct xlog *log = mp->m_log;if (!xfs_fs_writable (mp))return 0 ;
@@ -1023,9 +1059,9 @@ xlog_space_left(void xlog_iodone (xfs_buf_t *bp) { -xlog_in_core_t *iclog = bp->b_fspriv; -xlog_t *l = iclog->ic_log; -int aborted =0 ; +struct xlog_in_core *iclog = bp->b_fspriv; +struct xlog *l = iclog->ic_log; +int aborted =0 ;/* * Race to shutdown the filesystem if we see an error.
@@ -1066,8 +1102,9 @@ xlog_iodone(xfs_buf_t *bp)*/ STATIC void -xlog_get_iclog_buffer_size (xfs_mount_t *mp, -xlog_t *log) +xlog_get_iclog_buffer_size ( +struct xfs_mount *mp, +struct xlog *log) {int size;int xhdrs;
@@ -1128,13 +1165,14 @@ done:* Its primary purpose is to fill in enough, so recovery can occur. However, * some other stuff may be filled in too. */ -STATIC xlog_t * -xlog_alloc_log (xfs_mount_t *mp, -xfs_buftarg_t *log_target, -xfs_daddr_t blk_offset, -int num_bblks) +STATIC struct xlog * +xlog_alloc_log ( +struct xfs_mount *mp, +struct xfs_buftarg *log_target, +xfs_daddr_t blk_offset, +int num_bblks) { -xlog_t *log; +struct xlog *log;xlog_rec_header_t *head;xlog_in_core_t **iclogp;xlog_in_core_t *iclog, *prev_iclog=NULL ;
@@ -1143,7 +1181,7 @@ xlog_alloc_log(xfs_mount_t *mp,int error =ENOMEM ;uint log2_size =0 ; - log =kmem_zalloc (sizeof (xlog_t),KM_MAYFAIL ); + log =kmem_zalloc (sizeof (struct xlog ),KM_MAYFAIL );if (!log) {xfs_warn (mp,"Log allocation failed: No memory!" ); goto out;
@@ -1433,8 +1471,9 @@ xlog_bdstrat(*/ STATIC int -xlog_sync (xlog_t *log, -xlog_in_core_t *iclog) +xlog_sync ( +struct xlog *log, +struct xlog_in_core *iclog) {xfs_caddr_t dptr;/* pointer to byte sized element */ xfs_buf_t *bp;
@@ -1583,7 +1622,8 @@ xlog_sync(xlog_t *log,* Deallocate a log structure */ STATIC void -xlog_dealloc_log (xlog_t *log) +xlog_dealloc_log ( +struct xlog *log) {xlog_in_core_t *iclog, *next_iclog;int i;
@@ -1615,10 +1655,11 @@ xlog_dealloc_log(xlog_t *log)*/ /* ARGSUSED */ static inline void -xlog_state_finish_copy (xlog_t *log, -xlog_in_core_t *iclog, -int record_cnt, -int copy_bytes) +xlog_state_finish_copy ( +struct xlog *log, +struct xlog_in_core *iclog, +int record_cnt, +int copy_bytes) {spin_lock (&log->l_icloglock);
@@ -2141,7 +2182,8 @@ xlog_write(* State Change: DIRTY -> ACTIVE */ STATIC void -xlog_state_clean_log (xlog_t *log) +xlog_state_clean_log ( +struct xlog *log) {xlog_in_core_t *iclog;int changed =0 ;
@@ -2221,7 +2263,7 @@ xlog_state_clean_log(xlog_t *log) STATIC xfs_lsn_txlog_get_lowest_lsn ( -xlog_t *log) +struct xlog *log) {xlog_in_core_t *lsn_log;xfs_lsn_t lowest_lsn, lsn;
@@ -2244,9 +2286,9 @@ xlog_get_lowest_lsn( STATIC voidxlog_state_do_callback ( -xlog_t *log, -int aborted, -xlog_in_core_t *ciclog) +struct xlog *log, +int aborted, +struct xlog_in_core *ciclog) {xlog_in_core_t *iclog;xlog_in_core_t *first_iclog;/* used to know when we've
@@ -2466,7 +2508,7 @@ xlog_state_done_syncing( xlog_in_core_t *iclog, int aborted) { -xlog_t *log = iclog->ic_log; +struct xlog *log = iclog->ic_log;spin_lock (&log->l_icloglock);
@@ -2520,12 +2562,13 @@ xlog_state_done_syncing(* is copied. */ STATIC int -xlog_state_get_iclog_space (xlog_t *log, -int len, -xlog_in_core_t **iclogp, -xlog_ticket_t *ticket, -int *continued_write, -int *logoffsetp) +xlog_state_get_iclog_space ( +struct xlog *log, +int len, +struct xlog_in_core **iclogp, +struct xlog_ticket *ticket, +int *continued_write, +int *logoffsetp) {int log_offset;xlog_rec_header_t *head;
@@ -2630,8 +2673,9 @@ restart:* move grant reservation head forward. */ STATIC void -xlog_regrant_reserve_log_space (xlog_t *log, -xlog_ticket_t *ticket) +xlog_regrant_reserve_log_space ( +struct xlog *log, +struct xlog_ticket *ticket) {trace_xfs_log_regrant_reserve_enter (log, ticket);
@@ -2676,8 +2720,9 @@ xlog_regrant_reserve_log_space(xlog_t* in the current reservation field. */ STATIC void -xlog_ungrant_log_space (xlog_t *log, -xlog_ticket_t *ticket) +xlog_ungrant_log_space ( +struct xlog *log, +struct xlog_ticket *ticket) {int bytes;
@@ -2716,8 +2761,8 @@ xlog_ungrant_log_space(xlog_t *log,*/ STATIC intxlog_state_release_iclog ( -xlog_t *log, -xlog_in_core_t *iclog) +struct xlog *log, +struct xlog_in_core *iclog) {int sync =0 ;/* do we sync? */
@@ -2767,9 +2812,10 @@ xlog_state_release_iclog(* that every data block. We have run out of space in this log record. */ STATIC void -xlog_state_switch_iclogs (xlog_t *log, -xlog_in_core_t *iclog, -int eventual_size) +xlog_state_switch_iclogs ( +struct xlog *log, +struct xlog_in_core *iclog, +int eventual_size) {ASSERT (iclog->ic_state ==XLOG_STATE_ACTIVE );if (!eventual_size)
@@ -3113,7 +3159,9 @@ xfs_log_force_lsn(* disk. */ STATIC void -xlog_state_want_sync (xlog_t *log,xlog_in_core_t *iclog) +xlog_state_want_sync ( +struct xlog *log, +struct xlog_in_core *iclog) {assert_spin_locked (&log->l_icloglock);
@@ -3157,7 +3205,7 @@ xfs_log_ticket_get(/* * Allocate and initialise a new log ticket. */ -xlog_ticket_t * +struct xlog_ticket * xlog_ticket_alloc( struct xlog *log, int unit_bytes,
@@ -3345,9 +3393,10 @@ xlog_verify_grant_tail(/* check if it will fit */ STATIC void -xlog_verify_tail_lsn (xlog_t *log, -xlog_in_core_t *iclog, -xfs_lsn_t tail_lsn) +xlog_verify_tail_lsn ( +struct xlog *log, +struct xlog_in_core *iclog, +xfs_lsn_t tail_lsn) {int blocks;
@@ -3384,10 +3433,11 @@ xlog_verify_tail_lsn(xlog_t *log,* the cycle numbers agree with the current cycle number. */ STATIC void -xlog_verify_iclog (xlog_t *log, -xlog_in_core_t *iclog, -int count, -boolean_t syncing) +xlog_verify_iclog ( +struct xlog *log, +struct xlog_in_core *iclog, +int count, +boolean_t syncing) {xlog_op_header_t *ophead;xlog_in_core_t *icptr;
@@ -3481,7 +3531,7 @@ xlog_verify_iclog(xlog_t *log,*/ STATIC intxlog_state_ioerror ( -xlog_t *log) +struct xlog *log) {xlog_in_core_t *iclog, *ic;
@@ -3526,7 +3576,7 @@ xfs_log_force_umount( struct xfs_mount *mp, int logerror) { -xlog_t *log; +struct xlog *log;int retval; log = mp->m_log;
@@ -3633,7 +3683,8 @@ xfs_log_force_umount( } STATIC int -xlog_iclogs_empty (xlog_t *log) +xlog_iclogs_empty ( +struct xlog *log) {xlog_in_core_t *iclog;
fs/xfs/xfs_log_priv.h +13 -5
@@ -487,7 +487,7 @@ struct xlog_grant_head {* overflow 31 bits worth of byte offset, so using a byte number will mean * that round off problems won't occur when releasing partial reservations. */ -typedef struct xlog { +struct xlog {/* The following fields don't need locking */ struct xfs_mount *l_mp;/* mount point */ struct xfs_ail *l_ailp;/* AIL log is working with */
@@ -540,7 +540,7 @@ typedef struct xlog {char *l_iclog_bak[XLOG_MAX_ICLOGS ];#endif -} xlog_t; +};#define XLOG_BUF_CANCEL_BUCKET (log, blkno) \ ((log)->l_buf_cancel_table + ((__uint64_t)blkno % XLOG_BC_TABLE_SIZE))
@@ -548,9 +548,17 @@ typedef struct xlog {#define XLOG_FORCED_SHUTDOWN (log) ((log)->l_flags & XLOG_IO_ERROR)/* common routines */ -extern int xlog_recover (xlog_t *log); -extern int xlog_recover_finish (xlog_t *log); -extern void xlog_pack_data (xlog_t *log,xlog_in_core_t *iclog,int ); +extern int +xlog_recover ( +struct xlog *log); +extern int +xlog_recover_finish ( +struct xlog *log); +extern void +xlog_pack_data ( +struct xlog *log, +struct xlog_in_core *iclog, +int );extern kmem_zone_t *xfs_log_ticket_zone; struct xlog_ticket *
fs/xfs/xfs_log_recover.c +74 -66
380 lines not on this page · raw message
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs