There are two possible reasons you had trouble with mkreiserfs:

* it writes to different blocks on the drive than mke2fs (and presumably hit the
bad blocks you later remapped).

* random chance.

Maybe we should put it on our feature wish list to have mkreiserfs do some light
testing of the device (especially writing and then reading the last block of the
device.  I bet a significant number of user device and device config problems
could be caught by trying to read and write the last block, and printing a nice
error message if that fails).  Vitaly?

Hans


Marcel Kunath wrote:
> 
> Hello,
> 
> the mystery continues. This problem I been "wasting" my time on for a week now
> is quite interesting. Isn't it great how shitty hardware can keep one busy.
> 
> Let me summarize. The PC has a terrible PCCHIPS(?) M598LMR motherboard in it.
> The BIOS is from 1995 and I tried updating it but it won't work. I actually
> have two WDC WD450AA drives. Both were split into partitions with reiser and
> swap space on it. One had SUSE 7.1 (wdc1) and one SuSE 7.2 (wdc2) on it. My
> intention was to wipe both of them clean and use them as pure data drives.
> 
> I also have a 8 gig Seagate drive which gets recognized by the BIOS. I put the
> Seagate on hda, wdc1 on hdb and wdc2 on hdc. I chose in the BIOS hdb and hdc
> to be "User" defined but don't enter CHS since it won't allow for 87233
> Cylinders (BIOS restrictions apply). I boot and the BIOS does recognize all
> three drives. SuSE 7.2 kernel 2.4.7-4GB, reiserfs 3.6.25 boots from the
> Seagate.
> 
> I have a few stalls and hangs on occasion and fail to do
> 
> mkreiserfs /dev/hdb. I still can do:
> 
> mke2fs /dev/hdb.
> 
> I mess with the BIOS and lose access to wdc2 in Linux (on hdc controller). I
> later noticed this was due to the fact that I turned off "User" setting on the
> secondary controller and Linux didn't query that controller unless I told the
> BIOS there was something there. I thought Linux didn't need the BIOS to find
> drives but I guess I was wrong.
> 
> I still had trouble to do:
> 
> mkreiserfs /dev/hdb
> 
> even after:
> 
> dd if=/dev/zero of=/dev/hdb bs=1024 count=1024
> 
> I took out the wdc1 and put it into another machine (where the BIOS has large
> drive recognition) and used WDC's DLGDIAG util to check the drive for errors.
> No errors found. I zeroed it with this utility. I then put wdc1 into the
> machine and connected it to /dev/hdc and NOT like before to /dev/hdb. This was
> crucial as I found out later. I ran:
> 
> mkreiserfs /dev/hdc
> 
> successfully!!!
> 
> At this point I figured I needed DLGDIAG  to clean out the drive to run
> mkreiserfs properly. (But I was wrong. The true 'fix' was running mkreiserfs
> /dev/hdc instead of mkreiserfs /dev/hdb)
> 
> I thought my troubles were over and I put wdc2 under the scrutiny of DLGDIAG
> and had no errors again and zeroed it. I then connected it to /dev/hdb. It was
> on /dev/hdc before. I ran:
> 
> mkreiserfs /dev/hdb
> 
> and again I came upon my old problem. It won't allocate the file system. This
> made me question if DLGDIAG  actually helped at all. I tried out:
> 
> dd if/dev/zero of=/dev/hdb bs=100k
> 
> and it had input/output error. Then I had trouble to get anything going and
> the BIOS struck out and I figured it was heat problem.
> 
> I removed wdc2 from /dev/hdb and the machine booted fine again.
> 
> Now I had the thought that the problem may lie in putting the seagate and
> another wdc drive on the same controller. I put wdc2 on /dev/hdd and booted
> and it went smoothly into Linux. I ran:
> 
> mkreiserfs /dev/hdd
> 
> and it wrote the filesystem cleanly.
> 
> My final setup is:
> 
> /dev/hda1   /   reiserfs    segate 8 gig
> /dev/hda2       swap
> /dev/hda3       swap
> /dev/hdc    /drive2 reiserfs    wdc1 45 gig
> /dev/hdd    /drive3 reiserfs    wdc2 45 gig
> 
> Having run DLGDIAG program a few times I suspect none of the wdc drives are
> actually damaged. I had them stacked quite close together (very small case) so
> I do wonder if heat is a problem. I also know that they say you need to reboot
> in between changes to the partition tables to have reiser recognize the new
> layout. I tried that but I didn't find is essential.
> 
> I also figure there is no real problem with the kernel or reiser version I am
> running or had previously used to split up the drives.
> 
> I do though figure there is a problem in regards to having a recognized 8 gig
> seagate on pri master and a 45 gig wdc on pri slave and trying to:
> 
> mkreiserfs /dev/hdb
> 
> I think I have centered this problem to this effect and somebody with more
> brains might want to look into this:
> 
> M598LMR motherboard
>   (suspected!!! manufacturer pcchips,
>   BIOS ID: 52-0707-001437-00101111-071595-000000-001_01_M598LMR-H)
> 
> BIOS Settings:
> 
> Seagate ST38410A -
>    Primary Master
>    CHS (16383 16 63)
>    Mode 4
>    LBA On
> WDC WD450AA -
>    Secondary Master
>    CHS (0 0 0)
>    Mode Auto
>    LBA On
>       (True CHS: 87233 16 63)
> 
> As mentioned above I had an error pop up when running:
> 
> dd if=/dev/zero of=/dev/hdb bs=100k
> 
> I reran this when I put the wdc2 onto hdd:
> 
> dd if=/dev/zero of=/dev/hdd bs=100k
> 
> and the input/output error still occurred after the same amounts of records
> written.
> 
> I am not sure if it is a motherboard issue or an issue with reiser/kernel that:
> 
> 1. You cannot put a 8 gig seagate on hda and 45 gig wdc on hdb and run
> mkreiserfs /dev/hdb but you can run mke2fs /dev/hdb.
> 
> 2. You can put a 8 gig seagate on hda and 45 gig wdc's on hdc and hdd and
> successfully run mkreiserfs /dev/hdc and mkreiserfs /dev/hdd.
> 
> I also never tried changing the ide cable on controller 1 which might be
> defect at the slave position?!?
> 
> This is how far my small mind can track this problem. Further comments
> appreciated.
> 
> mk
> 
> > > > Hello, > > > > I have come upon something confusing to me. > >
> > > I own a new 17 gig Seagate drive and put it into a Linux box. I went ahead a
> nd
> > > did:
> > >
> > > mkreiserfs /dev/hdb
> > > mount -t reiserfs /dev/hdb /drive2
> > >
> > > No problems.
> >
> > Since it had no partitions when you booted linux, linux had no problem
> > with this.
> >
> > > I as well own a WDC 450AA drive which is not new but contains a few partitio
> ns.
> > > I tried to do the same thing to it. I noticed fdisk doesn't allow you to wri
> te
> > > a empty partition table to a drive.
> > >
> > > I learned you can set your drive back to manufacturer status by writing zero
> s:
> > >
> > > dd if=/dev/zero of=/dev/hdb bs=1024 count=1024
> > >
> > > I did this. Then I did:
> > >
> > > mke2fs /dev/hdb
> > > mount -t ext2 /dev/hdb /drive2
> > >
> > > No problems.
> >
> > Did the drive have partitions before?  Did you reboot in between?
> >
> > > I repeated this for reiserfs (3.x.0j and suse 7.2 kernel 2.4.7-4GB):
> > >
> > > dd if=/dev/zero of=/dev/hdb bs=1024 count=1024
> > > mkreiserfs /dev/hdb
> > > (Warning: this is the whole device!) I still went ahead with "Y".
> > >
> > > mount -t reiserfs /dev/hdb /drive2
> > > -> Error on mount!
> >
> > I suspect the difference is that you did not reboot after wiping the old
> > partition table.  Linux gets very annoyed if you change it's partitions
> > and then don't make it reread the partition table (in this case to
> > discover there is none anymore).
> >
> > > Now how is it possible to do mkreiserfs /dev/hdb on a new drive but not on o
> ne
> > > which has already been used with partitions? I am real curious. Is this a bu
> g
> > > or feature?
> >
> > linux caches partition tables in the kernel to keep track of what
> > partitions are available on a disk, and requires a reread of the partition
> > table when it is changed (only possible if the drive is not in use,
> > ie no partitions are mounted), or a reboot (if any partitions are in use).
> >
> > > I tried downloading dlgdiag which is WDC's hard drive utility but it or any
> > > machine's BIOS in my household won't recognize the 45 gig drive outright and
> 
> > > therefore I can't write zeros to the drive via BIOS functions or WDC utiliti
> es.
> >
> > Try writing zeros with dd to the entire disk with dd if=/dev/zero
> > of=/dev/hdb bs=100k
> >
> > Then reboot, then mkreiserfs and mount.
> >
> > If that doesn't work, something is wrong either in the hardware or
> > the kernel.
> >
> > > I been sitting on this for a few days now and I'd love to here any comments.
> 
> >
> > Hopefully my ideas above are correct.
> >
> > Len Sorensen
> >
> 
> --
> Marcel Kunath
> 
> *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
> 
>  Montie House Network            Greater Lansing Linux Users Group
>   http://www.montiehouse.com      http://www.gllug.org
> 
> *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Reply via email to