Re: [BUG] copy file result with zero

From: Dave Young
Date: Sat Oct 01 2011 - 19:37:49 EST


On Sat, Oct 1, 2011 at 10:39 PM, Ted Ts'o <tytso@xxxxxxx> 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.

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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/