public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: David Woodhouse <dwmw2@infradead.org>
To: Nicolas Pitre <nico@cam.org>
Cc: mtd@infradead.org
Subject: Re: corruption with mtdblock
Date: Mon, 06 Nov 2000 14:47:45 +0000	[thread overview]
Message-ID: <18194.973522065@redhat.com> (raw)
In-Reply-To: <Pine.LNX.4.10.10011061235070.697-100000@xanadu.gn.com>


nico@cam.org said:
>  So in our case, q->head_active is 1 by default.
> Looking at __make_request() you can see the head of the queue is
> actually skipped when the queue is unplugged.  It is plugged only when
> actually empty and no request are processed until it gets unplugged
> again.  All this is done when io_request_lock is held.  That's why I
> came to the conclusion that requests don't have to be removed earlier.
> 

OK. How about 'plugging'?

The code looks like this...

        /*
         * skip first entry, for devices with active queue head
         */
        if (q->head_active && !q->plugged)
                head = head->next;


It may be that if our request function returns without first ending the 
request (as it does, because all it does is a wake_up()), the queue is 
'plugged' to wait for requests to be merged. 

Then the kernel thread is proceeding to deal with the requests while the 
ll_rw_blk code thinks that the driver's request function isn't running.

I'll see if I can find someone to explain the plugging stuff to me :)

--
dwmw2




To unsubscribe, send "unsubscribe mtd" to majordomo@infradead.org

  reply	other threads:[~2000-11-06 14:47 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-11-05 22:52 Erase unit header corrupted when using FTL Brian Kuschak
2000-11-06  0:57 ` David Woodhouse
2000-11-06  2:10   ` corruption with mtdblock Nicolas Pitre
2000-11-06  7:27     ` David Woodhouse
2000-11-06 17:54       ` Nicolas Pitre
2000-11-06 14:47         ` David Woodhouse [this message]
2000-11-06 20:11           ` Nicolas Pitre
2000-11-06 15:19             ` David Woodhouse
2000-11-07  9:04               ` Nicolas Pitre
2000-11-08 21:50                 ` David Woodhouse
2000-11-09  0:28                   ` Nicolas Pitre
2000-11-09  7:58                     ` David Woodhouse
2000-11-09 14:22                       ` Nicolas Pitre
2000-11-09  8:12                     ` David Woodhouse
2000-11-09 11:34                       ` David Woodhouse
2000-11-09 15:21                         ` Nicolas Pitre
2000-11-09 22:36                           ` David Woodhouse
2000-11-11 23:38                             ` Detecting the Disk-On-Chip 2800 Adam Agnew
2000-11-12 23:27                               ` David Woodhouse
2000-11-13  0:24                               ` Ollie Lho
2000-11-13  6:35                                 ` Adam Agnew
2000-11-09 14:34                       ` corruption with mtdblock Nicolas Pitre
2000-11-09 14:23                         ` David Woodhouse
2000-11-06 15:31             ` David Woodhouse
2000-11-06 21:24               ` Nicolas Pitre
2000-11-06 17:31                 ` David Woodhouse
2000-11-07  1:02                   ` Nicolas Pitre
2000-11-06 14:54         ` David Woodhouse
2000-11-06 21:27           ` Nicolas Pitre

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=18194.973522065@redhat.com \
    --to=dwmw2@infradead.org \
    --cc=mtd@infradead.org \
    --cc=nico@cam.org \
    /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