}
 
 int nilfs_btnode_submit_block(struct address_space *btnc, __u64 blocknr,
-                             sector_t pblocknr, int mode, int mode_flags,
+                             sector_t pblocknr, blk_opf_t opf,
                              struct buffer_head **pbh, sector_t *submit_ptr)
 {
        struct buffer_head *bh;
                }
        }
 
-       if (mode_flags & REQ_RAHEAD) {
+       if (opf & REQ_RAHEAD) {
                if (pblocknr != *submit_ptr + 1 || !trylock_buffer(bh)) {
                        err = -EBUSY; /* internal code */
                        brelse(bh);
                        goto out_locked;
                }
-       } else { /* mode == READ */
+       } else { /* opf == REQ_OP_READ */
                lock_buffer(bh);
        }
        if (buffer_uptodate(bh)) {
        bh->b_blocknr = pblocknr; /* set block address for read */
        bh->b_end_io = end_buffer_read_sync;
        get_bh(bh);
-       submit_bh(mode | mode_flags, bh);
+       submit_bh(opf, bh);
        bh->b_blocknr = blocknr; /* set back to the given block address */
        *submit_ptr = pblocknr;
        err = 0;
 
 void nilfs_btnode_cache_clear(struct address_space *);
 struct buffer_head *nilfs_btnode_create_block(struct address_space *btnc,
                                              __u64 blocknr);
-int nilfs_btnode_submit_block(struct address_space *, __u64, sector_t, int,
-                             int, struct buffer_head **, sector_t *);
+int nilfs_btnode_submit_block(struct address_space *, __u64, sector_t,
+                             blk_opf_t, struct buffer_head **, sector_t *);
 void nilfs_btnode_delete(struct buffer_head *);
 int nilfs_btnode_prepare_change_key(struct address_space *,
                                    struct nilfs_btnode_chkey_ctxt *);
 
        sector_t submit_ptr = 0;
        int ret;
 
-       ret = nilfs_btnode_submit_block(btnc, ptr, 0, REQ_OP_READ, 0, &bh,
+       ret = nilfs_btnode_submit_block(btnc, ptr, 0, REQ_OP_READ, &bh,
                                        &submit_ptr);
        if (ret) {
                if (ret != -EEXIST)
                        ptr2 = nilfs_btree_node_get_ptr(ra->node, i, ra->ncmax);
 
                        ret = nilfs_btnode_submit_block(btnc, ptr2, 0,
-                                                       REQ_OP_READ, REQ_RAHEAD,
-                                                       &ra_bh, &submit_ptr);
+                                               REQ_OP_READ | REQ_RAHEAD,
+                                               &ra_bh, &submit_ptr);
                        if (likely(!ret || ret == -EEXIST))
                                brelse(ra_bh);
                        else if (ret != -EBUSY)
 
        struct inode *btnc_inode = NILFS_I(inode)->i_assoc_inode;
        int ret;
 
-       ret = nilfs_btnode_submit_block(btnc_inode->i_mapping,
-                                       vbn ? : pbn, pbn, REQ_OP_READ, 0,
-                                       out_bh, &pbn);
+       ret = nilfs_btnode_submit_block(btnc_inode->i_mapping, vbn ? : pbn, pbn,
+                                       REQ_OP_READ, out_bh, &pbn);
        if (ret == -EEXIST) /* internal code (cache hit) */
                ret = 0;
        return ret;
 
 }
 
 static int
-nilfs_mdt_submit_block(struct inode *inode, unsigned long blkoff,
-                      int mode, int mode_flags, struct buffer_head **out_bh)
+nilfs_mdt_submit_block(struct inode *inode, unsigned long blkoff, blk_opf_t opf,
+                      struct buffer_head **out_bh)
 {
        struct buffer_head *bh;
        __u64 blknum = 0;
        if (buffer_uptodate(bh))
                goto out;
 
-       if (mode_flags & REQ_RAHEAD) {
+       if (opf & REQ_RAHEAD) {
                if (!trylock_buffer(bh)) {
                        ret = -EBUSY;
                        goto failed_bh;
                }
-       } else /* mode == READ */
+       } else /* opf == REQ_OP_READ */
                lock_buffer(bh);
 
        if (buffer_uptodate(bh)) {
 
        bh->b_end_io = end_buffer_read_sync;
        get_bh(bh);
-       submit_bh(mode | mode_flags, bh);
+       submit_bh(opf, bh);
        ret = 0;
 
-       trace_nilfs2_mdt_submit_block(inode, inode->i_ino, blkoff, mode);
+       trace_nilfs2_mdt_submit_block(inode, inode->i_ino, blkoff,
+                                     opf & REQ_OP_MASK);
  out:
        get_bh(bh);
        *out_bh = bh;
        int i, nr_ra_blocks = NILFS_MDT_MAX_RA_BLOCKS;
        int err;
 
-       err = nilfs_mdt_submit_block(inode, block, REQ_OP_READ, 0, &first_bh);
+       err = nilfs_mdt_submit_block(inode, block, REQ_OP_READ, &first_bh);
        if (err == -EEXIST) /* internal code */
                goto out;
 
        if (readahead) {
                blkoff = block + 1;
                for (i = 0; i < nr_ra_blocks; i++, blkoff++) {
-                       err = nilfs_mdt_submit_block(inode, blkoff, REQ_OP_READ,
-                                                    REQ_RAHEAD, &bh);
+                       err = nilfs_mdt_submit_block(inode, blkoff,
+                                               REQ_OP_READ | REQ_RAHEAD, &bh);
                        if (likely(!err || err == -EEXIST))
                                brelse(bh);
                        else if (err != -EBUSY)
 
            TP_PROTO(struct inode *inode,
                     unsigned long ino,
                     unsigned long blkoff,
-                    int mode),
+                    enum req_op mode),
 
            TP_ARGS(inode, ino, blkoff, mode),
 
                    __field(struct inode *, inode)
                    __field(unsigned long, ino)
                    __field(unsigned long, blkoff)
-                   __field(int, mode)
+                   __field(enum req_op, mode)
            ),
 
            TP_fast_assign(