public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Petr Vandrovec" <VANDROVE@vc.cvut.cz>
To: Marcin Dalecki <dalecki@evision.ag>
Cc: linux-kernel@vger.kernel.org, torvalds@transmeta.com
Subject: Re: [PATCH] 2.5.30 IDE 113
Date: Tue, 6 Aug 2002 12:35:03 +0200	[thread overview]
Message-ID: <13AC5F92253@vcnet.vc.cvut.cz> (raw)

On  6 Aug 02 at 12:20, Marcin Dalecki wrote:
> Uz.ytkownik Petr Vandrovec napisa?:
> 
> > Hi Marcin,
> >   what synchronizes these accesses to make sure that you do not have
> > two ide_raw_taskfile requests on the flight, both using same 
> > drive->srequest? It looks to me like that nothing, so you can overwrite 
> > request's contents while somebody else already uses this buffer.
> 
> I don't think so. The queue lock is synchronizing them.
> And then we usually add them just to the front of the queue in question
> and wait for finishment until the request is done.

How queue lock can synchronize them if we do not hold queue lock
for entire duration and setup of request, including drive->srequest 
setup?

> After all ide_raw_taskfile only gets used for REQ_SPECIAL request
> types. This does *not* contain normal data request from block IO.
> As of master slave issues - well we have the data pre allocated per
> device not per channel! If q->request_fn would properly return the
> error count instead of void, we could even get rid ot the
> checking for rq->errors after finishment... But well that's
> entierly different story.

For example do_cmd_ioctl() invokes ide_raw_taskfile, without any locking.
Two programs, both issuing HDIO_DRIVE_CMD at same time, will compete
over one drive->srequest struct: you'll get same drive->srequest structure
submitted twice to blk_insert_request (hm, Jens, will this trigger
BUG, or will this just damage request list?).
                                            Petr Vandrovec
                                            vandrove@vc.cvut.cz
                                            

             reply	other threads:[~2002-08-06 10:31 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-08-06 10:35 Petr Vandrovec [this message]
2002-08-06 10:44 ` [PATCH] 2.5.30 IDE 113 Jens Axboe
2002-08-06 10:47   ` Marcin Dalecki
2002-08-06 11:03     ` Jens Axboe
2002-08-06 11:04       ` Marcin Dalecki
2002-08-06 11:12         ` Jens Axboe
  -- strict thread matches above, loose matches on Subject: below --
2002-08-06 10:16 Petr Vandrovec
2002-08-06 10:20 ` Marcin Dalecki
2002-08-06 10:42   ` Jens Axboe
2002-08-06 10:43     ` Marcin Dalecki
2002-08-06 10:54       ` Jens Axboe
2002-08-06 10:52         ` Marcin Dalecki
2002-08-06 11:05           ` Jens Axboe
2002-08-06 11:09             ` Marcin Dalecki
2002-08-06 11:17               ` Jens Axboe
2002-08-06 11:57                 ` Marcin Dalecki
2002-08-06  9:02 Marcin Dalecki

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=13AC5F92253@vcnet.vc.cvut.cz \
    --to=vandrove@vc.cvut.cz \
    --cc=dalecki@evision.ag \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@transmeta.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox