To support iopoll for bio-based device, the returned cookie is actually a pointer to an implementation specific object, e.g. an object maintaining all split bios. In such case, blk_qc_t should be large enough to contain one pointer, for which uintptr_t is used here. Since uintptr_t is actually an integer type in essence, there's no need of type casting in the original mq path, while type casting is indeed needed in bio-based routine. Signed-off-by: Jeffle Xu <jefflexu@xxxxxxxxxxxxxxxxx> --- include/linux/types.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/types.h b/include/linux/types.h index da5ca7e1bea9..f6301014a459 100644 --- a/include/linux/types.h +++ b/include/linux/types.h @@ -126,7 +126,7 @@ typedef u64 sector_t; typedef u64 blkcnt_t; /* cookie used for IO polling */ -typedef unsigned int blk_qc_t; +typedef uintptr_t blk_qc_t; /* * The type of an index into the pagecache. -- 2.27.0