return 0;
 }
 
-static unsigned int f2fs_io_flags(struct f2fs_io_info *fio)
+static blk_opf_t f2fs_io_flags(struct f2fs_io_info *fio)
 {
        unsigned int temp_mask = (1 << NR_TEMP_TYPE) - 1;
        unsigned int fua_flag, meta_flag, io_flag;
-       unsigned int op_flags = 0;
+       blk_opf_t op_flags = 0;
 
        if (fio->op != REQ_OP_WRITE)
                return 0;
 }
 
 static struct bio *f2fs_grab_read_bio(struct inode *inode, block_t blkaddr,
-                                     unsigned nr_pages, unsigned op_flag,
+                                     unsigned nr_pages, blk_opf_t op_flag,
                                      pgoff_t first_idx, bool for_write)
 {
        struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
 
 /* This can handle encryption stuffs */
 static int f2fs_submit_page_read(struct inode *inode, struct page *page,
-                                block_t blkaddr, int op_flags, bool for_write)
+                                block_t blkaddr, blk_opf_t op_flags,
+                                bool for_write)
 {
        struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
        struct bio *bio;
 }
 
 struct page *f2fs_get_read_data_page(struct inode *inode, pgoff_t index,
-                                               int op_flags, bool for_write)
+                                    blk_opf_t op_flags, bool for_write)
 {
        struct address_space *mapping = inode->i_mapping;
        struct dnode_of_data dn;
 
        nid_t ino;              /* inode number */
        enum page_type type;    /* contains DATA/NODE/META/META_FLUSH */
        enum temp_type temp;    /* contains HOT/WARM/COLD */
-       int op;                 /* contains REQ_OP_ */
-       int op_flags;           /* req_flag_bits */
+       enum req_op op;         /* contains REQ_OP_ */
+       blk_opf_t op_flags;     /* req_flag_bits */
        block_t new_blkaddr;    /* new block address to be written */
        block_t old_blkaddr;    /* old block address before Cow */
        struct page *page;      /* page to be written */
 int f2fs_get_block(struct dnode_of_data *dn, pgoff_t index);
 int f2fs_reserve_block(struct dnode_of_data *dn, pgoff_t index);
 struct page *f2fs_get_read_data_page(struct inode *inode, pgoff_t index,
-                       int op_flags, bool for_write);
+                       blk_opf_t op_flags, bool for_write);
 struct page *f2fs_find_data_page(struct inode *inode, pgoff_t index);
 struct page *f2fs_get_lock_data_page(struct inode *inode, pgoff_t index,
                        bool for_write);
 
  * 0: f2fs_put_page(page, 0)
  * LOCKED_PAGE or error: f2fs_put_page(page, 1)
  */
-static int read_node_page(struct page *page, int op_flags)
+static int read_node_page(struct page *page, blk_opf_t op_flags)
 {
        struct f2fs_sb_info *sbi = F2FS_P_SB(page);
        struct node_info ni;
 
        struct discard_cmd_control *dcc = SM_I(sbi)->dcc_info;
        struct list_head *wait_list = (dpolicy->type == DPOLICY_FSTRIM) ?
                                        &(dcc->fstrim_list) : &(dcc->wait_list);
-       int flag = dpolicy->sync ? REQ_SYNC : 0;
+       blk_opf_t flag = dpolicy->sync ? REQ_SYNC : 0;
        block_t lstart, start, len, total_len;
        int err = 0;
 
 
 
 #define F2FS_OP_FLAGS (REQ_RAHEAD | REQ_SYNC | REQ_META | REQ_PRIO |   \
                        REQ_PREFLUSH | REQ_FUA)
-#define F2FS_BIO_FLAG_MASK(t)  (t & F2FS_OP_FLAGS)
+#define F2FS_BIO_FLAG_MASK(t) (__force u32)((t) & F2FS_OP_FLAGS)
 
 #define show_bio_type(op,op_flags)     show_bio_op(op),                \
                                                show_bio_op_flags(op_flags)
 
 #define show_bio_op_flags(flags)                                       \
        __print_flags(F2FS_BIO_FLAG_MASK(flags), "|",                   \
-               { REQ_RAHEAD,           "R" },                          \
-               { REQ_SYNC,             "S" },                          \
-               { REQ_META,             "M" },                          \
-               { REQ_PRIO,             "P" },                          \
-               { REQ_PREFLUSH,         "PF" },                         \
-               { REQ_FUA,              "FUA" })
+               { (__force u32)REQ_RAHEAD,      "R" },                  \
+               { (__force u32)REQ_SYNC,        "S" },                  \
+               { (__force u32)REQ_META,        "M" },                  \
+               { (__force u32)REQ_PRIO,        "P" },                  \
+               { (__force u32)REQ_PREFLUSH,    "PF" },                 \
+               { (__force u32)REQ_FUA,         "FUA" })
 
 #define show_data_type(type)                                           \
        __print_symbolic(type,                                          \
                __field(pgoff_t, index)
                __field(block_t, old_blkaddr)
                __field(block_t, new_blkaddr)
-               __field(int, op)
-               __field(int, op_flags)
+               __field(enum req_op, op)
+               __field(blk_opf_t, op_flags)
                __field(int, temp)
                __field(int, type)
        ),
        TP_STRUCT__entry(
                __field(dev_t,  dev)
                __field(dev_t,  target)
-               __field(int,    op)
-               __field(int,    op_flags)
+               __field(enum req_op,    op)
+               __field(blk_opf_t,      op_flags)
                __field(int,    type)
                __field(sector_t,       sector)
                __field(unsigned int,   size)