-
Notifications
You must be signed in to change notification settings - Fork 806
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add lfs_fs_grow to enable limited resizing of the filesystem #872
Commits on Aug 17, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 7328527 - Browse repository at this point
Copy the full SHA 7328527View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6dae703 - Browse repository at this point
Copy the full SHA 6dae703View commit details -
Configuration menu - View commit details
-
Copy full SHA for be68122 - Browse repository at this point
Copy the full SHA be68122View commit details -
Add a unit test; currently hanging on final permutation.
Some block-device bound-checks are disabled during superblock search.
Configuration menu - View commit details
-
Copy full SHA for df238eb - Browse repository at this point
Copy the full SHA df238ebView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6de3fc6 - Browse repository at this point
Copy the full SHA 6de3fc6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3d0bcf4 - Browse repository at this point
Copy the full SHA 3d0bcf4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2ebfec7 - Browse repository at this point
Copy the full SHA 2ebfec7View commit details
Commits on Aug 18, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 7521e0a - Browse repository at this point
Copy the full SHA 7521e0aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5caa83f - Browse repository at this point
Copy the full SHA 5caa83fView commit details
Commits on Aug 20, 2023
-
Configuration menu - View commit details
-
Copy full SHA for d6c0c6a - Browse repository at this point
Copy the full SHA d6c0c6aView commit details -
Configuration menu - View commit details
-
Copy full SHA for d6098bd - Browse repository at this point
Copy the full SHA d6098bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 23089d5 - Browse repository at this point
Copy the full SHA 23089d5View commit details
Commits on Sep 3, 2023
-
Revert of refactor lfs_scan_* out of lfs_format
This would result in two passes through the superblock chain during mount, when we can access everything we need to in one.
Configuration menu - View commit details
-
Copy full SHA for 9c23329 - Browse repository at this point
Copy the full SHA 9c23329View commit details
Commits on Sep 12, 2023
-
Adopted erase_size/erase_count config in test block-devices/runners
In separating the configuration of littlefs from the physical geometry of the underlying device, we can no longer rely solely on lfs_config to contain all of the information necessary for the simulated block devices we use for testing. This adds a new lfs_*bd_config struct for each of the block devices, and new erase_size/erase_count fields. The erase_* name was chosen since these reflect the (simulated) physical erase size and count of erase-sized blocks, unlike the block_* variants which represent logical block sizes used for littlefs's bookkeeping. It may be worth adopting erase_size/erase_count in littlefs's config at some point in the future, but at the moment doesn't seem necessary. Changing the lfs_bd_config structs to be required is probably a good idea anyways, as it moves us more towards separating the bds from littlefs. Though we can't quite get rid of the lfs_config parameter because of the block-device API in lfs_config. Eventually it would be nice to get rid of it, but that would require API breakage.
Configuration menu - View commit details
-
Copy full SHA for 027331b - Browse repository at this point
Copy the full SHA 027331bView commit details -
Added a couple mixed/unknown block_count tests
These were cherry-picked from some previous work on a related feature.
Configuration menu - View commit details
-
Copy full SHA for 127d84b - Browse repository at this point
Copy the full SHA 127d84bView commit details -
Tweaked lfs_fsinfo block_size/block_count fields
Mainly to match superblock ordering and emphasize these are logical blocks.
Configuration menu - View commit details
-
Copy full SHA for 2c222af - Browse repository at this point
Copy the full SHA 2c222afView commit details -
Added lfs_fs_grow for growing the filesystem to a different block_count
The initial implementation for this was provided by kaetemi, originally as a mount flag. However, it has been modified here to be self-contained in an explicit runtime function that can be called after mount. The reasons for an explicit function: 1. lfs_mount stays a strictly readonly operation, and avoids pulling in all of the write machinery. 2. filesystem-wide operations such as lfs_fs_grow can be a bit risky, and irreversable. The action of growing the filesystem should be very intentional. --- One concern with this change is that this will be the first function that changes metadata in the superblock. This might break tools that expect the first valid superblock entry to contain the most recent metadata, since only the last superblock in the superblock chain will contain the updated metadata.
Configuration menu - View commit details
-
Copy full SHA for 23505fa - Browse repository at this point
Copy the full SHA 23505faView commit details