aboutsummaryrefslogtreecommitdiff
path: root/src/blocks/fs.c
diff options
context:
space:
mode:
authorFederico Angelilli <code@fedang.net>2024-11-24 19:39:19 +0100
committerFederico Angelilli <code@fedang.net>2024-11-24 19:39:19 +0100
commitdef1e18d86579cf77649d1b8aa596d0877b822bb (patch)
tree0e6deebdef1575b4b74472bc4367b294f7551753 /src/blocks/fs.c
parent76ad6b0d404d40f08b73d90ac5f66564c29feb95 (diff)
Refactor block_change_fn
Diffstat (limited to 'src/blocks/fs.c')
-rw-r--r--src/blocks/fs.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/blocks/fs.c b/src/blocks/fs.c
index 1196c68..a52e491 100644
--- a/src/blocks/fs.c
+++ b/src/blocks/fs.c
@@ -152,12 +152,15 @@ static int block_fs_validate(block_t *block, config_t *config)
int marked = format_remark(&fs->format, block->label, block_fs_options);
if (marked < 0)
errors += -marked;
-
- if (marked == 0) {
- log_warn("Block '%s' does not use any fs option", block->label);
-
- block->update_fn = NULL;
- log_debug("Disabled updates for block '%s'", block->label);
+ else if (marked > 0)
+ block->update_fn = block_fs_update;
+ else {
+ log_warn("Block '%s' does not use any 'fs' option", block->label);
+
+ if (block->update_fn != NULL) {
+ block->update_fn = NULL;
+ log_debug("Disabled updates for block '%s'", block->label);
+ }
}
}