-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
On-demand log-spacemap flush; zpool condense
command
#16747
base: master
Are you sure you want to change the base?
Commits on Nov 13, 2024
-
spa_stats: kstats for unflushed log spacemaps
Sponsored-by: Klara, Inc. Sponsored-by: Wasabi Technology, Inc. Signed-off-by: Rob Norris <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e967723 - Browse repository at this point
Copy the full SHA e967723View commit details -
log_spacemap: extend pool flushall to have "request" and "export" modes
Normally, log spacemaps are flushed out to the metaslabs when the pool is exported. For large logs, this can lead to export taking an inordinate amount of time. This commit adds a "mode" parameter for the log spacemap "flushall" operation, and functions for starting and stopping it in a particular mode. The existing behaviour of flushing everything is now the "export" mode. Then, we add a new "request" mode, that can be triggered externally. This mode differs in that it only flushes spacemaps that were dirtied before the current transaction, stopping when the only dirty ones remaining, if any, are newer. This commit only adds the behaviours and sets up the entry points; the next commit will add something to call them. Sponsored-by: Klara, Inc. Sponsored-by: Wasabi Technology, Inc. Signed-off-by: Rob Norris <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for aa2bcb0 - Browse repository at this point
Copy the full SHA aa2bcb0View commit details -
zpool: add condense verb and wire up to log-spacemap flush
The idea is to have a single command that could signal to any background cleanup task that it should do its work faster, or care less about not getting in the way of user IO, or whatever. This adds the the `zpool condense` command, the `ZFS_IOC_POOL_CONDENSE` ioctl and counters so userspace can get progress. Because the target could be anything, there's no particular unit, just a total number of items to condense and count of how many done. It also adds a `log-spacemap` condense target, which calls the "request log flush" function. Sponsored-by: Klara, Inc. Sponsored-by: Wasabi Technology, Inc. Signed-off-by: Rob Norris <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8205d5a - Browse repository at this point
Copy the full SHA 8205d5aView commit details -
condense: add support for waiting for condense to complete
Sponsored-by: Klara, Inc. Sponsored-by: Wasabi Technology, Inc. Signed-off-by: Rob Norris <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 963af68 - Browse repository at this point
Copy the full SHA 963af68View commit details -
ztest: periodically start/stop log spacemap flush
Sponsored-by: Klara, Inc. Sponsored-by: Wasabi Technology, Inc. Signed-off-by: Rob Norris <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 94b1364 - Browse repository at this point
Copy the full SHA 94b1364View commit details -
zts: add test for log spacemap flushall + zpool condense
Sponsored-by: Klara, Inc. Sponsored-by: Wasabi Technology, Inc. Signed-off-by: Rob Norris <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0aa7b7f - Browse repository at this point
Copy the full SHA 0aa7b7fView commit details