• Thomas Stewart's avatar
    ufs: permit mounting of BorderWare filesystems · d27d7a9a
    Thomas Stewart authored
    I recently had to recover some files from an old broken machine that was
    running BorderWare Document Gateway.  It's basically a drop in web server
    for sharing files.  From the look of the init process and using strings on
    of a few files it seems to be based on FreeBSD 3.3.
    
    The process turned out to be more difficult than I imagined, but to cut a
    long story short BorderWare in their wisdom use a nonstandard magic number
    in their UFS (ufstype=44bsd) file systems.  Thus Linux refuses to mount
    the file systems in order to recover the data.  After a bit of hunting I
    was able to make a quick fix to fs/ufs/super.c in order to detect the new
    magic number.
    
    I assume that this number is the same for all installations.  It's quite
    easy to find out from ufs_fs.h.  The superblock sits 8k into the block
    device and the magic number its 1372 bytes into the superblock struct.
    
    # dd if=/dev/sda5 skip=$(( 8192 + 1372 )) bs=1 count=4 2> /dev/null | hd
    00000000  97 26 24 0f                                       |.&$.|
    #
    Signed-off-by: default avatarThomas Stewart <thomas@stewarts.org.uk>
    Cc: Evgeniy Dushistov <dushistov@mail.ru>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    d27d7a9a
ufs_fs.h 34.6 KB