* This function expects that the caller will have locked the journal
  * buffer head, and will return with it unlocked
  */
-static int jbd2_write_superblock(journal_t *journal, int write_flags)
+static int jbd2_write_superblock(journal_t *journal, blk_opf_t write_flags)
 {
        struct buffer_head *bh = journal->j_sb_buffer;
        journal_superblock_t *sb = journal->j_superblock;
  * @journal: The journal to update.
  * @tail_tid: TID of the new transaction at the tail of the log
  * @tail_block: The first block of the transaction at the tail of the log
- * @write_op: With which operation should we write the journal sb
+ * @write_flags: Flags for the journal sb write operation
  *
  * Update a journal's superblock information about log tail and write it to
  * disk, waiting for the IO to complete.
  */
 int jbd2_journal_update_sb_log_tail(journal_t *journal, tid_t tail_tid,
-                                    unsigned long tail_block, int write_op)
+                                   unsigned long tail_block,
+                                   blk_opf_t write_flags)
 {
        journal_superblock_t *sb = journal->j_superblock;
        int ret;
        sb->s_sequence = cpu_to_be32(tail_tid);
        sb->s_start    = cpu_to_be32(tail_block);
 
-       ret = jbd2_write_superblock(journal, write_op);
+       ret = jbd2_write_superblock(journal, write_flags);
        if (ret)
                goto out;
 
 /**
  * jbd2_mark_journal_empty() - Mark on disk journal as empty.
  * @journal: The journal to update.
- * @write_op: With which operation should we write the journal sb
+ * @write_flags: Flags for the journal sb write operation
  *
  * Update a journal's dynamic superblock fields to show that journal is empty.
  * Write updated superblock to disk waiting for IO to complete.
  */
-static void jbd2_mark_journal_empty(journal_t *journal, int write_op)
+static void jbd2_mark_journal_empty(journal_t *journal, blk_opf_t write_flags)
 {
        journal_superblock_t *sb = journal->j_superblock;
        bool had_fast_commit = false;
                had_fast_commit = true;
        }
 
-       jbd2_write_superblock(journal, write_op);
+       jbd2_write_superblock(journal, write_flags);
 
        if (had_fast_commit)
                jbd2_set_feature_fast_commit(journal);
 
 extern int        jbd2_journal_skip_recovery   (journal_t *);
 extern void       jbd2_journal_update_sb_errno(journal_t *);
 extern int        jbd2_journal_update_sb_log_tail      (journal_t *, tid_t,
-                               unsigned long, int);
+                               unsigned long, blk_opf_t);
 extern void       jbd2_journal_abort      (journal_t *, int);
 extern int        jbd2_journal_errno      (journal_t *);
 extern void       jbd2_journal_ack_err    (journal_t *);
 
 
 TRACE_EVENT(jbd2_write_superblock,
 
-       TP_PROTO(journal_t *journal, int write_op),
+       TP_PROTO(journal_t *journal, blk_opf_t write_flags),
 
-       TP_ARGS(journal, write_op),
+       TP_ARGS(journal, write_flags),
 
        TP_STRUCT__entry(
                __field(        dev_t,  dev                     )
-               __field(          int,  write_op                )
+               __field(    blk_opf_t,  write_flags             )
        ),
 
        TP_fast_assign(
                __entry->dev            = journal->j_fs_dev->bd_dev;
-               __entry->write_op       = write_op;
+               __entry->write_flags    = write_flags;
        ),
 
-       TP_printk("dev %d,%d write_op %x", MAJOR(__entry->dev),
-                 MINOR(__entry->dev), __entry->write_op)
+       TP_printk("dev %d,%d write_flags %x", MAJOR(__entry->dev),
+                 MINOR(__entry->dev), (__force u32)__entry->write_flags)
 );
 
 TRACE_EVENT(jbd2_lock_buffer_stall,