Message ID | 20201223112624.78955-5-jefflexu@linux.alibaba.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | dm: add support of iopoll | expand |
On Wed, Dec 23 2020 at 6:26am -0500, Jeffle Xu <jefflexu@linux.alibaba.com> wrote: > 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@linux.alibaba.com> > --- > 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. I'd just fold this into patch 6.. not seeing benefit to having this be separate. Patch 6's header needs a lot more detail anyway so..
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.
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@linux.alibaba.com> --- include/linux/types.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)