From 56d318f825099f61370fc696c2a3e8f57bcf198c Mon Sep 17 00:00:00 2001 From: Doug Ledford Date: Fri, 16 Apr 2010 18:16:40 -0400 Subject: Add stub for validation of partition table file during config parsing Signed-off-by: Doug Ledford --- config.c | 6 ++++++ mdadm.h | 1 + util.c | 6 ++++++ 3 files changed, 13 insertions(+) diff --git a/config.c b/config.c index 3242f5f..b429968 100644 --- a/config.c +++ b/config.c @@ -903,6 +903,12 @@ void domainline(char *line) free_domain(de); return; } + if (de->handler->validate(de)) { + fprintf(stderr, Name ": partition table file failed " + "validation.\n"); + free_domain(de); + return; + } } de->next = domain_list; domain_list = de; diff --git a/mdadm.h b/mdadm.h index b1e74db..7b81131 100644 --- a/mdadm.h +++ b/mdadm.h @@ -299,6 +299,7 @@ struct domain_ent; extern struct partition_handler { char *match; /* string we match in mdadm.conf */ + int (*validate)(struct domain_ent *domain); int (*check_table)(int dfd, int verbose, int export, struct domain_ent *domain); int (*write_table)(int dfd, int verbose, int export, diff --git a/util.c b/util.c index 3c8dbcb..211c82d 100644 --- a/util.c +++ b/util.c @@ -1745,6 +1745,11 @@ char *get_devpath_from_devname(char *devname) return NULL; } +static int sfdisk_validate(struct domain_ent *domain) +{ + return 0; +} + static int sfdisk_check_table(int dfd, int verbose, int export, struct domain_ent *domain) { @@ -1759,6 +1764,7 @@ static int sfdisk_write_table(int dfd, int verbose, int export, static struct partition_handler sfdisk_handler = { .match = "sfdisk", + .validate = sfdisk_validate, .check_table = sfdisk_check_table, .write_table = sfdisk_write_table, }; -- cgit