Resizing BFS

I know it is not officially possible at the moment to resize a BFS filesystem.
Are there any experimental tools for it that are not part of the standard nightly image? I want to change the partition layout (and sizes) on my main Haiku machine. There is no important data on the machine, so I’d be happy to try out any experimental solutions :wink:

If not I will just reinstall Haiku but then I’d have to make all my settings again…

I does not know any way to resize bfs, but i have expierience to storr settings and data.

If you have more then on partition or hdd on your computer, create zip files of you setting and packages.

Here you can use my little Backup too LBackup:
Http://software.besly.de

To install your files after creating new haiku partition, unzip the files to boot

1 Like

If you’re brave about experimental solutions, here one:

We had one student working on such solution during GSoC 2012.
BFS being stable, interface speaking, his code should be still working, one could hope at least.

But please, first read his final report in which he explained the design issue his approach has.

4 Likes

Thanks @lelldorin and @phoudoin. I will first backup my settings and then try and see if I can get the resizing code to work. Not so sure about that after reading the report, but I’ll give it a try :slight_smile:

LBackup looks good, I’d like to try it. Is it also available for the 64bit version of Haiku? I tried to add your 64bit repo but it didn’t work.

64bit repo is not available

Ah Ok, I see. Can I use LBackup from the source code? It´s a yab application, right?

I have add to the Haiku PM download list of BeSyl Software Repo a 64bit version of LBackup
(Not in HaikuDepot, only download from the website at the moment).

http://software.besly.de

1 Like

Finally I found the time to continue with this topic. I ended up backing up my settings with Lelldorin’s LBackup program and reinstalling Haiku from usb stick. The restore process of the settings worked well once I figured out that I needed to unzip the files against “/”, not against “/boot”.

So my problem is solved for now, but I would still be interested in compiling and trying out the resizer code in a VM. I read all the forum posts from GSOC 2012 but could not find any info on how to compile or use the resizing program. Only that the “fixes” branch needs to be merged with master and merge conflicts are to be expected (I have no idea how to deal with those). The repo seems to be a fork of the complete haiku sources. Does that mean I would have to build a complete haiku image which then contains the resizer?

Thanks for the package. After installing, LBackup did not start at first. I started it from commandline and found out that the directory /boot/home/.besly/lbackup/data was missing. So I created the directory and LBackup was running normally. Is this something that could be done automatically by the package?

All my Apps create all needed folders by themself if they are missed. I need to check my tool now. Thanks for the info.

The Haiku source tree allows to build pieces of it at once. We do this routinely for testing just a component. For example, “jam -q libbe.so” will compile just libbe.

For the resizer, I don’t know if you need only the tool itself, or if there are also changes to the filesystem module. In the latter case, it would be harder to build just the module and install that in a running system.

“merge conflicts” is when you try to merge together work done in two different branches. The student made his changes, and meanwhile (and since then), other people did more changes to Haiku. If in both of these branches, the same line of code was changed, Git will not know which version is the correct one. So it will just put both of them in the file (with markers so you can easily find them) and tell you to fix things by yourself.

1 Like

Thanks Pulkomandy for the detailed explanation.
Do you know the jam command needed for the resizer? Or can I find that out myself? Where would I have to look in the source tree?

Regarding the merge conflict: I know what a merge conflict is in git but I meant I wouldn’t know how to solve it manually in this specific case.

looking to the last commits it seems like it is not a simple as building an external app, student’s commits modify the bfs implementation

1 Like

Thanks for the info. I think the bfs resize thing is a bit too much for my current knowledge of both Haiku and C++. Maybe I`ll get back to it later when I’m a bit more experienced.