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