All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
To: petkovbb@gmail.com
Cc: linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] ide-floppy: use scatterlists for pio transfers
Date: Thu, 7 Aug 2008 18:57:09 +0200	[thread overview]
Message-ID: <200808071857.09609.bzolnier@gmail.com> (raw)
In-Reply-To: <20080806193056.GA31312@gollum.tnic>

On Wednesday 06 August 2008, Borislav Petkov wrote:
> On Wed, Aug 06, 2008 at 06:05:00PM +0200, Bartlomiej Zolnierkiewicz wrote:
> > 
> > Hi,
> > 
> > On Tuesday 05 August 2008, Borislav Petkov wrote:
> > > Hi Bart,
> > > 
> > > here's my first stab at using scatterlists in ide-floppy. I've adapted your
> > > ide-scsi version to fit in here. The change here is that i use pc->b_count as
> > > a sort-of completion counter to know when i'm at the end of the sg element and
> > > be able to switch to the next/finish transfer. I've tested the patch with the
> > > Iomega ZIP drive i have here - it works. We should do some more testing first
> > > though, before sending it upstream.
> > 
> > [...]
> > 
> > > @@ -569,7 +577,7 @@ static void idefloppy_create_rw_cmd(idefloppy_floppy_t *floppy,
> > >  	memcpy(rq->cmd, pc->c, 12);
> > >  
> > >  	pc->rq = rq;
> > > -	pc->b_count = cmd == READ ? 0 : rq->bio->bi_size;
> > > +	pc->b_count = 0;
> > >  	if (rq->cmd_flags & REQ_RW)
> > >  		pc->flags |= PC_FLAG_WRITING;
> > >  	pc->buf = NULL;
> > 
> > Don't we also need to zero pc->b_count in idefloppy_blockpc_cmd()?
> > 
> > [ idefloppy_init_pc() clears whole pc so ->b_count assignment
> >   to zero is not strictly necessary ]
> 
> We probably should and i should've probably hit that during testing and maybe
> hit an OOPS along that path but we don't do REQ_TYPE_BLOCK_PC in ide-floppy
> yet, as it appears, and since idefloppy_blockpc_cmd() is only called when
> blk_pc_request(rq) that's why this one doesn't matter here. We should consider
> it though when we convert to using BLOCK_PC type rq's.

Unless somebody tries to use SG_IO ioctl (however I don't know if anybody has
actually ever tried so it as well may be that it hasn't worked before...).

Anyway I applied the patch and fixed pc->b_count while at it (just-in-case).

      reply	other threads:[~2008-08-07 17:15 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-05  5:11 [PATCH] ide-floppy: use scatterlists for pio transfers Borislav Petkov
2008-08-06 16:05 ` Bartlomiej Zolnierkiewicz
2008-08-06 19:30   ` Borislav Petkov
2008-08-07 16:57     ` Bartlomiej Zolnierkiewicz [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200808071857.09609.bzolnier@gmail.com \
    --to=bzolnier@gmail.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=petkovbb@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.