The qgroup level is limited to u16, so no need to use u64 for it.
Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
                        if (qgroup->rsv.values[i]) {
                                ret = true;
                                btrfs_warn(fs_info,
-               "qgroup %llu/%llu has unreleased space, type %d rsv %llu",
+               "qgroup %hu/%llu has unreleased space, type %d rsv %llu",
                                   btrfs_qgroup_level(qgroup->qgroupid),
                                   btrfs_qgroup_subvolid(qgroup->qgroupid),
                                   i, qgroup->rsv.values[i]);
 
 #define BTRFS_FREE_SPACE_USING_BITMAPS (1ULL << 0)
 
 #define BTRFS_QGROUP_LEVEL_SHIFT               48
-static inline __u64 btrfs_qgroup_level(__u64 qgroupid)
+static inline __u16 btrfs_qgroup_level(__u64 qgroupid)
 {
-       return qgroupid >> BTRFS_QGROUP_LEVEL_SHIFT;
+       return (__u16)(qgroupid >> BTRFS_QGROUP_LEVEL_SHIFT);
 }
 
 /*