[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ReiserFS + 2.4.4



Ilya Martynov wrote:
> It is called read-only because user programs that work at level of
> files and directories can't write on mounted filesystem. Tools that
> mount filesystem work on lower level.

I have visited the web page you pointed out the other day; I have no
conclusion (neither did they, and if they didn't, why would I?).

BTW, the following is a must read, I believe. I copied it from
www.reiserfs.com (the URL has changed, I believe). Recently, one of my
systems gets kernel panics much more often than usual. Usually, the
system runs peacefully even after weeks or months (they get rebooted due
to some peripheral), but lately I have to reboot it in about every week.
I don't know yet what the problem is. If I remember correctly, the
problem occurs after I have changed _all_ the filesystems to reiserfs
(well, I did add some other stuff too). I have another system that has
root partition using ext2fs; it runs without problem (well, its load is
a bit lighter, if that helps).

Anyway, the following would be good for preparing reiserfs partitions:
> ReiserFS supports crude form of bad block handling. To use it
>             you should apply one of the following patches corresponding to
>             your kernel version: 
> 
>             linux-2.4.2-badblocks-1.a.diff for 2.4.2 and 2.4.3. 
> 
>             linux-2.4.4-badblocks-1.a.diff for 2.4.4 
> 
>             Above patches provide new ioctl()
>             commands for ResierFS files, that allow to mark given block as
>             used or free in block allocation bitmap without unmounting
>             file-system. 
> 
>             Sad news are that ReiserFS utils currently don't support this
>             style of bad block handling in any way. So typical scenario to
>             create and use ReiserFS file-system on device with bad blocks
>             is as follows: 
> 
>          1.Find list of bad block (by /sbin/badblocks for example). Save it
>             somewhere. 
>          2.Create ReiserFS file-system by /sbin/mkreiserfs 
>          3.Create dummy file on the file-system (to exercise ioctl()
>             on). Let's suppose it's /mnt/reiserfs-mount-point/foo, name is
>             immaterial. 
>          4.Mark each bad block as used through simple utility. For example as
>             follows: 
> 
>             while read
>             do
>                 add-bad-block /mnt/reiserfs-mount-point/foo $REPLY used
>             done < path-to-file-with-list-of-bad-blocks
> 
>          5.Before running /sbin/reiserfsck on this file-system, mark all
>             bad-blocks as free again: 
> 
>             while read
>             do
>                 add-bad-block /mnt/reiserfs-mount-point/foo $REPLY free
>             done < path-to-file-with-list-of-bad-blocks

mkreiserfs runs pretty fast; I didn't know that it doesn't check for bad
blocks, and I thought that on every write, it checks for the bad ones
first. According to the above, unfortunately, it doesn't. 

It's also possible that my system gets kernel panics due to the bad
blocks that showed up long after the filesystem got created. I have to
check it out, though (and for reminding you, the tool is
/sbin/badblocks).

Oki



Reply to: