trace_ext4_zero_range(inode, offset, len, mode);
 
-       if (!S_ISREG(inode->i_mode))
-               return -EINVAL;
-
        /* Call ext4_force_commit to flush all data in case of data=journal. */
        if (ext4_should_journal_data(inode)) {
                ret = ext4_force_commit(inode->i_sb);
        if (!IS_ALIGNED(offset | len, EXT4_CLUSTER_SIZE(sb)))
                return -EINVAL;
 
-       if (!S_ISREG(inode->i_mode))
-               return -EINVAL;
-
        trace_ext4_collapse_range(inode, offset, len);
 
        punch_start = offset >> EXT4_BLOCK_SIZE_BITS(sb);
        if (!IS_ALIGNED(offset | len, EXT4_CLUSTER_SIZE(sb)))
                return -EINVAL;
 
-       if (!S_ISREG(inode->i_mode))
-               return -EOPNOTSUPP;
-
        trace_ext4_insert_range(inode, offset, len);
 
        offset_lblk = offset >> EXT4_BLOCK_SIZE_BITS(sb);
 
        unsigned int credits;
        int ret = 0;
 
-       if (!S_ISREG(inode->i_mode))
-               return -EOPNOTSUPP;
-
        trace_ext4_punch_hole(inode, offset, length, 0);
 
        ext4_clear_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA);