From: Jens Axboe <[EMAIL PROTECTED]>
Subject: Re: [PATCH 4/6] bsg: add sg_io_v4 structure
Date: Thu, 21 Dec 2006 08:28:23 +0100

> On Thu, Dec 21 2006, FUJITA Tomonori wrote:
> > From: Jens Axboe <[EMAIL PROTECTED]>
> > Subject: Re: [PATCH 4/6] bsg: add sg_io_v4 structure
> > Date: Wed, 20 Dec 2006 11:13:14 +0100
> > 
> > > On Wed, Dec 20 2006, FUJITA Tomonori wrote:
> > > > This patch adds sg_io_v4 structure that Doug proposed last month.
> > > > 
> > > > There's one major change from the RFC. I dropped iovec, which needs
> > > > compat stuff. The bsg code simply calls blk_rq_map_user against
> > > > dout_xferp/din_xferp. So if possible, the page frames are directly
> > > > mapped. If not possible, the block layer allocates new page frames and
> > > > does memory copies.
> > > > 
> > > > Signed-off-by: FUJITA Tomonori <[EMAIL PROTECTED]>
> > > > ---
> > > >  include/linux/bsg.h |   43 +++++++++++++++++++++++++++++++++++++++++++
> > > >  1 files changed, 43 insertions(+), 0 deletions(-)
> > > > 
> > > > diff --git a/include/linux/bsg.h b/include/linux/bsg.h
> > > > index dc0d728..0d212cc 100644
> > > > --- a/include/linux/bsg.h
> > > > +++ b/include/linux/bsg.h
> > > > @@ -1,6 +1,47 @@
> > > >  #ifndef BSG_H
> > > >  #define BSG_H
> > > >  
> > > > +struct sg_io_v4 {
> > > > +       int32_t guard;          /* [i] 'Q' to differentiate from v3 */
> > > > +       uint32_t protocol;      /* [i] 0 -> SCSI , .... */
> > > 
> > > I prefer using the u32 types and so on for explicitly sized variables.
> > > I'll make that change.
> > 
> > I see though we need to use __u32 instead of u32, don't we?
> 
> Yep, we should.

Are you waiting for a patch?

---
>From 94512209b34bf05ff8ee7830889cd811f0ef17fe Mon Sep 17 00:00:00 2001
From: FUJITA Tomonori <[EMAIL PROTECTED]>
Date: Fri, 22 Dec 2006 09:23:03 +0900
Subject: [PATCH] Replace s32, u32 and u64 with __s32, __u32 and __u64 in bsg.h 
for userspace

Signed-off-by: FUJITA Tomonori <[EMAIL PROTECTED]>

---
 include/linux/bsg.h |   58 +++++++++++++++++++++++++-------------------------
 1 files changed, 29 insertions(+), 29 deletions(-)

diff --git a/include/linux/bsg.h b/include/linux/bsg.h
index f968726..2154a6d 100644
--- a/include/linux/bsg.h
+++ b/include/linux/bsg.h
@@ -2,42 +2,42 @@ #ifndef BSG_H
 #define BSG_H
 
 struct sg_io_v4 {
-       s32 guard;              /* [i] 'Q' to differentiate from v3 */
-       u32 protocol;           /* [i] 0 -> SCSI , .... */
-       u32 subprotocol;        /* [i] 0 -> SCSI command, 1 -> SCSI task
+       __s32 guard;            /* [i] 'Q' to differentiate from v3 */
+       __u32 protocol;         /* [i] 0 -> SCSI , .... */
+       __u32 subprotocol;      /* [i] 0 -> SCSI command, 1 -> SCSI task
                                   management function, .... */
 
-       u32 request_len;        /* [i] in bytes */
-       u64 request;            /* [i], [*i] {SCSI: cdb} */
-       u32 request_attr;       /* [i] {SCSI: task attribute} */
-       u32 request_tag;        /* [i] {SCSI: task tag (only if flagged)} */
-       u32 request_priority;   /* [i] {SCSI: task priority} */
-       u32 max_response_len;   /* [i] in bytes */
-       u64 response;           /* [i], [*o] {SCSI: (auto)sense data} */
+       __u32 request_len;      /* [i] in bytes */
+       __u64 request;          /* [i], [*i] {SCSI: cdb} */
+       __u32 request_attr;     /* [i] {SCSI: task attribute} */
+       __u32 request_tag;      /* [i] {SCSI: task tag (only if flagged)} */
+       __u32 request_priority; /* [i] {SCSI: task priority} */
+       __u32 max_response_len; /* [i] in bytes */
+       __u64 response;         /* [i], [*o] {SCSI: (auto)sense data} */
 
        /* "din_" for data in (from device); "dout_" for data out (to device) */
-       u32 dout_xfer_len;      /* [i] bytes to be transferred to device */
-       u32 din_xfer_len;       /* [i] bytes to be transferred from device */
-       u64 dout_xferp;         /* [i], [*i] */
-       u64 din_xferp;          /* [i], [*o] */
+       __u32 dout_xfer_len;    /* [i] bytes to be transferred to device */
+       __u32 din_xfer_len;     /* [i] bytes to be transferred from device */
+       __u64 dout_xferp;       /* [i], [*i] */
+       __u64 din_xferp;        /* [i], [*o] */
 
-       u32 timeout;            /* [i] units: millisecond */
-       u32 flags;              /* [i] bit mask */
-       u64 usr_ptr;            /* [i->o] unused internally */
-       u32 spare_in;           /* [i] */
+       __u32 timeout;          /* [i] units: millisecond */
+       __u32 flags;            /* [i] bit mask */
+       __u64 usr_ptr;          /* [i->o] unused internally */
+       __u32 spare_in;         /* [i] */
 
-       u32 driver_status;      /* [o] 0 -> ok */
-       u32 transport_status;   /* [o] 0 -> ok */
-       u32 device_status;      /* [o] {SCSI: command completion status} */
-       u32 retry_delay;        /* [o] {SCSI: status auxiliary information} */
-       u32 info;               /* [o] additional information */
-       u32 duration;           /* [o] time to complete, in milliseconds */
-       u32 response_len;       /* [o] bytes of response actually written */
-       s32 din_resid;          /* [o] actual_din_xfer_len - din_xfer_len */
-       u32 generated_tag;      /* [o] {SCSI: task tag that transport chose} */
-       u32 spare_out;          /* [o] */
+       __u32 driver_status;    /* [o] 0 -> ok */
+       __u32 transport_status; /* [o] 0 -> ok */
+       __u32 device_status;    /* [o] {SCSI: command completion status} */
+       __u32 retry_delay;      /* [o] {SCSI: status auxiliary information} */
+       __u32 info;             /* [o] additional information */
+       __u32 duration;         /* [o] time to complete, in milliseconds */
+       __u32 response_len;     /* [o] bytes of response actually written */
+       __s32 din_resid;        /* [o] actual_din_xfer_len - din_xfer_len */
+       __u32 generated_tag;    /* [o] {SCSI: task tag that transport chose} */
+       __u32 spare_out;        /* [o] */
 
-       u32 padding;
+       __u32 padding;
 };
 
 #ifdef __KERNEL__
-- 
1.4.3.2

-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to