Re: Partition Check Problem

From: Roman Seidl (roman@pvl.pvl.at)
Date: Thu Apr 20 2000 - 11:57:20 EST


On Thu, 20 Apr 2000, Guest section DW wrote:

> On Thu, Apr 20, 2000 at 05:09:32PM +0200, Roman Seidl wrote:
>
> > I have severe Problems with an IDE Notebook HD. The Partition Table is
> > corrupted (this happened in some combination of Linux and Win2k

> No, I don't know what to do without patching the kernel.
> What kernel do you have?
I tried it with a common 2.2 kernel (redhat 6.1, redhat 6.2, corel
linux, suse 6.2 and Mandrake 7)

> [Long ago there was the possibility that the routine extended_partition()
> would loop on a rotten partition table. But that was fixed by adding a
> loopct check. Now there still is the problem that bread() may try to
> read a block past the end of the disk and hang. Do you get I/O error
> messages, or is this just a silent hang?]
Its a silent hang - if i can access the partition table somehow ill try to
grab it so one can maybe reconstruct what is happening.

> Roughly speaking the chain of calls is (for recent kernels)
> check_partition() <- grok_partitions() <- register_disk() <- ide_geninit()
> and grok_partitions() will not read the partition table when minors
> is set to 1, so if you set minors to 1 in the call to register_disk()
> in ide_geninit() [there is already an #ifdef'd 1] then further partitioning
> is not investigated.
ill have a look at the source.

> Your question means that there should be a boot-time option (and of course
> it is trivial to add).
Id do so if the approach to ignore the partition table is
successfull. WeŽll see.

What happens if the Partition tabel is not checked? Is /dev/hda aceessible
as a normal block device or not?

> More interesting is finding out what went wrong.
> If the rotten partition table just pointed at something past the end of the disk
> then we understand - another trivial patch will avoid this in the future.
> But if somehow some partition code gets confused (and you do not get I/O errors)
> then I would be interested in a copy of your MBR and in the output of
> "sfdisk -uS -x -l /dev/xxx".
IŽll try to make a copy once i can access it.

Thanks a lot for the infos.

BTW: Dos, winnt and win2k crash without any notice when you insert the
disk.

mfg
roman
 

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Apr 23 2000 - 21:00:17 EST