Hi! > > > > Unfortunately, that would mean shifting 400GB data 8KB forward, and > > > > compatibility problems. So I'd prefer adding bcache superblock into > > > > the reserved space, so I can have caching _and_ compatibility with > > > > grub2 etc (and avoid 400GB move): > > > > > > The common way to do that is to move the beginning of the partition, > > > assuming your ext4 lives in a partition. > > > > Well... if I move the partition, grub2 (etc) will be unable to access > > data on it. (Plus I do not have free space before some of the > > partitions I'd like to be cached). > > Why not use dm-linear and prepend space for the bcache superblock? If > this is your boot device, then you would need to write a custom > initrd hook too. Thanks for a pointer. That would actually work, but I'd have to be very, very careful using it... ...because if I, or systemd or some kind of automounter sees the underlying device (sda4) and writes to it (it is valid ext4 after all), I'll have inconsistent base device and cache ... and that will be asking for major problems (even in writethrough mode). Actually, this already would be usable, if we killed content of cache device on every mount. Hmmm. I have reasonably long uptimes these days. If possible, I'd like something more clever: bcache saves mtime of the ext4 filesystem on shutdown. If the mtime does not match on the next startup, it means someone fsck-ed the filesystem or mounted it directly or something, and cache is invalid. Bonus would be some kind of interlock with "incompatible feature" bits. If the bcache has dirty data in write-back cache, it would be nice to have "incompatible feature" bit set, so that tools that don't have access to the cache refuse to touch it. Best regards, Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Attachment:
signature.asc
Description: Digital signature