Re: [RFC 0/5] block large commands support continue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 24 Apr 2008 12:49:30 +0200
Jens Axboe <jens.axboe@xxxxxxxxxx> wrote:

> On Thu, Apr 24 2008, FUJITA Tomonori wrote:
> > On Thu, 24 Apr 2008 13:31:21 +0900
> > FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> wrote:
> > 
> > > On Wed, 23 Apr 2008 17:50:42 +0300
> > > Boaz Harrosh <bharrosh@xxxxxxxxxxx> wrote:
> > > 
> > > > 
> > > > The support for large commands was dropped from the for-2.6.26 branch
> > > > and will probably not get accepted into next kernel.
> > > > 
> > > > I have tried to take all comments from Jens and Bart. and incorporate
> > > > it into a new patchset. This is basically Tomo's patchset but with
> > > > proposed changes.
> > > 
> > > Have you seen the patchset to remove request on the stack?
> > > 
> > > http://marc.info/?l=linux-ide&m=120882410712466&w=2
> > > 
> > > 
> > > > They are based on current linux-block/master. They will probably conflict with
> > > > latest patch sent by Tomo for the blk_get_request(). Once those patches
> > > > get accepted at some git tree, (Where will that be?), I will rebase these
> > > > on top of them. Please CC me of any progress.
> > > > 
> > > > [PATCH 1/5] block: no need to initialize rq->cmd
> > > >   This is 2 of Tomo's patches squashed together as they are
> > > >   small and do the same. Tomo is this OK?
> > > > 
> > > > [PATCH 2/5] block: replace sizeof(rq->cmd) with BLK_MAX_CDB
> > > >   Tomos patch rebased to here
> > > > 
> > > > [PATCH 3/5] block: Export rq_init, rename to blk_init_rq
> > > > [PATCH 4/5] block: Use new blk_init_rq
> > > >   These patches are basically what Jens and Bart has suggested, that with
> > > >   a small code change to blk-core.c we can memset at rq_init() and only set
> > > >   none zero members. We can also export that initializer and use it all over
> > > >   the ide tree where ever requests don't come from a request queue. (OK also
> > > >   at scsi_error.c)
> > > 
> > > +void blk_init_rq(struct request_queue *q, struct request *rq, int cmd_flags)
> > > 
> > > Hmm, would it be better to modify the block layer to let rq_init just
> > > memset() the request structure?
> > 
> > I think, if we move rq_init to blk_alloc_request from get_request,
> > rq_init can just memset() the structure.
> > 
> > Then we can export rq_init and rq_init works for everyone.
> 
> Wont work, see the io scheduler set_request() functions.

Sorry, can you be more specific?

Only cfq uses set_request for now. cfq_set_request uses rq->cmd_flags
and stores information at rq->elevator_private and
rq->elevator_private2.

The patch does memset() the request structure and sets up
rq->cmd_flags, and then elv_set_request. Doesn't it work?
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux