linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Allison Henderson <achender@linux.vnet.ibm.com>
To: Yongqiang Yang <xiaoqiangnk@gmail.com>
Cc: linux-ext4@vger.kernel.org, cmm@us.ibm.com
Subject: Re: [PATCH RFC v1 0/5]Factor common code from convert and split unwritten.
Date: Fri, 29 Apr 2011 12:16:59 -0700	[thread overview]
Message-ID: <4DBB0EAB.1090800@linux.vnet.ibm.com> (raw)
In-Reply-To: <4DB9C537.9060100@linux.vnet.ibm.com>

On 4/28/2011 12:51 PM, Allison Henderson wrote:
> On 4/27/2011 11:05 PM, Yongqiang Yang wrote:
>> Hi Allison,
>>
>> Could you send punch hole patch and fsx(if you modified it) to me? I
>> can not reproduce the bug on my system without punch hole.
>>
>> Thank you,
>> Yongqiang.
>>
>
> Sure, I have a patch for fsx to enable fallocate, and another patch that
> adds punch hole to the test suite. Right now I'm just working on
> getting our patches through the fsx that only has fallocate enabled. I
> thought it might be best if we work out all the bugs with that first
> before we deal with the more complex tests.
>
> Also, I have a debug patch that fits on top of the punch hole patch.
> Initially I hadn't planned to send it out, but maybe it might help you
> so I will include it too.
>
> Allison Henderson

Hi all,

Just some updates on this issue.  We are currently still trying to track 
down all the remaining bugs, and I hadn't planed on sending out another 
version of punch hole until we caught them all, but there is another 
suggestion to re-order the patch sets such that the RFC patch set 
applies on top of the punch hole set.

In the updated punch hole patch set that I have not yet sent out, the 
modifications to the split extents routine have been dropped (patch 2/6 
in the punch hole v5 patch set), because those changes were being done 
in the underlying RFC patch set.  If we re-order the patch sets, I would 
have to retain the split extents modifications, which means that the RFC 
set would have to be modified to deal with that.

I did think of one other option though.  There were two versions of the 
RFC patch set, and we only had to make a small modification to the first 
RFC set to make it work. After that, I didnt have any trouble with any 
of the test cases.  So a third option would be to push forward with an 
updated version of the first RFC set.  That would save Yongqaing from 
having to go back and deal with patch 2/6 of punch hole, and then only 
the remaining code that optimizes zeroing out extents would have to be 
made to apply on top of punch hole.  But I wasn't sure if that idea 
would be preferable to moving the entire set on top of punch hole, or if 
it is just better for us to continue pushing forward with debugging what 
we have now.  In the end, what ever combination of sets we choose to do 
should still be passing all the tests, but what would everyone prefer to 
do?  Thx!

Allison Henderson




>
>> On Wed, Apr 27, 2011 at 2:34 PM, Allison Henderson
>> <achender@linux.vnet.ibm.com> wrote:
>>> On 4/26/2011 9:48 PM, Yongqiang Yang wrote:
>>>>
>>>> On Wed, Apr 27, 2011 at 3:08 AM, Allison Henderson
>>>> <achender@linux.vnet.ibm.com> wrote:
>>>>>
>>>>> On 4/23/2011 1:44 AM, Yongqiang Yang wrote:
>>>>>>
>>>>>> v0->v1:
>>>>>> fix a bug in ext4_ext_convert_to_initialized() reported by
>>>>>> Allison<achender@linux.vnet.ibm.com>.
>>>>>>
>>>>>> optimize ext4_ext_convert_to_initialized().
>>>>>>
>>>>>> -- factor common code
>>>>>> These patches factor common code from
>>>>>> ext4_ext_convert_to_initialized()
>>>>>> and
>>>>>> ext4_split_unwritten_extents() so that extent-move-on-write in
>>>>>> snapshot
>>>>>> and
>>>>>> punch hole can be built on the common code.
>>>>>>
>>>>>> -- optimization
>>>>>> the 4th and the 5th patch optimize ext4_ext_convert_to_initialized()
>>>>>> by
>>>>>> zeroing out in memory.
>>>>>>
>>>>>>
>>>>>> [PATCH RFC v1 1/5] ext4:Add a function merging extent right and left.
>>>>>> [PATCH RFC v1 2/5] ext4:Add two functions splitting an extent.
>>>>>> [PATCH RFC v1 3/5] ext4:Reimplement convert and split_unwritten.
>>>>>> [PATCH RFC v1 4/5] ext4: Add a function ext4_ext_zeroout_mem().
>>>>>> [PATCH RFC v1 5/5] ext4: optimize ext4_ext_convert_to_initialized().
>>>>>> --
>>>>>> To unsubscribe from this list: send the line "unsubscribe
>>>>>> linux-ext4" in
>>>>>> the body of a message to majordomo@vger.kernel.org
>>>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>>>
>>>>> Hi there,
>>>>>
>>>>> Just an update on your patch set. Im am working on getting the punch
>>>>> hole
>>>>> patch to work with this new set, but I'm am having trouble getting it
>>>>> through the stress test. It gets up to around 48265 file
>>>>> operations, and
>>>>> then hangs. So I am currently trying to narrow down the problem. It
>>>>> looks
>>>>> like it does it with or with out the extra punch hole patches, but you
>>>>> may
>>>>> need to enable fallocate in the fsx Makefile to recreate the
>>>>> problem. I
>>>>> will keep you posted if I find any more clues.
>>>>
>>>> Hi,
>>>>
>>>> Could you tell me how to get fsx? I can not find that.
>>>
>>> Hi there,
>>>
>>> I believe you can find it in both xfstests and ltp. The one I am using I
>>> got from xfstests here:
>>>
>>> http://xfs.org/index.php/Getting_the_latest_source_code
>>>
>>> Once you have it configured and built, there is a sub folder called ltp.
>>> Execute this command from that folder:
>>>
>>> ./fsx -d -b 1 -N 100000 -S 1 /mnt/ext4MntPt/holePunch/testFile
>>>
>>> Where "/mnt/ext4MntPt/holePunch/testFile" is a file on an ext4 file
>>> system.
>>> It should then try to run through 100000 random file operations, but get
>>> stuck on number 48256.
>>>
>>> If you do not see any fallocate operations running, you may have to go
>>> enable it in the ltp/Makefile. I had to change "ifeq ($(HAVE_FALLOCATE),
>>> true)" to "ifeq ($(HAVE_FALLOCATE), yes)" to allow the extra
>>> fallocate code
>>> to compile in. Let me know if you have any trouble recreating the bug.
>>>
>>>>
>>>> Thank you,
>>>> Yongqiang.
>>>>>
>>>>> Allison Henderson
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html


  reply	other threads:[~2011-04-29 19:17 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-23  8:44 [PATCH RFC v1 0/5]Factor common code from convert and split unwritten Yongqiang Yang
2011-04-23  8:44 ` [PATCH RFC v1 1/5] ext4:Add a function merging extent right and left Yongqiang Yang
2011-04-23  8:44 ` [PATCH RFC v1 2/5] ext4:Add two functions splitting an extent Yongqiang Yang
2011-04-23  8:44 ` [PATCH RFC v1 3/5] ext4:Reimplement convert and split_unwritten Yongqiang Yang
2011-04-23  8:44 ` [PATCH RFC v1 4/5] ext4: Add a function ext4_ext_zeroout_mem() Yongqiang Yang
2011-04-23  8:44 ` [PATCH RFC v1 5/5] ext4: optimize ext4_ext_convert_to_initialized() Yongqiang Yang
2011-04-26 19:08 ` [PATCH RFC v1 0/5]Factor common code from convert and split unwritten Allison Henderson
2011-04-27  1:14   ` Yongqiang Yang
2011-04-27  4:48   ` Yongqiang Yang
2011-04-27  6:34     ` Allison Henderson
2011-04-27  7:19       ` Yongqiang Yang
2011-04-28  6:05       ` Yongqiang Yang
2011-04-28 19:51         ` Allison Henderson
2011-04-29 19:16           ` Allison Henderson [this message]
2011-04-29 19:42             ` Yongqiang Yang

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=4DBB0EAB.1090800@linux.vnet.ibm.com \
    --to=achender@linux.vnet.ibm.com \
    --cc=cmm@us.ibm.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=xiaoqiangnk@gmail.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;
as well as URLs for NNTP newsgroup(s).