On Wed, 17 May 2017, Christoph Hellwig wrote:

> Thanks Richard,
>
> this looks good to me.
>
> Reviewed-by: Christoph Hellwig <[email protected]>
>
> On Wed, May 17, 2017 at 06:28:53PM -0700, Richard Narron wrote:
> > The code in block/partitions/msdos.c recognizes FreeBSD, OpenBSD
> > and NetBSD partitions and does a reasonable job picking out OpenBSD
> > and NetBSD UFS subpartitions.
> >
> > But for FreeBSD the subpartitions are always "bad".
> >
> >     Kernel: <bsd:bad subpartition - ignored
> >
> > Though all 3 of these BSD systems use UFS as a file system, only
> > FreeBSD uses relative start addresses in the subpartition
> > declarations.
> >
> > The following patch fixes this for FreeBSD partitions and leaves
> > the code for OpenBSD and NetBSD intact:
> >
> > Signed-off-by: Richard Narron <[email protected]>
> > ---
> >  block/partitions/msdos.c | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > --- a/block/partitions/msdos.c  2015-12-27 18:17:37.000000000 -0800
> > +++ b/block/partitions/msdos.c  2015-12-29 10:44:25.813773357 -0800
5~> > @@ -300,6 +300,8 @@ static void parse_bsd(struct parsed_part
> >                         continue;
> >                 bsd_start = le32_to_cpu(p->p_offset);
> >                 bsd_size = le32_to_cpu(p->p_size);
> > +               if (memcmp(flavour, "bsd\0", 4) == 0)
> > +                       bsd_start = bsd_start + offset;
>
> this could be +=, but I don't think it really matters.
>

Thanks Christophe,

I will create a version 2 with +=.

Good style makes maintenance easier.

--
Richard Narron

Reply via email to