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
next prev parent 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