lkml.org 
[lkml]   [2017]   [Jun]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.18 02/32] partitions/msdos: FreeBSD UFS2 file systems are not recognized
    Date
    3.18-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Richard <richard@aaazen.com>

    commit 223220356d5ebc05ead9a8d697abb0c0a906fc81 upstream.

    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 <comet.berkeley@gmail.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Jens Axboe <axboe@fb.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    block/partitions/msdos.c | 2 ++
    1 file changed, 2 insertions(+)

    --- a/block/partitions/msdos.c
    +++ b/block/partitions/msdos.c
    @@ -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 += offset;
    if (offset == bsd_start && size == bsd_size)
    /* full parent partition, we have it already */
    continue;

    \
     
     \ /
      Last update: 2017-06-19 17:40    [W:4.132 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site