All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vincent Sweeney <v.sweeney@dexterus.com>
To: Alexander Viro <viro@math.psu.edu>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Re: Lost Partition
Date: Thu, 11 Oct 2001 14:54:27 +0100	[thread overview]
Message-ID: <3BC5A493.3ED48320@dexterus.com> (raw)
In-Reply-To: <Pine.GSO.4.21.0110110919021.22698-100000@weyl.math.psu.edu>

No luck I'm afraid. The patch applied successfully bit I still get
exactly the same problem.

Vince.

Alexander Viro wrote:
> 
> On Thu, 11 Oct 2001, Vincent Sweeney wrote:
> 
> > I have just upgrade my kernel to 2.4.12 and in the process I've lost a
> > partition on my secondary IDE drive. Since this is my /usr partition
> > it's kind of important ;)
> 
> Please, see if the following fixes the problem.
> 
> --- S11/fs/partitions/msdos.c   Tue Oct  9 21:47:27 2001
> +++ /tmp/msdos.c        Thu Oct 11 09:18:22 2001
> @@ -103,21 +103,20 @@
>   */
> 
>  static void extended_partition(struct gendisk *hd, struct block_device *bdev,
> -                               int minor, int *current_minor)
> +                       int minor, unsigned long first_size, int *current_minor)
>  {
>         struct partition *p;
>         Sector sect;
>         unsigned char *data;
> -       unsigned long first_sector, first_size, this_sector, this_size;
> +       unsigned long first_sector, this_sector, this_size;
>         int mask = (1 << hd->minor_shift) - 1;
>         int sector_size = get_hardsect_size(to_kdev_t(bdev->bd_dev)) / 512;
>         int loopct = 0;         /* number of links followed
>                                    without finding a data partition */
>         int i;
> 
> -       first_sector = hd->part[minor].start_sect;
> -       first_size = hd->part[minor].nr_sects;
> -       this_sector = first_sector;
> +       this_sector = first_sector = hd->part[minor].start_sect;
> +       this_size = first_size;
> 
>         while (1) {
>                 if (++loopct > 100)
> @@ -133,8 +132,6 @@
> 
>                 p = (struct partition *) (data + 0x1be);
> 
> -               this_size = hd->part[minor].nr_sects;
> -
>                 /*
>                  * Usually, the first entry is the real data partition,
>                  * the 2nd entry is the next extended partition, or empty,
> @@ -196,6 +193,7 @@
>                         goto done;       /* nothing left to do */
> 
>                 this_sector = first_sector + START_SECT(p) * sector_size;
> +               this_size = NR_SECTS(p) * sector_size;
>                 minor = *current_minor;
>                 put_dev_sector(sect);
>         }
> @@ -586,12 +584,13 @@
>                 }
>  #endif
>                 if (is_extended_partition(p)) {
> +                       unsigned long size = hd->part[minor].nr_sects;
>                         printk(" <");
>                         /* prevent someone doing mkfs or mkswap on an
>                            extended partition, but leave room for LILO */
> -                       if (hd->part[minor].nr_sects > 2)
> +                       if (size > 2)
>                                 hd->part[minor].nr_sects = 2;
> -                       extended_partition(hd, bdev, minor, &current_minor);
> +                       extended_partition(hd, bdev, minor, size, &current_minor);
>                         printk(" >");
>                 }
>         }

  parent reply	other threads:[~2001-10-11 13:55 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-10-11 12:14 Lost Partition Vincent Sweeney
2001-10-11 13:01 ` Alexander Viro
2001-10-11 13:19 ` [PATCH] " Alexander Viro
2001-10-11 13:25   ` Stefan Smietanowski
2001-10-11 13:28     ` Alexander Viro
2001-10-11 13:37       ` Stefan Smietanowski
2001-10-11 13:54   ` Vincent Sweeney [this message]
2001-10-11 13:58     ` Alexander Viro
2001-10-11 14:02       ` Vincent Sweeney
2001-10-11 19:33   ` Jeff V. Merkey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3BC5A493.3ED48320@dexterus.com \
    --to=v.sweeney@dexterus.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=viro@math.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.