[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#12656: cp since 8.11 corrupts files
From: |
Mike Gerth |
Subject: |
bug#12656: cp since 8.11 corrupts files |
Date: |
Mon, 15 Oct 2012 17:05:56 +0200 |
Hello,
I noticed an error in cp (8.11 upwards till 8.19) when copying many files
from an fragmented ext3fs (to an empty partition).
ERROR:
The copied file has exact length.
The SourceFile has in the middle a 4K-block filled with ZERO, the
DestFile this 4k-block and the previous 4k-block also filled with ZERO.
I can reproduce this:
Conditions:
*I have a strong fragmented 110GB ext3-partition with >300
Files
*I have to copy about 100 files (ca. 15GB) to another
HDD-Partition or ramdisk
*cp must be 8.11 or higher (compiled under SLES11SP2
kernel 3.0) (everything is ok with 6.11. 8.05..8.10)
*Command:
cp819 $FILES $DEST #here the corruption comes
*$FILES is a list of about 100 DatabaseFiles. The
last one is the file that becomes corrupted
I can _NOT_ reproduce this:
*with cp <8.11
*Command:
for F in $FILES; do cp -dp $SRC$F $DEST$F ;done
#no corruption
Reproduce:
*tested with SLES11SP1, SLES11SP2, Ubuntu 12.04
(cp less 8.11 is good, cp 8.11 upwards corrupts the file)
*when I bulk copy the about 100 files, the corruption always
happen with the same file and same position
*if I copy less files or the single file there is no corruption
*if I copy all files there are more corruptions
Additional info:
# ./fragments /mnt/Source/
Summary statistics for /mnt/Source/ including subdirectories:
blocks files fragmented percent fragm./file
---------------------------------------------------
1 1 0 0.00 1.00
<= 12 0 0 0.00 0.00
<= 524 0 0 0.00 0.00
<= 1036 0 0 0.00 0.00
<= 4108 11 11 100.00 54.00
> 4108 307 307 100.00 159.71
---------------------------------------------------
all 319 318 99.69 155.57
> 1 318 318 100.00 156.05
Fragmentation index: 0.428 percent.
frag: 49625 n: 318 n_blocks: 11513587 (n_frag: 318)
#cmp Julius.nsf /mnt/ramdisk/Julius.nsf
Julius.nsf /mnt/ramdisk/Julius.nsf differ: char 18395137, line 345000
18395137=4491*4K + 1
=======================================================================================
#dd if=JuliusGOOD.nsf bs=4096 skip=4491 |hexdump -C |more
00000000 16 00 00 ff 00 10 00 00 00 00 00 00 00 00 02 00
|................|
00000010 00 00 00 00 00 00 00 00 10 0f 00 00 00 00 00 00
|................|
00000020 af 2f 06 00 1d 00 16 0a 00 00 00 00 40 09 88 00
|./address@hidden|
....
00000a30 00 00 00 6e 64 65 00 00 00 00 00 00 00 00 00 00
|...nde..........|
00000a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|................|
*
00000c00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|................|
00000c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|................|
*
00000e00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|................|
00000e10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|................|
*
00002000 18 00 00 ff 00 10 00 00 00 00 00 00 00 00 02 00
|................|
---------------
#dd if=/mnt/ramdisk/JuliusBAD.nsf bs=4096 skip=4491 |hexdump -C |more
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|................|
*
00002000 18 00 00 ff 00 10 00 00 00 00 00 00 00 00 02 00
|................|
=======================================================================================
# filefrag JuliusGood.nsf -v
Filesystem type is: ef53
Filesystem cylinder groups is approximately 881
File size of JuliusGood.nsf is 175935488 (42953 blocks, blocksize 4096)
ext logical physical expected length flags
0 0 2008262 2 merged
1 2 2008281 2008263 7 merged
2 9 2008303 2008287 1 merged
3 10 2008307 2008303 2 merged
4 12 2008310 2008308 2 merged
5 14 2008319 2008311 1 merged
6 15 2008321 2008319 4 merged
7 19 2031582 2008324 2 merged
8 21 2033663 2031583 41 merged
9 62 2033706 2033703 1 merged
10 63 2033704 2033706 2 merged
11 65 2033707 2033705 22 merged
12 87 2033736 2033728 23 merged
13 110 7961027 2033758 1 merged
14 111 7961587 7961027 1 merged
15 112 7943051 7961587 2 merged
16 114 7932925 7943052 1 merged
17 115 7939414 7932925 1 merged
18 116 2053842 7939414 2 merged
19 119 7961063 2053843 1 merged
20 120 7961059 7961063 2 merged
21 122 2033759 7961060 160 merged
22 282 7943053 2033918 1 merged
23 283 7961035 7943053 1 merged
24 284 7961030 7961035 1 merged
25 285 2033919 7961030 108 merged
26 393 7961054 2034026 1 merged
27 394 7961039 7961054 1 merged
28 395 2034027 7961039 104 merged
29 499 2034143 2034130 3 merged
30 502 2034159 2034145 8 merged
31 510 7961047 2034166 1 merged
32 511 7961033 7961047 1 merged
33 512 2034167 7961033 494 merged
34 1006 2034666 2034660 1 merged
35 1007 2034670 2034666 29 merged
36 1036 2034701 2034698 478 merged
37 1514 2035182 2035178 510 merged
38 2024 2035697 2035691 24 merged
39 2048 2038674 2035720 1 merged
40 2049 2035721 2038674 11 merged
41 2060 2035733 2035731 385 merged
42 2445 2036120 2036117 2 merged
43 2447 2036128 2036121 1 merged
44 2448 2036136 2036128 1 merged
45 2449 2036518 2036136 1 merged
46 2450 2037030 2036518 634 merged
47 3084 2037665 2037663 117 merged
48 3201 2037784 2037781 886 merged
49 4087 7961058 2038669 1 merged
50 4088 7961049 7961058 1 merged
51 4089 2038670 7961049 4 merged
52 4093 2040616 2038673 1 merged
53 4094 2038675 2040616 14 merged
54 4108 2038690 2038688 291 merged
55 4399 7961036 2038980 1 merged
56 4400 7961050 7961036 1 merged
57 4401 2038981 7961050 10 merged
58 4411 2038993 2038990 9 merged
59 4431 2038991 2039001 2 merged
60 4433 7961064 2038992 9 merged
61 4453 2039002 7961072 10 merged
62 4463 2053899 2039011 1 merged
63 4464 7932921 2053899 1 merged
64 4465 7936120 7932921 1 merged
65 4466 2039012 7936120 18 merged
66 4484 7943055 2039029 1 merged
67 4485 7961056 7943055 1 merged
68 4486 7961041 7961056 1 merged
69 4487 7961045 7961041 2 merged
70 4489 7961053 7961046 1 merged
71 4490 7961031 7961053 1 merged
72 4491 7961034 7961031 1 merged
73 4493 7961044 7961034 1 merged
74 4494 2039030 7961044 285 merged
75 4779 2054871 2039314 1 merged
76 4780 2053844 2054871 1 merged
....
Copied corrupted File:
# filefrag /mnt/DEST/JuliusBad.nsf -v
Filesystem type is: ef53
Filesystem cylinder groups is approximately 881
File size of /mnt/DEST/gschouten.nsf is 175935488 (42953 blocks, blocksize
4096)
ext logical physical expected length flags
0 0 3146242 6 merged
1 6 3155036 3146247 6 merged
2 12 3155043 3155041 106 merged
3 119 3155149 917 merged
4 1036 3156068 3156065 1024 merged
5 2060 3157093 3157091 1024 merged
6 3084 3158118 3158116 1024 merged
7 4108 3159143 3159141 312 merged
8 4431 3159455 11 merged
9 4453 3159466 38 merged
10 4493 3159504 639 merged
11 5132 3160144 3160142 417 merged
12 5550 3160561 441 merged
......
###This is the fragmented,good SourceFile:
debugfs 1.41.9 (22-Aug-2009)
debugfs: stat JuliusGood.nsf
Inode: 102 Type: regular Mode: 0644 Flags: 0x0
Generation: 1499014015 Version: 0x00000000
User: 1001 Group: 1001 Size: 175935488
File ACL: 0 Directory ACL: 0
Links: 1 Blockcount: 343576
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x505e346a -- Sat Sep 22 23:58:02 2012
atime: 0x506041bf -- Mon Sep 24 13:19:27 2012
mtime: 0x505e346a -- Sat Sep 22 23:58:02 2012
Size of extra inode fields: 4
BLOCKS:
(0-1):2008262-2008263, (2-8):2008281-2008287, (9):2008303,
(10-11):2008307-2008308, (IND):2008309, (12-13):2008310-2008311,
(14):2008319, (15-18):2008321-2008324, (19-20):2031582
-2031583, (21-61):2033663-2033703, (62):2033706, (63-64):2033704-2033705,
(65-86):2033707-2033728, (87-109):2033736-2033758, (110):7961027,
(111):7961587, (112-113):7943051-79430
52, (114):7932925, (115):7939414, (116-117):2053842-2053843,
(119):7961063, (120-121):7961059-7961060, (122-281):2033759-2033918,
(282):7943053, (283):7961035, (284):7961030, (28
5-392):2033919-2034026, (393):7961054, (394):7961039,
(395-498):2034027-2034130, (499-501):2034143-2034145,
(502-509):2034159-2034166, (510):7961047, (511):7961033, (512-1005):20
34167-2034660, (1006):2034666, (1007-1035):2034670-2034698,
(DIND):2034699, (IND):2034700, (1036-1513):2034701-2035178,
(1514-2023):2035182-2035691, (2024-2047):2035697-2035720,
(2048):2038674, (2049-2059):2035721-2035731, (IND):2035732,
(2060-2444):2035733-2036117, (2445-2446):2036120-2036121, (2447):2036128,
(2448):2036136, (2449):2036518, (2450-3083):
2037030-2037663, (IND):2037664, (3084-3200):2037665-2037781,
(3201-4086):2037784-2038669, (4087):7961058, (4088):7961049,
(4089-4092):2038670-2038673, (4093):2040616, (4094-4107)
:2038675-2038688, (IND):2038689, (4108-4398):2038690-2038980,
(4399):7961036, (4400):7961050, (4401-4410):2038981-2038990,
(4411-4419):2038993-2039001, (4431-4432):2038991-203899
2, (4433-4441):7961064-7961072, (4453-4462):2039002-2039011,
(4463):2053899, (4464):7932921, (4465):7936120,
(4466-4483):2039012-2039029, (4484):7943055, (4485):7961056, (4486):7
961041, (4487-4488):7961045-7961046, (4489):7961053, (4490):7961031,
(4491):7961034, (4493):7961044, (4494-4778):2039030-2039314,
(4779):2054871, (4780):2053844, (4781-4800):2039
###Here comes the corrupted File:
debugfs 1.41.9 (22-Aug-2009)
debugfs: stat JuliusBad.nsf
Inode: 114 Type: regular Mode: 0644 Flags: 0x0
Generation: 3620008692 Version: 0x00000000
User: 0 Group: 0 Size: 175935488
File ACL: 0 Directory ACL: 0
Links: 1 Blockcount: 343568
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x507831f2 -- Fri Oct 12 17:06:26 2012
atime: 0x507831f0 -- Fri Oct 12 17:06:24 2012
mtime: 0x507831f2 -- Fri Oct 12 17:06:26 2012
Size of extra inode fields: 4
BLOCKS:
(0-5):3146242-3146247, (6-11):3155036-3155041, (IND):3155042,
(12-117):3155043-3155148, (119-1035):3155149-3156065, (DIND):3156066,
(IND):3156067, (1036-2059):3156068-3157091, (IND):315709
2, (2060-3083):3157093-3158116, (IND):3158117,
(3084-4107):3158118-3159141, (IND):3159142, (4108-4419):3159143-3159454,
(4431-4441):3159455-3159465, (4453-4490):3159466-3159503, (4493-5131
):3159504-3160142,
I am 95% sure that in previous Tests if have also seen a corrupted file
with several 100k filled with ZERO.
Surely it would be most simple to reproduce the error if I could provide
the whole partition as is.
But since the Files are Database files I can not provide it. Are there any
tests that I can do?
Best regards and thanks in advance for your help,
Mike
Mit freundlichen Grüßen
Mike Gerth
Dipl. Inf. Mike Gerth
+49 30 399 76 136
IT-Systemadministrator
AVM Audiovisuelles Marketing und Computersysteme GmbH
Alt-Moabit 95, 10559 Berlin
HRB 23075 AG Charlottenburg
Geschäftsführer: Johannes Nill
- bug#12656: cp since 8.11 corrupts files,
Mike Gerth <=
bug#12656: WG: Re[4]: bug#12656: cp since 8.11 corrupts files, m . gerth, 2012/10/16