linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Amiga partition reading patch
@ 2004-08-24 11:37 jdow
  2004-08-24 12:18 ` Thomas Richter
  2004-08-24 16:41 ` Geert Uytterhoeven
  0 siblings, 2 replies; 5+ messages in thread
From: jdow @ 2004-08-24 11:37 UTC (permalink / raw)
  To: linux-kernel

This is a patch known good against Mandrake 2.6.3-7mdk. I suspect it will
apply to later versions equally well since the file affected appears to
be unchanged as late as 2.6.9-rc1.

I have a large archive of files stored on Amiga volumes. Many of these
volumes are on Fujitsu magneto-optical disks with 2k sector size. The
existing partitioning code cannot properly read them since it appears
the OS automatically deblocks the large sectors into logical 512 byte
sectors, something AmigaDOS never did. I arranged the partitioning code
to handle this situation.

Second I have some rather strange test case disks, including my largest
storage partition, that have somewhat unusual partition values. As such
I needed additional information in addition to the first and last block
number information. AmigaDOS reserves N blocks, with N greater than or
equal to 1 and less than the size of the partition, for some boot time
information and signatures. I have some partitions that use other than
the usual value of 2.

There is one more "fix" that could be put in if someone needs it. Another
value in the "Rigid Disk Blocks" description of a partition is a "PreAlloc"
value. It defines a number of blocks at the end of the disk that are not
considered to be a real part of the partition. This was "important" in
the days of 20 meg and 40 meg hard disks. It is hardly important and not
used on modern drives without special user intervention.

This partitioning information is known correct. I wrote the low level
portion of the hard disk partitioning code for AmigaDOS 3.5 and 3.9. I
am also responsible for one of the more frequently used partitioning
tools, RDPrepX, before that.

Please consider adding this to the build tree as a completeness item.

Thank you.
{^_^}   Joanne Dow, jdow@earthlink.net
        (I tried submitting this to Roland a couple times now and
        nothing happened so I am submitting it to the list.)


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Amiga partition reading patch
  2004-08-24 11:37 Amiga partition reading patch jdow
@ 2004-08-24 12:18 ` Thomas Richter
  2004-08-24 13:50   ` Gene Heskett
  2004-08-24 20:58   ` jdow
  2004-08-24 16:41 ` Geert Uytterhoeven
  1 sibling, 2 replies; 5+ messages in thread
From: Thomas Richter @ 2004-08-24 12:18 UTC (permalink / raw)
  To: jdow; +Cc: linux-kernel


Hi Joanne,

> This is a patch known good against Mandrake 2.6.3-7mdk. I suspect it will
> apply to later versions equally well since the file affected appears to
> be unchanged as late as 2.6.9-rc1.

Sorry, I don't have a patch attached here. Forgot to include?

> This partitioning information is known correct. I wrote the low level
> portion of the hard disk partitioning code for AmigaDOS 3.5 and 3.9. I
> am also responsible for one of the more frequently used partitioning
> tools, RDPrepX, before that.

I can confirm this (as "just another guy" who wrote on AmigaOs 3.9).

So long,
	Thomas


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Amiga partition reading patch
  2004-08-24 12:18 ` Thomas Richter
@ 2004-08-24 13:50   ` Gene Heskett
  2004-08-24 20:58   ` jdow
  1 sibling, 0 replies; 5+ messages in thread
From: Gene Heskett @ 2004-08-24 13:50 UTC (permalink / raw)
  To: linux-kernel; +Cc: Thomas Richter, jdow

On Tuesday 24 August 2004 08:18, Thomas Richter wrote:
>Hi Joanne,

Hi Joanne, Thomas.  Good to hear from you both.

>> This is a patch known good against Mandrake 2.6.3-7mdk. I suspect
>> it will apply to later versions equally well since the file
>> affected appears to be unchanged as late as 2.6.9-rc1.
>
>Sorry, I don't have a patch attached here. Forgot to include?

Apparently, it wasn't attached here either.

>> This partitioning information is known correct. I wrote the low
>> level portion of the hard disk partitioning code for AmigaDOS 3.5
>> and 3.9. I am also responsible for one of the more frequently used
>> partitioning tools, RDPrepX, before that.
>
>I can confirm this (as "just another guy" who wrote on AmigaOs 3.9).

And an extremely talented "just another guy",  thanks again for all 
you did for amigaos back then Thomas.

>So long,
>	Thomas

-- 
Cheers, Gene
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
99.24% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attorneys please note, additions to this message
by Gene Heskett are:
Copyright 2004 by Maurice Eugene Heskett, all rights reserved.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Amiga partition reading patch
  2004-08-24 11:37 Amiga partition reading patch jdow
  2004-08-24 12:18 ` Thomas Richter
@ 2004-08-24 16:41 ` Geert Uytterhoeven
  1 sibling, 0 replies; 5+ messages in thread
From: Geert Uytterhoeven @ 2004-08-24 16:41 UTC (permalink / raw)
  To: jdow; +Cc: Linux Kernel Development, Linux/m68k

On Tue, 24 Aug 2004, jdow wrote:
> This is a patch known good against Mandrake 2.6.3-7mdk. I suspect it will
> apply to later versions equally well since the file affected appears to
> be unchanged as late as 2.6.9-rc1.

When you will send the forgotten patch, can you please CC
linux-m68k@lists.linux-m68k.org? Thx!

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Amiga partition reading patch
  2004-08-24 12:18 ` Thomas Richter
  2004-08-24 13:50   ` Gene Heskett
@ 2004-08-24 20:58   ` jdow
  1 sibling, 0 replies; 5+ messages in thread
From: jdow @ 2004-08-24 20:58 UTC (permalink / raw)
  To: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1272 bytes --]

Something stripped it off. I had it called "amiga_partition_patch.dat".
That seems to be a magic suffix for too many things these days. Here it
is again.
{^_^}

----- Original Message ----- 
From: "Thomas Richter" <thor@math.TU-Berlin.DE>
To: "jdow" <jdow@earthlink.net>
Cc: <linux-kernel@vger.kernel.org>
Sent: Tuesday, 2004 August, 24 05:18
Subject: Re: Amiga partition reading patch


>
> Hi Joanne,
>
> > This is a patch known good against Mandrake 2.6.3-7mdk. I suspect it
will
> > apply to later versions equally well since the file affected appears to
> > be unchanged as late as 2.6.9-rc1.
>
> Sorry, I don't have a patch attached here. Forgot to include?
>
> > This partitioning information is known correct. I wrote the low level
> > portion of the hard disk partitioning code for AmigaDOS 3.5 and 3.9. I
> > am also responsible for one of the more frequently used partitioning
> > tools, RDPrepX, before that.
>
> I can confirm this (as "just another guy" who wrote on AmigaOs 3.9).
>
> So long,
> Thomas
>
> -
> 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/

[-- Attachment #2: amiga_partition_patch --]
[-- Type: application/octet-stream, Size: 2170 bytes --]

--- amiga.c	2004-08-09 08:52:07.268123677 -0700
+++ amiga.c.orig	2004-08-09 08:51:31.527104456 -0700
@@ -31,7 +31,6 @@ amiga_partition(struct parsed_partitions
 	struct RigidDiskBlock *rdb;
 	struct PartitionBlock *pb;
 	int start_sect, nr_sects, blk, part, res = 0;
-	int blksize = 1;	/* Multiplier for disk block size */
 	int slot = 1;
 	char b[BDEVNAME_SIZE];
 
@@ -66,14 +65,10 @@ amiga_partition(struct parsed_partitions
 			       bdevname(bdev, b), blk);
 	}
 
-        /* blksize is blocks per 512 byte standard block */
-        blksize = be32_to_cpu( rdb->rdb_BlockBytes ) / 512;
-
-	printk(" RDSK (%d)", blksize * 512);	/* Be more informative */
+	printk(" RDSK");
 	blk = be32_to_cpu(rdb->rdb_PartitionList);
 	put_dev_sector(sect);
 	for (part = 1; blk>0 && part<=16; part++, put_dev_sector(sect)) {
-		blk *= blksize;	/* Read in terms partition table understands */
 		data = read_dev_sector(bdev, blk, &sect);
 		if (!data) {
 			if (warn_no_part)
@@ -93,32 +88,13 @@ amiga_partition(struct parsed_partitions
 		nr_sects = (be32_to_cpu(pb->pb_Environment[10]) + 1 -
 			    be32_to_cpu(pb->pb_Environment[9])) *
 			   be32_to_cpu(pb->pb_Environment[3]) *
-			   be32_to_cpu(pb->pb_Environment[5]) *
-			   blksize;
+			   be32_to_cpu(pb->pb_Environment[5]);
 		if (!nr_sects)
 			continue;
 		start_sect = be32_to_cpu(pb->pb_Environment[9]) *
 			     be32_to_cpu(pb->pb_Environment[3]) *
-			     be32_to_cpu(pb->pb_Environment[5]) *
-			     blksize;
+			     be32_to_cpu(pb->pb_Environment[5]);
 		put_partition(state,slot++,start_sect,nr_sects);
-		{
-			/* Be even more informative to aid mounting */
-			char dostype[ 4 ];
-			u32 *dt = (u32*) dostype;
-			*dt = pb->pb_Environment[ 16 ];
-			if ( dostype[ 3 ] < ' ')
-				printk( " (%c%c%c^%c)",
-					dostype[ 0 ], dostype[ 1 ],
-					dostype[ 2 ], dostype[ 3 ] + '@' );
-			else
-				printk( " (%c%c%c%c)",
-					dostype[ 0 ], dostype[ 1 ],
-					dostype[ 2 ], dostype[ 3 ]);
-			printk( "(res %d spb %d)",
-				be32_to_cpu( pb->pb_Environment[ 6 ]),
-				be32_to_cpu( pb->pb_Environment[ 4 ]));
-		}
 		res = 1;
 	}
 	printk("\n");

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2004-08-24 21:00 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-24 11:37 Amiga partition reading patch jdow
2004-08-24 12:18 ` Thomas Richter
2004-08-24 13:50   ` Gene Heskett
2004-08-24 20:58   ` jdow
2004-08-24 16:41 ` Geert Uytterhoeven

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).