Re: retry [PATCH] partition : add support for sysv68 partitions

2007-05-09 Thread Michael Schmitz
> > >   `default y if M68K && SYSV_FS'
> >
> > I prefer `default y if VME'.
> >
>
> Incidentally, what is the problem you have with SYSV68_PARTITION ?
> On my i586 machine, code size is 434 bytes for sysv68.o + 4 bytes more in
> check.c

Traditionally, we have always been very conservative about enabling more
than the absolute minimum in partition format support. Some formats can be
erroneously identified by the check code if you don't get the ordering
right (the case I know about, MSDOS partitions vs. Atari TOS/GEM
partitions, hinges on a particular checksum being calculated in the atari
code). I've moved the msdos checker to the bottom of the list more often
than I can keep track of...

If sysv68 cannot be confused with any other format, no harm done by
enabling it by default. Otherwise, things may get interesting.

Michael
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: retry [PATCH] partition : add support for sysv68 partitions

2007-05-09 Thread Wouter Verhelst
On Tue, May 08, 2007 at 10:21:12PM +0200, Geert Uytterhoeven wrote:
>   Hi Philippe,
> On Fri, 13 Apr 2007, Philippe De Muyter wrote:
> > Add support for the Motorola sysv68 disk partition table (slices in motorola
> > doc).
> > 
> > Signed-off-by: Philippe De Muyter <[EMAIL PROTECTED]>
> > 
> > diff -r 1b54f1d81bc5 fs/partitions/Kconfig
> > --- a/fs/partitions/Kconfig Thu Apr 12 15:44:52 2007 -0700
> > +++ b/fs/partitions/Kconfig Fri Apr 13 15:51:58 2007 +0200
> > @@ -236,3 +236,12 @@ config EFI_PARTITION
> > help
> >   Say Y here if you would like to use hard disks under Linux which
> >   were partitioned using EFI GPT.
> > +
> > +config SYSV68_PARTITION
> > +   bool "SYSV68 partition table support" if PARTITION_ADVANCED
> > +   default y if M68K
> ^
> > +   help
> > + Say Y here if you would like to be able to read the hard disk
> > + partition table format used by Motorola Delta machines (using
> > + sysv68).
> > + Otherwise, say N.
> 
> Bummer, I saw your patch before, but I never noticed the `default y if M68K'.
> 
> Can you please tell me on which platforms SYSV68 partition tables are commonly
> used (I guess the Motorola MVME boards?), 

I guess so. I have a disk for my MVME167 lying around here somewhere
with SYSV/68 on it. If you want, I can verify what exact machines it
runs on, but I guess "every 68k MVME" is a safe enough bet.

-- 
Shaw's Principle:
Build a system that even a fool can use, and only a fool will
want to use it.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: retry [PATCH] partition : add support for sysv68 partitions

2007-05-09 Thread Philippe De Muyter
Hi Geert,

> > What do you think of
> > `default y if VME'
> > or
> > `default y if M68K && SYSV_FS'
> 
> I prefer `default y if VME'.
> 
> BTW, perhaps PPC based Motorola MVME boards use SYSV68 partition tables,
> too?

No, the PPC based Motorola MVME boards use the (currently not supported by
linux) AIX partition tables, as do also the motorola powerstack machines.

The m88k based Motorola MVME boards use the sysV68 partition tables, but
m88k is not yet supported by linux.

Incidentally, what is the problem you have with SYSV68_PARTITION ?
On my i586 machine, code size is 434 bytes for sysv68.o + 4 bytes more in
check.c

Philippe
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: retry [PATCH] partition : add support for sysv68 partitions

2007-05-09 Thread Geert Uytterhoeven
On Wed, 9 May 2007, Philippe De Muyter wrote:
> On Tue, May 08, 2007 at 10:21:12PM +0200, Geert Uytterhoeven wrote:
> > On Fri, 13 Apr 2007, Philippe De Muyter wrote:
> > > Add support for the Motorola sysv68 disk partition table (slices in 
> > > motorola
> > > doc).
> > > 
> > > Signed-off-by: Philippe De Muyter <[EMAIL PROTECTED]>
> > > 
> > > diff -r 1b54f1d81bc5 fs/partitions/Kconfig
> > > --- a/fs/partitions/Kconfig   Thu Apr 12 15:44:52 2007 -0700
> > > +++ b/fs/partitions/Kconfig   Fri Apr 13 15:51:58 2007 +0200
> > > @@ -236,3 +236,12 @@ config EFI_PARTITION
> > >   help
> > > Say Y here if you would like to use hard disks under Linux which
> > > were partitioned using EFI GPT.
> > > +
> > > +config SYSV68_PARTITION
> > > + bool "SYSV68 partition table support" if PARTITION_ADVANCED
> > > + default y if M68K
> > ^
> > > + help
> > > +   Say Y here if you would like to be able to read the hard disk
> > > +   partition table format used by Motorola Delta machines (using
> > > +   sysv68).
> > > +   Otherwise, say N.
> > 
> > Bummer, I saw your patch before, but I never noticed the `default y if 
> > M68K'.
> > 
> > Can you please tell me on which platforms SYSV68 partition tables are 
> > commonly
> > used (I guess the Motorola MVME boards?), so we can enable it by default on 
> > a
> 
> The Motorola VME boards are the only ones I am aware of.  I must also add
> that the partitions themselves are sysv partitions.
> 
> > more sensible subset of M68K?
> 
> Feel free to replace or suppress the `default' directive.  I actually wrote
> that for a i586 laptop to access/reinstall disks of sysV68 machines using
> a USB/SCSI adapter, but I don't think `default y' is a good idea :).
> 
> What do you think of
>   `default y if VME'
> or
>   `default y if M68K && SYSV_FS'

I prefer `default y if VME'.

BTW, perhaps PPC based Motorola MVME boards use SYSV68 partition tables,
too?

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [EMAIL PROTECTED]

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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: retry [PATCH] partition : add support for sysv68 partitions

2007-05-09 Thread Philippe De Muyter
Hi Geert,

On Tue, May 08, 2007 at 10:21:12PM +0200, Geert Uytterhoeven wrote:
>   Hi Philippe,
> 
> On Fri, 13 Apr 2007, Philippe De Muyter wrote:
> > Add support for the Motorola sysv68 disk partition table (slices in motorola
> > doc).
> > 
> > Signed-off-by: Philippe De Muyter <[EMAIL PROTECTED]>
> > 
> > diff -r 1b54f1d81bc5 fs/partitions/Kconfig
> > --- a/fs/partitions/Kconfig Thu Apr 12 15:44:52 2007 -0700
> > +++ b/fs/partitions/Kconfig Fri Apr 13 15:51:58 2007 +0200
> > @@ -236,3 +236,12 @@ config EFI_PARTITION
> > help
> >   Say Y here if you would like to use hard disks under Linux which
> >   were partitioned using EFI GPT.
> > +
> > +config SYSV68_PARTITION
> > +   bool "SYSV68 partition table support" if PARTITION_ADVANCED
> > +   default y if M68K
> ^
> > +   help
> > + Say Y here if you would like to be able to read the hard disk
> > + partition table format used by Motorola Delta machines (using
> > + sysv68).
> > + Otherwise, say N.
> 
> Bummer, I saw your patch before, but I never noticed the `default y if M68K'.
> 
> Can you please tell me on which platforms SYSV68 partition tables are commonly
> used (I guess the Motorola MVME boards?), so we can enable it by default on a

The Motorola VME boards are the only ones I am aware of.  I must also add
that the partitions themselves are sysv partitions.

> more sensible subset of M68K?

Feel free to replace or suppress the `default' directive.  I actually wrote
that for a i586 laptop to access/reinstall disks of sysV68 machines using
a USB/SCSI adapter, but I don't think `default y' is a good idea :).

What do you think of
`default y if VME'
or
`default y if M68K && SYSV_FS'

Best regards 

Philippe
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: retry [PATCH] partition : add support for sysv68 partitions

2007-05-09 Thread Philippe De Muyter
Hi Geert,

On Tue, May 08, 2007 at 10:21:12PM +0200, Geert Uytterhoeven wrote:
   Hi Philippe,
 
 On Fri, 13 Apr 2007, Philippe De Muyter wrote:
  Add support for the Motorola sysv68 disk partition table (slices in motorola
  doc).
  
  Signed-off-by: Philippe De Muyter [EMAIL PROTECTED]
  
  diff -r 1b54f1d81bc5 fs/partitions/Kconfig
  --- a/fs/partitions/Kconfig Thu Apr 12 15:44:52 2007 -0700
  +++ b/fs/partitions/Kconfig Fri Apr 13 15:51:58 2007 +0200
  @@ -236,3 +236,12 @@ config EFI_PARTITION
  help
Say Y here if you would like to use hard disks under Linux which
were partitioned using EFI GPT.
  +
  +config SYSV68_PARTITION
  +   bool SYSV68 partition table support if PARTITION_ADVANCED
  +   default y if M68K
 ^
  +   help
  + Say Y here if you would like to be able to read the hard disk
  + partition table format used by Motorola Delta machines (using
  + sysv68).
  + Otherwise, say N.
 
 Bummer, I saw your patch before, but I never noticed the `default y if M68K'.
 
 Can you please tell me on which platforms SYSV68 partition tables are commonly
 used (I guess the Motorola MVME boards?), so we can enable it by default on a

The Motorola VME boards are the only ones I am aware of.  I must also add
that the partitions themselves are sysv partitions.

 more sensible subset of M68K?

Feel free to replace or suppress the `default' directive.  I actually wrote
that for a i586 laptop to access/reinstall disks of sysV68 machines using
a USB/SCSI adapter, but I don't think `default y' is a good idea :).

What do you think of
`default y if VME'
or
`default y if M68K  SYSV_FS'

Best regards 

Philippe
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: retry [PATCH] partition : add support for sysv68 partitions

2007-05-09 Thread Geert Uytterhoeven
On Wed, 9 May 2007, Philippe De Muyter wrote:
 On Tue, May 08, 2007 at 10:21:12PM +0200, Geert Uytterhoeven wrote:
  On Fri, 13 Apr 2007, Philippe De Muyter wrote:
   Add support for the Motorola sysv68 disk partition table (slices in 
   motorola
   doc).
   
   Signed-off-by: Philippe De Muyter [EMAIL PROTECTED]
   
   diff -r 1b54f1d81bc5 fs/partitions/Kconfig
   --- a/fs/partitions/Kconfig   Thu Apr 12 15:44:52 2007 -0700
   +++ b/fs/partitions/Kconfig   Fri Apr 13 15:51:58 2007 +0200
   @@ -236,3 +236,12 @@ config EFI_PARTITION
 help
   Say Y here if you would like to use hard disks under Linux which
   were partitioned using EFI GPT.
   +
   +config SYSV68_PARTITION
   + bool SYSV68 partition table support if PARTITION_ADVANCED
   + default y if M68K
  ^
   + help
   +   Say Y here if you would like to be able to read the hard disk
   +   partition table format used by Motorola Delta machines (using
   +   sysv68).
   +   Otherwise, say N.
  
  Bummer, I saw your patch before, but I never noticed the `default y if 
  M68K'.
  
  Can you please tell me on which platforms SYSV68 partition tables are 
  commonly
  used (I guess the Motorola MVME boards?), so we can enable it by default on 
  a
 
 The Motorola VME boards are the only ones I am aware of.  I must also add
 that the partitions themselves are sysv partitions.
 
  more sensible subset of M68K?
 
 Feel free to replace or suppress the `default' directive.  I actually wrote
 that for a i586 laptop to access/reinstall disks of sysV68 machines using
 a USB/SCSI adapter, but I don't think `default y' is a good idea :).
 
 What do you think of
   `default y if VME'
 or
   `default y if M68K  SYSV_FS'

I prefer `default y if VME'.

BTW, perhaps PPC based Motorola MVME boards use SYSV68 partition tables,
too?

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [EMAIL PROTECTED]

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
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: retry [PATCH] partition : add support for sysv68 partitions

2007-05-09 Thread Philippe De Muyter
Hi Geert,

  What do you think of
  `default y if VME'
  or
  `default y if M68K  SYSV_FS'
 
 I prefer `default y if VME'.
 
 BTW, perhaps PPC based Motorola MVME boards use SYSV68 partition tables,
 too?

No, the PPC based Motorola MVME boards use the (currently not supported by
linux) AIX partition tables, as do also the motorola powerstack machines.

The m88k based Motorola MVME boards use the sysV68 partition tables, but
m88k is not yet supported by linux.

Incidentally, what is the problem you have with SYSV68_PARTITION ?
On my i586 machine, code size is 434 bytes for sysv68.o + 4 bytes more in
check.c

Philippe
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: retry [PATCH] partition : add support for sysv68 partitions

2007-05-09 Thread Wouter Verhelst
On Tue, May 08, 2007 at 10:21:12PM +0200, Geert Uytterhoeven wrote:
   Hi Philippe,
 On Fri, 13 Apr 2007, Philippe De Muyter wrote:
  Add support for the Motorola sysv68 disk partition table (slices in motorola
  doc).
  
  Signed-off-by: Philippe De Muyter [EMAIL PROTECTED]
  
  diff -r 1b54f1d81bc5 fs/partitions/Kconfig
  --- a/fs/partitions/Kconfig Thu Apr 12 15:44:52 2007 -0700
  +++ b/fs/partitions/Kconfig Fri Apr 13 15:51:58 2007 +0200
  @@ -236,3 +236,12 @@ config EFI_PARTITION
  help
Say Y here if you would like to use hard disks under Linux which
were partitioned using EFI GPT.
  +
  +config SYSV68_PARTITION
  +   bool SYSV68 partition table support if PARTITION_ADVANCED
  +   default y if M68K
 ^
  +   help
  + Say Y here if you would like to be able to read the hard disk
  + partition table format used by Motorola Delta machines (using
  + sysv68).
  + Otherwise, say N.
 
 Bummer, I saw your patch before, but I never noticed the `default y if M68K'.
 
 Can you please tell me on which platforms SYSV68 partition tables are commonly
 used (I guess the Motorola MVME boards?), 

I guess so. I have a disk for my MVME167 lying around here somewhere
with SYSV/68 on it. If you want, I can verify what exact machines it
runs on, but I guess every 68k MVME is a safe enough bet.

-- 
Shaw's Principle:
Build a system that even a fool can use, and only a fool will
want to use it.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: retry [PATCH] partition : add support for sysv68 partitions

2007-05-09 Thread Michael Schmitz
 `default y if M68K  SYSV_FS'
 
  I prefer `default y if VME'.
 

 Incidentally, what is the problem you have with SYSV68_PARTITION ?
 On my i586 machine, code size is 434 bytes for sysv68.o + 4 bytes more in
 check.c

Traditionally, we have always been very conservative about enabling more
than the absolute minimum in partition format support. Some formats can be
erroneously identified by the check code if you don't get the ordering
right (the case I know about, MSDOS partitions vs. Atari TOS/GEM
partitions, hinges on a particular checksum being calculated in the atari
code). I've moved the msdos checker to the bottom of the list more often
than I can keep track of...

If sysv68 cannot be confused with any other format, no harm done by
enabling it by default. Otherwise, things may get interesting.

Michael
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: retry [PATCH] partition : add support for sysv68 partitions

2007-05-08 Thread Geert Uytterhoeven
Hi Philippe,

On Fri, 13 Apr 2007, Philippe De Muyter wrote:
> Add support for the Motorola sysv68 disk partition table (slices in motorola
> doc).
> 
> Signed-off-by: Philippe De Muyter <[EMAIL PROTECTED]>
> 
> diff -r 1b54f1d81bc5 fs/partitions/Kconfig
> --- a/fs/partitions/Kconfig   Thu Apr 12 15:44:52 2007 -0700
> +++ b/fs/partitions/Kconfig   Fri Apr 13 15:51:58 2007 +0200
> @@ -236,3 +236,12 @@ config EFI_PARTITION
>   help
> Say Y here if you would like to use hard disks under Linux which
> were partitioned using EFI GPT.
> +
> +config SYSV68_PARTITION
> + bool "SYSV68 partition table support" if PARTITION_ADVANCED
> + default y if M68K
^
> + help
> +   Say Y here if you would like to be able to read the hard disk
> +   partition table format used by Motorola Delta machines (using
> +   sysv68).
> +   Otherwise, say N.

Bummer, I saw your patch before, but I never noticed the `default y if M68K'.

Can you please tell me on which platforms SYSV68 partition tables are commonly
used (I guess the Motorola MVME boards?), so we can enable it by default on a
more sensible subset of M68K?

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [EMAIL PROTECTED]

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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: retry [PATCH] partition : add support for sysv68 partitions

2007-05-08 Thread Geert Uytterhoeven
Hi Philippe,

On Fri, 13 Apr 2007, Philippe De Muyter wrote:
 Add support for the Motorola sysv68 disk partition table (slices in motorola
 doc).
 
 Signed-off-by: Philippe De Muyter [EMAIL PROTECTED]
 
 diff -r 1b54f1d81bc5 fs/partitions/Kconfig
 --- a/fs/partitions/Kconfig   Thu Apr 12 15:44:52 2007 -0700
 +++ b/fs/partitions/Kconfig   Fri Apr 13 15:51:58 2007 +0200
 @@ -236,3 +236,12 @@ config EFI_PARTITION
   help
 Say Y here if you would like to use hard disks under Linux which
 were partitioned using EFI GPT.
 +
 +config SYSV68_PARTITION
 + bool SYSV68 partition table support if PARTITION_ADVANCED
 + default y if M68K
^
 + help
 +   Say Y here if you would like to be able to read the hard disk
 +   partition table format used by Motorola Delta machines (using
 +   sysv68).
 +   Otherwise, say N.

Bummer, I saw your patch before, but I never noticed the `default y if M68K'.

Can you please tell me on which platforms SYSV68 partition tables are commonly
used (I guess the Motorola MVME boards?), so we can enable it by default on a
more sensible subset of M68K?

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [EMAIL PROTECTED]

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
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


retry [PATCH] partition : add support for sysv68 partitions

2007-04-13 Thread Philippe De Muyter
Hi all,

Add support for the Motorola sysv68 disk partition table (slices in motorola
doc).

Signed-off-by: Philippe De Muyter <[EMAIL PROTECTED]>

diff -r 1b54f1d81bc5 fs/partitions/Kconfig
--- a/fs/partitions/Kconfig Thu Apr 12 15:44:52 2007 -0700
+++ b/fs/partitions/Kconfig Fri Apr 13 15:51:58 2007 +0200
@@ -236,3 +236,12 @@ config EFI_PARTITION
help
  Say Y here if you would like to use hard disks under Linux which
  were partitioned using EFI GPT.
+
+config SYSV68_PARTITION
+   bool "SYSV68 partition table support" if PARTITION_ADVANCED
+   default y if M68K
+   help
+ Say Y here if you would like to be able to read the hard disk
+ partition table format used by Motorola Delta machines (using
+ sysv68).
+ Otherwise, say N.
diff -r 1b54f1d81bc5 fs/partitions/Makefile
--- a/fs/partitions/MakefileThu Apr 12 15:44:52 2007 -0700
+++ b/fs/partitions/MakefileFri Apr 13 15:51:58 2007 +0200
@@ -17,3 +17,4 @@ obj-$(CONFIG_IBM_PARTITION) += ibm.o
 obj-$(CONFIG_IBM_PARTITION) += ibm.o
 obj-$(CONFIG_EFI_PARTITION) += efi.o
 obj-$(CONFIG_KARMA_PARTITION) += karma.o
+obj-$(CONFIG_SYSV68_PARTITION) += sysv68.o
diff -r 1b54f1d81bc5 fs/partitions/check.c
--- a/fs/partitions/check.c Thu Apr 12 15:44:52 2007 -0700
+++ b/fs/partitions/check.c Fri Apr 13 15:51:58 2007 +0200
@@ -34,6 +34,7 @@
 #include "ultrix.h"
 #include "efi.h"
 #include "karma.h"
+#include "sysv68.h"
 
 #ifdef CONFIG_BLK_DEV_MD
 extern void md_autodetect_dev(dev_t dev);
@@ -104,6 +105,9 @@ static int (*check_part[])(struct parsed
 #endif
 #ifdef CONFIG_KARMA_PARTITION
karma_partition,
+#endif
+#ifdef CONFIG_SYSV68_PARTITION
+   sysv68_partition,
 #endif
NULL
 };
diff -r 1b54f1d81bc5 fs/partitions/sysv68.c
--- /dev/null   Thu Jan  1 00:00:00 1970 +
+++ b/fs/partitions/sysv68.cFri Apr 13 15:51:58 2007 +0200
@@ -0,0 +1,92 @@
+/*
+ *  fs/partitions/sysv68.c
+ *
+ *  Copyright (C) 2007 Philippe De Muyter <[EMAIL PROTECTED]>
+ */
+
+#include "check.h"
+#include "sysv68.h"
+
+/*
+ * Volume ID structure: on first 256-bytes sector of disk
+ */
+
+struct volumeid {
+   u8  vid_unused[248];
+   u8  vid_mac[8]; /* ASCII string "MOTOROLA" */
+};
+
+/*
+ * config block: second 256-bytes sector on disk
+ */
+
+struct dkconfig {
+   u8  ios_unused0[128];
+   __be32  ios_slcblk; /* Slice table block number */
+   __be16  ios_slccnt; /* Number of entries in slice table */
+   u8  ios_unused1[122];
+};
+
+/*
+ * combined volumeid and dkconfig block
+ */
+
+struct dkblk0 {
+   struct volumeid dk_vid;
+   struct dkconfig dk_ios;
+};
+
+/*
+ * Slice Table Structure
+ */
+
+struct slice {
+   __be32  nblocks;/* slice size (in blocks) */
+   __be32  blkoff; /* block offset of slice */
+};
+
+
+int sysv68_partition(struct parsed_partitions *state, struct block_device 
*bdev)
+{
+   int i, slices;
+   int slot = 1;
+   Sector sect;
+   unsigned char *data;
+   struct dkblk0 *b;
+   struct slice *slice;
+
+   data = read_dev_sector(bdev, 0, );
+   if (!data)
+   return -1;
+
+   b = (struct dkblk0 *) data;
+   if (memcmp(b->dk_vid.vid_mac, "MOTOROLA", sizeof(b->dk_vid.vid_mac))) {
+   put_dev_sector(sect);
+   return 0;
+   }
+   slices = be16_to_cpu(b->dk_ios.ios_slccnt);
+   i = be32_to_cpu(b->dk_ios.ios_slcblk);
+   put_dev_sector(sect);
+
+   data = read_dev_sector(bdev, i, );
+   if (!data)
+   return -1;
+
+   slices -= 1; /* last slice is the whole disk */
+   printk("sysV68: %s(s%u)", state->name, slices);
+   slice = (struct slice *)data;
+   for (i = 0 ; i < slices; i++, slice++) {
+   if (slot == state->limit)
+   break;
+   if (be32_to_cpu(slice->nblocks)) {
+   put_partition(state, slot,
+   be32_to_cpu(slice->blkoff),
+   be32_to_cpu(slice->nblocks));
+   printk("(s%u)", i);
+   }
+   slot++;
+   }
+   printk("\n");
+   put_dev_sector(sect);
+   return 1;
+}
diff -r 1b54f1d81bc5 fs/partitions/sysv68.h
--- /dev/null   Thu Jan  1 00:00:00 1970 +
+++ b/fs/partitions/sysv68.hFri Apr 13 15:51:58 2007 +0200
@@ -0,0 +1,1 @@
+extern int sysv68_partition(struct parsed_partitions *state, struct 
block_device *bdev);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


retry [PATCH] partition : add support for sysv68 partitions

2007-04-13 Thread Philippe De Muyter
Hi all,

Add support for the Motorola sysv68 disk partition table (slices in motorola
doc).

Signed-off-by: Philippe De Muyter [EMAIL PROTECTED]

diff -r 1b54f1d81bc5 fs/partitions/Kconfig
--- a/fs/partitions/Kconfig Thu Apr 12 15:44:52 2007 -0700
+++ b/fs/partitions/Kconfig Fri Apr 13 15:51:58 2007 +0200
@@ -236,3 +236,12 @@ config EFI_PARTITION
help
  Say Y here if you would like to use hard disks under Linux which
  were partitioned using EFI GPT.
+
+config SYSV68_PARTITION
+   bool SYSV68 partition table support if PARTITION_ADVANCED
+   default y if M68K
+   help
+ Say Y here if you would like to be able to read the hard disk
+ partition table format used by Motorola Delta machines (using
+ sysv68).
+ Otherwise, say N.
diff -r 1b54f1d81bc5 fs/partitions/Makefile
--- a/fs/partitions/MakefileThu Apr 12 15:44:52 2007 -0700
+++ b/fs/partitions/MakefileFri Apr 13 15:51:58 2007 +0200
@@ -17,3 +17,4 @@ obj-$(CONFIG_IBM_PARTITION) += ibm.o
 obj-$(CONFIG_IBM_PARTITION) += ibm.o
 obj-$(CONFIG_EFI_PARTITION) += efi.o
 obj-$(CONFIG_KARMA_PARTITION) += karma.o
+obj-$(CONFIG_SYSV68_PARTITION) += sysv68.o
diff -r 1b54f1d81bc5 fs/partitions/check.c
--- a/fs/partitions/check.c Thu Apr 12 15:44:52 2007 -0700
+++ b/fs/partitions/check.c Fri Apr 13 15:51:58 2007 +0200
@@ -34,6 +34,7 @@
 #include ultrix.h
 #include efi.h
 #include karma.h
+#include sysv68.h
 
 #ifdef CONFIG_BLK_DEV_MD
 extern void md_autodetect_dev(dev_t dev);
@@ -104,6 +105,9 @@ static int (*check_part[])(struct parsed
 #endif
 #ifdef CONFIG_KARMA_PARTITION
karma_partition,
+#endif
+#ifdef CONFIG_SYSV68_PARTITION
+   sysv68_partition,
 #endif
NULL
 };
diff -r 1b54f1d81bc5 fs/partitions/sysv68.c
--- /dev/null   Thu Jan  1 00:00:00 1970 +
+++ b/fs/partitions/sysv68.cFri Apr 13 15:51:58 2007 +0200
@@ -0,0 +1,92 @@
+/*
+ *  fs/partitions/sysv68.c
+ *
+ *  Copyright (C) 2007 Philippe De Muyter [EMAIL PROTECTED]
+ */
+
+#include check.h
+#include sysv68.h
+
+/*
+ * Volume ID structure: on first 256-bytes sector of disk
+ */
+
+struct volumeid {
+   u8  vid_unused[248];
+   u8  vid_mac[8]; /* ASCII string MOTOROLA */
+};
+
+/*
+ * config block: second 256-bytes sector on disk
+ */
+
+struct dkconfig {
+   u8  ios_unused0[128];
+   __be32  ios_slcblk; /* Slice table block number */
+   __be16  ios_slccnt; /* Number of entries in slice table */
+   u8  ios_unused1[122];
+};
+
+/*
+ * combined volumeid and dkconfig block
+ */
+
+struct dkblk0 {
+   struct volumeid dk_vid;
+   struct dkconfig dk_ios;
+};
+
+/*
+ * Slice Table Structure
+ */
+
+struct slice {
+   __be32  nblocks;/* slice size (in blocks) */
+   __be32  blkoff; /* block offset of slice */
+};
+
+
+int sysv68_partition(struct parsed_partitions *state, struct block_device 
*bdev)
+{
+   int i, slices;
+   int slot = 1;
+   Sector sect;
+   unsigned char *data;
+   struct dkblk0 *b;
+   struct slice *slice;
+
+   data = read_dev_sector(bdev, 0, sect);
+   if (!data)
+   return -1;
+
+   b = (struct dkblk0 *) data;
+   if (memcmp(b-dk_vid.vid_mac, MOTOROLA, sizeof(b-dk_vid.vid_mac))) {
+   put_dev_sector(sect);
+   return 0;
+   }
+   slices = be16_to_cpu(b-dk_ios.ios_slccnt);
+   i = be32_to_cpu(b-dk_ios.ios_slcblk);
+   put_dev_sector(sect);
+
+   data = read_dev_sector(bdev, i, sect);
+   if (!data)
+   return -1;
+
+   slices -= 1; /* last slice is the whole disk */
+   printk(sysV68: %s(s%u), state-name, slices);
+   slice = (struct slice *)data;
+   for (i = 0 ; i  slices; i++, slice++) {
+   if (slot == state-limit)
+   break;
+   if (be32_to_cpu(slice-nblocks)) {
+   put_partition(state, slot,
+   be32_to_cpu(slice-blkoff),
+   be32_to_cpu(slice-nblocks));
+   printk((s%u), i);
+   }
+   slot++;
+   }
+   printk(\n);
+   put_dev_sector(sect);
+   return 1;
+}
diff -r 1b54f1d81bc5 fs/partitions/sysv68.h
--- /dev/null   Thu Jan  1 00:00:00 1970 +
+++ b/fs/partitions/sysv68.hFri Apr 13 15:51:58 2007 +0200
@@ -0,0 +1,1 @@
+extern int sysv68_partition(struct parsed_partitions *state, struct 
block_device *bdev);
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/