On 2018-09-10 5:41 p.m., don fisher wrote:
Is there a way to remove BTRFS from a running opensuse system and convert to another file system, such as ext4? I did not see anything on line.
I can tell you how I did it but you won';t like this. To start with I use LVM, so it is easy for me to breate a new 'partition'. I created one I labelled 'ROOT4' /dev/mapper/vgmain-vROOT4 I can do this because have plenty to free space available in my LVM. You might see the same with a basic drive if you create it with a few spare partitions. Sadly, most people have a tendency to fill up their disks with partitions even though the partitions are sparsely used :-( Not a sensible strategy as it end up with lots of free space in unusable places and a tendency to patch thing with symlinks. Which won't work in this case. I looked at the actual space my old BtrFS RootFS used without the snapshots and set up the new partition to manage that. Unlike BtrFS, ext4 preallocates i-node space so you'll need to make sure you have enough i-nodes. This is simpler for me since I have a separate /tmp file system. If your /tmp is a part of your RootFS then you have a future unknown of the number of files and hence inodes. IIR there are also some security issues to do with having /tmp as part of the RootFS as well. I suppose thing gets back into the issue of what should and should not be on your faster drive.... Once ROOT4 was formatted I mounted it it on /mnt/disk and then user rsync to copy the old root file system across. Rsync is versatile. The fist thin is to make sure you don't copy any other FS. Use the "-x" option. make sure you exclude the snapshots. You can do some pruning here if you like. I set up a 40G partition for my ROOT4 and the algorithm gave me 2M5 inodes. That seemed a bit high. As it turned out I over-provisioned: I'm using about 25% of the data and 4% of the inodes. The I had to reset the values for a new grub and all that in the config files and build a new initrd. All that is automated :-) Why did I use Ext4? Well it is built into the kernel. I can load it without any modules. But as far as I'm concerned its a bloody awful FS. That division between inode space and data space goes back to the beginning of the 1970s as far as UNIX files systems go, and that tradition goes back further to the 1950s. With a Btree FS, which Ext4 claims to be, it is a stupid anachronism. No such division exists in BtrFS. Not in XFS, JSF or ReiserFS. Check their dates. What I really should have done is remake the kernel with ext4 as a module and JFS or XFS built in and made that to RootFS instead of ext4. But really: I've got better things to do with my time. Heck, if that was an option for me I'd use Reiser4 instead and build a kernel for that. -- A: Yes. > Q: Are you sure? >> A: Because it reverses the logical flow of conversation. >>> Q: Why is top posting frowned upon? -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org