- Debugger: Getting mixed signals
- 'Packaging Infrastructure' Contract Weekly Report #4
- Haiku monthly activity report - 06/2015
- 'Packaging Infrastructure' Contract Weekly Report #3
- 'Packaging Infrastructure' Contract Weekly Report #2
- GCI 2014 winners trip report (mentor side)
- TeX Live and LyX; Changes to the boot code
- 'Packaging Infrastructure' Contract Weekly Report #1
- Beginning of 'Packaging Infrastructure' Contract
- Haiku monthly activity report - 05/2015
BFS Partition Resizer: Midterm Report
A lot of things have happened since the last status update! As far as I can tell, the kernel part of the file system resizer is mostly complete. Some details remain, along with a healthy dose of bugs to be fixed. In addition, I've written a 'resizefs' command for bfs_shell. Let's look at a typical session with the mighty resizefs!
fssh:/> resizefs 100
File system information:
Bitmap: 1 blocks (was 1)
Log start: block 2 (was 2)
Log length: 512 blocks (was 512)
Block size: 2048 bytes
Error: Not enough space left.
Status: Invalid argument
fssh:/> resizefs 100000000000000000
File system information:
Bitmap: 48175 blocks (was 1)
Log start: block 48176 (was 2)
Log length: 4096 blocks (was 512)
Block size: 2048 bytes
Error: Can't grow disk this much.
Status: Invalid argument
fssh:/> resizefs 2048000
File system information:
Bitmap: 1 blocks (was 1)
Log start: block 2 (was 2)
Log length: 512 blocks (was 512)
Block size: 2048 bytes
Inodes moved: 0
Data streams moved: 0
File system successfully resized!
Perhaps not too user friendly.
I will spend the following weeks testing and fixing bugs. My plan is to use a tiny script to checksum all parts of the filesystem before and after the resize. I will combine this with code coverage testing with gcov, and simply create and try images and resizing sizes. Special care will also need to be taken with the parts that modify the normal operation of the driver.
With this process, I expect to find and exterminate all non-subtle bugs hiding in seldom (or never) executed code. If anyone has any other exciting testing ideas, I'd be happy to hear them.
All in all, things are moving along roughly on schedule. By the end of this period, I'd like to have the kernel part robust and done, so I can move on to adding support to DriveSetup and related tasks.
- ahenriksson's blog
- Login or register to post comments

Comments
Re: BFS Partition Resizer: Midterm Report
Looks great. The ability to adjust a partition's available space like this will be useful.
Re: BFS Partition Resizer: Midterm Report
It might also be good for you to look at any bugs that Coverity has found in the bfs code. Coverity is a static analysis tool that can find problems with unitialised variables, some out-of-bound array access, things like that. Obviously it can't catch every bug, but it does a good job of finding some of the subtle things that are easy to miss. I guess you probably don't have access, but you can bug Urias (aka umccullough) for that.
Re: BFS Partition Resizer: Midterm Report
I guess you probably don't have access, but you can bug Urias (aka umccullough) for that.
We might be able to work something out. It wouldn't be wise to scan code that hasn't yet been committed to the official repo with our current setup, as that would be confusing...
But, it seems Coverity supports additional "streams" where a project can scan different codebases/configurations without directly mixing the results together - whenever the same code/issues exist in multiple streams, it combines the CIDs, but otherwise, allows each stream to exist separately.
I plan to use that approach when we run the 64bit build of Haiku through their software - and can perhaps do the same with other "external" codebases such as this.
On the other hand, it would be a lot easier to just add this tool to the official repo and image for inclusion in the next Coverity scan.
Re: BFS Partition Resizer: Midterm Report
On the other hand, it would be a lot easier to just add this tool to the official repo and image for inclusion in the next Coverity scan.
Sounds good to me. :)
I think yourpalal was referring to current scanning results of the BFS code. If it's possible to get access to those, that would be neat as well.
Re: BFS Partition Resizer: Midterm Report
Yeah, I was thinking of outstanding issues. That said, Coverity is a nice tool to have and if we could get it set up for our GSoC students' work, that could be beneficial!