From: Jeff Garzik <jeff@garzik.org>
To: Jens Axboe <jens.axboe@oracle.com>
Cc: Boaz Harrosh <bharrosh@panasas.com>,
LKML <linux-kernel@vger.kernel.org>,
linux-scsi@vger.kernel.org, linux-fsdevel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH] osdblk: a Linux block device for OSD objects
Date: Wed, 08 Apr 2009 02:02:30 -0400 [thread overview]
Message-ID: <49DC3DF6.6090903@garzik.org> (raw)
In-Reply-To: <20090408054537.GI5178@kernel.dk>
Jens Axboe wrote:
> On Tue, Apr 07 2009, Jeff Garzik wrote:
>> Boaz Harrosh wrote:
>>> On 04/03/2009 12:58 PM, Jeff Garzik wrote:
>>>> Jens Axboe wrote:
>>>>> This wont work, GFP_NOIO inside the queue lock. You are also only
>>>>> cloning the front bio, what happens if you have > 1 bio on the request?
>>>>> You seem to dequeue the request and complete all of it, regardless of
>>>>> whether bio->bi_size == blk_rq_bytes(rq). I'm assuming you have to clone
>>>>> because of how the osd_req_{read,write} works, so I'd suggest storing
>>>>> the byte size in your osdblk_request and only completing that in
>>>>> osdblk_end_request(). Then do a rq_for_each_bio() look in there, and
>>>>> only dequeue if you manage to start an osd request for each of them,
>>>>> THEN moving on to the next request.
>>> There is nothing preventing from issuing a linked bio list. The only thing
>>> is that osd_read/write looks at the first bio for total size.
>>> If the first bio->bi_size does not specify the full length of the chain
>>> then we should add another parameter to osd_read/write for that.
>>>
>>> The original idea was to specifically allow chained bios.
>>>
>>> Please advise?
>> As passed to us from the block layer, there is nothing special about the
>> size of the first bio, AFAIK.
>>
>> This seems like a libosd bug? If you want to support chained bio's, I
>> would presume you would either walk the list and sum all sizes, or in
>> some other way input the total request size?
>
> Completely agree, if you want to support passing in a chain, you better
> make the first bio just part of the chain (not some header bio).
>
> And Jeff, you still have that bio_clone() bug in your v2 posting.
Yep, that was noted in the patch description as "The major remaining
pre-merge FIXME" :)
Jeff
next prev parent reply other threads:[~2009-04-08 6:02 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-02 1:54 [PATCH] osdblk: a Linux block device for OSD objects Jeff Garzik
2009-04-02 2:05 ` Jeff Garzik
2009-04-02 12:26 ` Boaz Harrosh
2009-04-02 16:46 ` Jeff Garzik
2009-04-03 9:38 ` Jeff Garzik
2009-04-05 10:22 ` Boaz Harrosh
2009-04-03 1:32 ` James Bottomley
2009-04-03 10:14 ` Jeff Garzik
2009-04-03 9:49 ` Jens Axboe
2009-04-03 9:58 ` Jeff Garzik
2009-04-05 10:18 ` Boaz Harrosh
2009-04-08 1:29 ` Jeff Garzik
2009-04-08 5:45 ` Jens Axboe
2009-04-08 6:02 ` Jeff Garzik [this message]
2009-04-08 6:08 ` Jens Axboe
2009-04-07 7:26 ` Pavel Machek
2009-04-07 22:53 ` [PATCH v2] " Jeff Garzik
2009-04-10 11:48 ` [PATCH 1/3] block/blk-map.c: blk_rq_append_bio should ensure it's not appending a chain Jeff Garzik
2009-04-10 11:49 ` [PATCH 2/3] osd_initiator: support bio chains Jeff Garzik
2009-04-10 11:50 ` [PATCH 3/3 v3] osdblk: a Linux block device for OSD objects Jeff Garzik
2009-04-27 15:59 ` Boaz Harrosh
2009-04-27 18:24 ` Jens Axboe
2009-04-28 9:40 ` Boaz Harrosh
2009-04-27 16:02 ` [PATCH 2/3] osd_initiator: support bio chains Boaz Harrosh
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=49DC3DF6.6090903@garzik.org \
--to=jeff@garzik.org \
--cc=akpm@linux-foundation.org \
--cc=bharrosh@panasas.com \
--cc=jens.axboe@oracle.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.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 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.