Thanks, these two patches makes things better but not much better.
1.
inode->i_blocks = sb->s_blocksize / UFS_SECTOR_SIZE;
+ inode->i_size = sb->s_blocksize;
de = (struct ufs_dir_entry *) dir_block->b_data;
This creates directories which are 2048 bytes in size. Native ones are
512 bytes.
inode->i_size = 512;
makes mkdir and rm reliable for me both on linux and OpenBSD.
2. Second patch indeed makes hangs disaapear. However, data corruption
is still in place:
Try
for i in $(seq 1 10000); do echo $i; done >10000-linux.txt
cp 10000-linux.txt >/mnt/openbsd/10000-openbsd.txt
Now corruption structure is following:
00000000 39 0a 33 30 39 30 0a 33 30 39 31 0a 33 30 39 32 |9.3090.3091.3092|
[snip]
000007f0 33 34 39 36 0a 33 34 39 37 0a 33 34 39 38 0a 33 |3496.3497.3498.3|
00000800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00004000 36 36 0a 36 33 36 37 0a 36 33 36 38 0a 36 33 36 |66.6367.6368.636|
[snip]
000047f0 0a 36 37 37 33 0a 36 37 37 34 0a 36 37 37 35 0a |.6773.6774.6775.|
00004800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00008000 36 34 33 0a 39 36 34 34 0a 39 36 34 35 0a 39 36 |643.9644.9645.96|
[snip]
000086f0 39 38 0a 39 39 39 39 0a 31 30 30 30 30 0a 00 00 |98.9999.10000...|
00008700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
0000bef0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |..............|
0000befe
There are all zeros in 0800-4000 and 4800-8000 range. 0000-3800 from
original file is dropped (that 9 it's from 3089).
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]