struct gfs2_log_operations {
        void (*lo_add) (struct gfs2_sbd *sdp, struct gfs2_log_element *le);
-       void (*lo_incore_commit) (struct gfs2_sbd *sdp, struct gfs2_trans *tr);
        void (*lo_before_commit) (struct gfs2_sbd *sdp);
        void (*lo_after_commit) (struct gfs2_sbd *sdp, struct gfs2_ail *ai);
        void (*lo_before_scan) (struct gfs2_jdesc *jd,
 
        gfs2_log_unlock(sdp);
 }
 
+static void buf_lo_incore_commit(struct gfs2_sbd *sdp, struct gfs2_trans *tr)
+{
+       struct list_head *head = &tr->tr_list_buf;
+       struct gfs2_bufdata *bd;
+
+       gfs2_log_lock(sdp);
+       while (!list_empty(head)) {
+               bd = list_entry(head->next, struct gfs2_bufdata, bd_list_tr);
+               list_del_init(&bd->bd_list_tr);
+               tr->tr_num_buf--;
+       }
+       gfs2_log_unlock(sdp);
+       gfs2_assert_warn(sdp, !tr->tr_num_buf);
+}
+
 /**
  * gfs2_log_commit - Commit a transaction to the log
  * @sdp: the filesystem
 void gfs2_log_commit(struct gfs2_sbd *sdp, struct gfs2_trans *tr)
 {
        log_refund(sdp, tr);
-       lops_incore_commit(sdp, tr);
+       buf_lo_incore_commit(sdp, tr);
 
        sdp->sd_vfs->s_dirt = 1;
        up_read(&sdp->sd_log_flush_lock);
 
        unlock_buffer(bd->bd_bh);
 }
 
-static void buf_lo_incore_commit(struct gfs2_sbd *sdp, struct gfs2_trans *tr)
-{
-       struct list_head *head = &tr->tr_list_buf;
-       struct gfs2_bufdata *bd;
-
-       gfs2_log_lock(sdp);
-       while (!list_empty(head)) {
-               bd = list_entry(head->next, struct gfs2_bufdata, bd_list_tr);
-               list_del_init(&bd->bd_list_tr);
-               tr->tr_num_buf--;
-       }
-       gfs2_log_unlock(sdp);
-       gfs2_assert_warn(sdp, !tr->tr_num_buf);
-}
-
 static void buf_lo_before_commit(struct gfs2_sbd *sdp)
 {
        struct buffer_head *bh;
 
 const struct gfs2_log_operations gfs2_buf_lops = {
        .lo_add = buf_lo_add,
-       .lo_incore_commit = buf_lo_incore_commit,
        .lo_before_commit = buf_lo_before_commit,
        .lo_after_commit = buf_lo_after_commit,
        .lo_before_scan = buf_lo_before_scan,
 
 const struct gfs2_log_operations gfs2_databuf_lops = {
        .lo_add = databuf_lo_add,
-       .lo_incore_commit = buf_lo_incore_commit,
        .lo_before_commit = databuf_lo_before_commit,
        .lo_after_commit = databuf_lo_after_commit,
        .lo_scan_elements = databuf_lo_scan_elements,
 
 /*
  * Copyright (C) Sistina Software, Inc.  1997-2003 All rights reserved.
- * Copyright (C) 2004-2006 Red Hat, Inc.  All rights reserved.
+ * Copyright (C) 2004-2008 Red Hat, Inc.  All rights reserved.
  *
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
                le->le_ops->lo_add(sdp, le);
 }
 
-static inline void lops_incore_commit(struct gfs2_sbd *sdp,
-                                     struct gfs2_trans *tr)
-{
-       int x;
-       for (x = 0; gfs2_log_ops[x]; x++)
-               if (gfs2_log_ops[x]->lo_incore_commit)
-                       gfs2_log_ops[x]->lo_incore_commit(sdp, tr);
-}
-
 static inline void lops_before_commit(struct gfs2_sbd *sdp)
 {
        int x;