Re: undo make-bcache (was: Re: Can't mount an encrypted backing device)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Jan 18, 2020 at 7:54 AM Clodoaldo Neto
<clodoaldo.pinto.neto@xxxxxxxxx> wrote:
>
> On Thu, Jan 16, 2020 at 9:59 PM Coly Li <colyli@xxxxxxx> wrote:
> >
> > On 2020/1/17 5:52 上午, Clodoaldo Neto wrote:
> > >
> > > Em seg, 13 de jan de 2020 11:19, Coly Li <colyli@xxxxxxx
> > > <mailto:colyli@xxxxxxx>> escreveu:
> > >>
> > >> On 2020/1/13 8:44 下午, Jens-U. Mozdzen wrote:
> > >> > Hi Coly,
> > >> >
> > >> > jumping in here, because I was looking for a way to revert from bcache
> > >> > to plain device:
> > >> >
> > >> > Zitat von Coly Li <colyli@xxxxxxx <mailto:colyli@xxxxxxx>>:
> > >> >> The super block location of the backing disk is occupied by bcache. You
> > >> >> cannot mount the file system directly from the backing disk which is
> > >> >> formated as bcache backing device [...] (bcache offset all I/Os on
> > >> >> bcache device 4KB behind the requesting
> > >> >> LBA on backing disk).
> > >> >
> > >> > Assuming that no caching device is associated with a backing device (so
> > >> > the backing device is "clean" as in "containing all data blocks with the
> > >> > current content"), could one convert the content of a backing device to
> > >> > a "non-bcached device" by removing the first 4096 octets of the backing
> > >> > device content?
> > >> >
> > >> > Something like "dd if=backingdev of=newdev skip_bytes=4096 ..."?
> > >>
> > >> Hi Jens-U,
> > >>
> > >> you may try dmsetup to setup a linear device mapper target, and the map
> > >> table just skipping the first 4KB (bcache superblock area). If you are
> > >> lucky, I mean the real file system is not corrupted, the created device
> > >> mapper target can be mounted directly.
> > >
> > >
> > > I'm trying dmsetup but it does not accept anything other than 0 and 0
> > > at the beginning and end of the table:
> > >
> > > # echo '0 3774578672 linear /dev/mapper/backing-device 8' | dmsetup
> > > create dmb
> > > device-mapper: reload ioctl on dmb  failed: Invalid argument
> > > Command failed.
> >
> > The above line should work, if 3774578672 is a correct size number in
> > sectors.
>
> I took it from the original map:
>
> # dmsetup table /dev/mapper/backing-device
> 0 3774578672 crypt aes-xts-plain64
> :64:logon:cryptsetup:7e2c0b40-8dec-4b13-8d00-b53b55160775-d0 0 251:0
> 32768

It works like this:

# echo '0 3774578664 linear /dev/mapper/backing-device 8' | dmsetup create dmb

But then I can't mount it:

# mount /dev/mapper/dmb /r
mount: /r: wrong fs type, bad option, bad superblock on
/dev/mapper/dmb, missing codepage or helper program, or other error.

>
> >
> > >
> > > # echo '8 3774578664 linear /dev/mapper/backing-device 0' | dmsetup
> > > create dmb
> > > device-mapper: reload ioctl on dmb  failed: Invalid argument
> > > Command failed.
> > >
> > > I'm not sure about how it works. Is it not 8 sectors for 4k bytes?
> > >
> >
> > It works on my side, my kernel is Linux v5.5-rc2, lvm2 version is
> > 2.02.180, dmsetup version is 1.02.149. The difference is the device
> > size, my disk size is much less.
> >
> > --
> >
> > Coly Li




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux ARM Kernel]     [Linux Filesystem Development]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux