From: Mingming Cao <cmm@us.ibm.com>
To: suparna@in.ibm.com
Cc: Andrew Morton <akpm@osdl.org>,
"Stephen C. Tweedie" <sct@redhat.com>,
linux-kernel <linux-kernel@vger.kernel.org>,
ext2-devel <ext2-devel@lists.sourceforge.net>,
linux-fsdevel@vger.kernel.org
Subject: Re: [Ext2-devel] [RFC] Adding multiple block allocation
Date: Fri, 29 Apr 2005 12:42:44 -0700 [thread overview]
Message-ID: <1114803764.10473.46.camel@localhost.localdomain> (raw)
In-Reply-To: <1114794608.10473.18.camel@localhost.localdomain>
On Fri, 2005-04-29 at 10:10 -0700, Mingming Cao wrote:
> But if it try to allocating blocks in the hole (with direct IO), blocks
> are allocated one by one. I am looking at it right now.
>
Hi Andrew, Badari,
If we do direct write(block allocation) to a hole, I found that the
"create" flag passed to ext3_direct_io_get_blocks() is 0 if we are
trying to _write_ to a file hole. Is this expected?
This is what happened on mainline 2.6.12-rc2(and with my patch). To simplify, here is the problem description on mainline:
If we do 30 blocks write to a new file at offset 800k, fine, create flag is all 1.
Then if seek back to offset 400k, write another 30 blocks, create flag is 0
-bash-2.05b# mount -t ext3 /dev/ubdc /mnt/ext3
-bash-2.05b# cd /mnt/ext3
-bash-2.05b# touch a
-bash-2.05b# /root/filetst -o 819200 -b 122880 -c 1 -w -d -f a
Calling ext3_get_block_handle from ext3_direct_io_get_blocks: maxblocks = 30, iblock = 200, create = 1
Calling ext3_get_block_handle from ext3_direct_io_get_blocks: maxblocks = 29, iblock = 201, create = 1
Calling ext3_get_block_handle from ext3_direct_io_get_blocks: maxblocks = 28, iblock = 202, create = 1
Calling ext3_get_block_handle from ext3_direct_io_get_blocks: maxblocks = 27, iblock = 203, create = 1
Calling ext3_get_block_handle from ext3_direct_io_get_blocks: maxblocks = 26, iblock = 204, create = 1
...................
Calling ext3_get_block_handle from ext3_direct_io_get_blocks: maxblocks = 5, iblock = 225, create = 1
Calling ext3_get_block_handle from ext3_direct_io_get_blocks: maxblocks = 4, iblock = 226, create = 1
Calling ext3_get_block_handle from ext3_direct_io_get_blocks: maxblocks = 3, iblock = 227, create = 1
Calling ext3_get_block_handle from ext3_direct_io_get_blocks: maxblocks = 2, iblock = 228, create = 1
Calling ext3_get_block_handle from ext3_direct_io_get_blocks: maxblocks = 1, iblock = 229, create = 1
-bash-2.05b# /root/filetst -o 409600 -b 122880 -c 1 -w -d -f a
Calling ext3_get_block_handle from ext3_direct_io_get_blocks: maxblocks = 30, iblock = 100, create = 0
Because of create flag is 0, ext3_get_block will not do block allocation
and return immediately after look up failed. Then ext3_get_block_handle
() is called from other path(I am not sure where) other than
ext3_direct_io_get_blocks to allocate the desired 30 blocks.(thus, when
apply ext3_get_blocks patch, ext3_get_blocks is not called)
Could you clarify?
Thanks,
Mingming
next prev parent reply other threads:[~2005-04-29 19:42 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-05 3:51 ext3 allocate-with-reservation latencies Lee Revell
2005-04-05 4:13 ` Ingo Molnar
2005-04-05 6:10 ` Mingming Cao
2005-04-05 16:38 ` Lee Revell
2005-04-06 5:35 ` Mingming Cao
2005-04-06 9:51 ` Stephen C. Tweedie
2005-04-06 16:53 ` Mingming Cao
2005-04-06 18:22 ` Stephen C. Tweedie
2005-04-06 19:03 ` Mingming Cao
2005-04-07 8:14 ` Ingo Molnar
2005-04-07 13:08 ` Stephen C. Tweedie
2005-04-07 19:16 ` Mingming Cao
2005-04-07 23:37 ` Mingming Cao
2005-04-08 14:40 ` Stephen C. Tweedie
2005-04-08 16:06 ` Arjan van de Ven
2005-04-08 18:10 ` Mingming Cao
2005-04-08 18:12 ` Lee Revell
2005-04-11 11:48 ` Stephen C. Tweedie
2005-04-11 18:38 ` Mingming Cao
2005-04-11 19:12 ` Lee Revell
2005-04-11 19:22 ` Lee Revell
2005-04-11 19:57 ` Stephen C. Tweedie
2005-04-12 6:41 ` Mingming Cao
2005-04-12 11:18 ` Stephen C. Tweedie
2005-04-12 23:27 ` Mingming Cao
2005-04-13 10:29 ` Stephen C. Tweedie
[not found] ` <1113597161.3899.80.camel@localhost.localdomain>
2005-04-18 18:00 ` Stephen C. Tweedie
2005-04-18 21:56 ` [Ext2-devel] " Mingming Cao
2005-04-22 22:10 ` [RFC][PATCH] Reduce ext3 allocate-with-reservation lock latencies Mingming Cao
2005-04-28 3:45 ` Lee Revell
2005-04-28 7:37 ` Mingming Cao
2005-04-28 16:12 ` Lee Revell
2005-04-28 18:34 ` Mingming Cao
2005-04-29 6:18 ` Mingming Cao
2005-04-28 19:14 ` [RFC] Adding multiple block allocation to current ext3 Mingming Cao
2005-04-29 13:52 ` [Ext2-devel] [RFC] Adding multiple block allocation Suparna Bhattacharya
2005-04-29 17:10 ` Mingming Cao
2005-04-29 19:42 ` Mingming Cao [this message]
2005-04-29 20:57 ` Andrew Morton
2005-04-29 20:57 ` Andrew Morton
2005-04-29 21:12 ` [Ext2-devel] " Mingming Cao
2005-04-29 21:12 ` Mingming Cao
2005-04-29 21:34 ` [Ext2-devel] " Andrew Morton
2005-04-29 21:34 ` Andrew Morton
2005-04-30 16:00 ` [Ext2-devel] " Suparna Bhattacharya
2005-04-29 18:45 ` Badari Pulavarty
2005-04-29 23:22 ` Mingming Cao
2005-04-30 16:10 ` Suparna Bhattacharya
2005-04-30 16:10 ` Suparna Bhattacharya
2005-04-30 17:11 ` [Ext2-devel] " Suparna Bhattacharya
2005-04-30 18:07 ` Mingming Cao
2005-05-02 4:46 ` Suparna Bhattacharya
2005-04-30 16:52 ` Suparna Bhattacharya
2005-04-30 0:33 ` Mingming Cao
2005-04-30 0:33 ` Mingming Cao
2005-04-30 0:44 ` [Ext2-devel] " Mingming Cao
2005-04-30 0:44 ` Mingming Cao
2005-04-30 17:03 ` [Ext2-devel] " Suparna Bhattacharya
2006-01-10 23:26 ` [PATCH 0/5] multiple block allocation to current ext3 Mingming Cao
2006-01-11 5:25 ` Andrew Morton
2006-01-11 19:17 ` Mingming Cao
2006-01-11 19:43 ` Andrew Morton
2006-01-11 21:31 ` Mingming Cao
2006-01-14 1:12 ` Fall back io scheduler for 2.6.15? Mingming Cao
2006-01-14 1:49 ` Andrew Morton
2006-01-14 5:22 ` Dave Jones
2006-01-16 8:43 ` Jens Axboe
2006-01-16 19:45 ` [PATCH] Fall back io scheduler ( Re: [Ext2-devel] Re: Fall back io scheduler for 2.6.15?) Mingming Cao
2006-01-16 19:49 ` Jens Axboe
2006-01-16 19:57 ` Mingming Cao
2006-01-19 19:37 ` Fall back io scheduler for 2.6.15? Nate Diller
2006-01-20 8:10 ` Jens Axboe
2006-01-16 19:38 ` [Ext2-devel] " Mingming Cao
2005-04-29 6:28 ` [PATCH] Reduce ext3 allocate-with-reservation lock latencies Mingming Cao
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=1114803764.10473.46.camel@localhost.localdomain \
--to=cmm@us.ibm.com \
--cc=akpm@osdl.org \
--cc=ext2-devel@lists.sourceforge.net \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sct@redhat.com \
--cc=suparna@in.ibm.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.