- Bitcoin now accepted!
- Flattery will get you everything.
- Raising funds for Haiku through Goodsearch
- Debugger: Overview of New Features
- ASLR and DEP implemented
- Package Management: Building Things
- Package Management: The New Season Starts
- NFSv4 client finally merged
- Update 2: Contracts for Package Management
- Google Code-In 2012 Haiku Wrap Up Report
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.