Messages in this thread | | | Date | Fri, 3 Feb 2006 20:46:13 +0300 | From | Alexey Dobriyan <> | Subject | Re: Re [2]: [PATCH] Mark CONFIG_UFS_FS_WRITE as BROKEN |
| |
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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |