[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <A2FF8835-2386-47F9-AFF8-4E09BEC4F80E@oracle.com>
Date: Sun, 2 Oct 2011 14:41:07 +0800
From: Jeff liu <jeff.liu@...cle.com>
To: Dave Young <hidave.darkstar@...il.com>
Cc: "Ted Ts'o" <tytso@....edu>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-ext4@...r.kernel.org
Subject: Re: [BUG] copy file result with zero
> On Sat, Oct 1, 2011 at 10:39 PM, Ted Ts'o <tytso@....edu> wrote:
>> On Sat, Oct 01, 2011 at 10:01:35PM +0800, Dave Young wrote:
>>> Hi,
>>>
>>> Weird problem, when I build app from source,
>>> make; make install
>>> run the command, but got "cannot execute binary file"
>>>
>>> hexdump shows the installed binary is full of zero
>>>
>>> Is it related to ext4 fiemap problem described below?
>>> http://lwn.net/Articles/429349/
>>
>> There is general agreement that /bin/cp should not have been relying
>> on FIEMAP, and I believe the more recent versions of /bin/cp have
>> removed that code by default pending implementation of
>> SEEK_HOLE/SEEK_DATA. That being said, ext4 had a workaround to its
>> FIEMAP implementation that landed in 2.6.39, and you're using
>> 3.1.0-rc6.
Actually, upstream cp(1) using FIEMAP only if the source file is sparse, or else, it will do normal copy, i.e, block based.
Thanks,
-Jeff
>
> Do you means It should work in 3.1.0-rc6 even with cp which depends fiemap?
>
>>
>>> I finally managed to find the way to reproduce this:
>>> just cp a elf binary A to file B, then cp B to file C, then you will get:
>>> A == B != C
>>>
>>> ie.
>>> cp /bin/ls ls1
>>> cp ls1 ls2
>>>
>>> ls2 will be filled with zero
>>
>> If you add a "sync" between the two copies, does that work around the
>> problem? I bet it will...
>
> Yes, it works
>
>>
>> My suggestion is to upgrade to a newer version of coreutils that
>> doesn't try to use FIEMAP.
>
> Thanks, will try
>
>>
>> - Ted
>>
>
>
>
> --
> Regards
> Dave
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists