kernel: add some warnings to the old (built-in) rootfs splitter

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 42806
lede-17.01
Rafał Miłecki 2014-10-06 15:07:54 +00:00
parent a58a4bb580
commit d30e92884e
4 changed files with 12 additions and 7 deletions

View File

@ -125,7 +125,7 @@
int mtd_del_partition(struct mtd_info *master, int partno) int mtd_del_partition(struct mtd_info *master, int partno)
{ {
struct mtd_part *slave, *next; struct mtd_part *slave, *next;
@@ -614,6 +628,117 @@ int mtd_del_partition(struct mtd_info *m @@ -614,6 +628,122 @@ int mtd_del_partition(struct mtd_info *m
} }
EXPORT_SYMBOL_GPL(mtd_del_partition); EXPORT_SYMBOL_GPL(mtd_del_partition);
@ -168,6 +168,11 @@
+ if (split_offset <= 0) + if (split_offset <= 0)
+ return; + return;
+ +
+ if (config_enabled(CONFIG_MTD_SPLIT_SQUASHFS_ROOT))
+ pr_err("Dedicated partitioner didn't create \"rootfs_data\" partition, please fill a bug report!\n");
+ else
+ pr_warn("Support for built-in \"rootfs_data\" splitter will be removed, please use CONFIG_MTD_SPLIT_SQUASHFS_ROOT\n");
+
+ split_size = part->mtd.size - (split_offset - part->offset); + split_size = part->mtd.size - (split_offset - part->offset);
+ printk(KERN_INFO "mtd: partition \"%s\" created automatically, ofs=0x%x, len=0x%x\n", + printk(KERN_INFO "mtd: partition \"%s\" created automatically, ofs=0x%x, len=0x%x\n",
+ ROOTFS_SPLIT_NAME, split_offset, split_size); + ROOTFS_SPLIT_NAME, split_offset, split_size);
@ -243,7 +248,7 @@
/* /*
* This function, given a master MTD object and a partition table, creates * This function, given a master MTD object and a partition table, creates
* and registers slave MTD objects which are bound to the master according to * and registers slave MTD objects which are bound to the master according to
@@ -643,6 +768,7 @@ int add_mtd_partitions(struct mtd_info * @@ -643,6 +773,7 @@ int add_mtd_partitions(struct mtd_info *
mutex_unlock(&mtd_partitions_mutex); mutex_unlock(&mtd_partitions_mutex);
add_mtd_device(&slave->mtd); add_mtd_device(&slave->mtd);

View File

@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
--- a/drivers/mtd/mtdpart.c --- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c
@@ -798,6 +798,30 @@ static struct mtd_part_parser *get_parti @@ -803,6 +803,30 @@ static struct mtd_part_parser *get_parti
#define put_partition_parser(p) do { module_put((p)->owner); } while (0) #define put_partition_parser(p) do { module_put((p)->owner); } while (0)
@ -42,7 +42,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
void register_mtd_parser(struct mtd_part_parser *p) void register_mtd_parser(struct mtd_part_parser *p)
{ {
spin_lock(&part_parser_lock); spin_lock(&part_parser_lock);
@@ -871,6 +895,38 @@ int parse_mtd_partitions(struct mtd_info @@ -876,6 +900,38 @@ int parse_mtd_partitions(struct mtd_info
return ret; return ret;
} }

View File

@ -38,7 +38,7 @@
static inline unsigned long static inline unsigned long
mtd_pad_erasesize(struct mtd_info *mtd, int offset, int len) mtd_pad_erasesize(struct mtd_info *mtd, int offset, int len)
{ {
@@ -709,6 +740,12 @@ static void split_uimage(struct mtd_info @@ -714,6 +745,12 @@ static void split_uimage(struct mtd_info
static void split_firmware(struct mtd_info *master, struct mtd_part *part) static void split_firmware(struct mtd_info *master, struct mtd_part *part)
{ {
@ -51,7 +51,7 @@
if (config_enabled(CONFIG_MTD_UIMAGE_SPLIT)) if (config_enabled(CONFIG_MTD_UIMAGE_SPLIT))
split_uimage(master, part); split_uimage(master, part);
} }
@@ -726,9 +763,12 @@ static void mtd_partition_split(struct m @@ -731,9 +768,12 @@ static void mtd_partition_split(struct m
return; return;
if (!strcmp(part->mtd.name, "rootfs")) { if (!strcmp(part->mtd.name, "rootfs")) {

View File

@ -18,7 +18,7 @@
} }
if (slave->offset == MTDPART_OFS_RETAIN) { if (slave->offset == MTDPART_OFS_RETAIN) {
slave->offset = cur_offset; slave->offset = cur_offset;
@@ -984,6 +982,24 @@ int mtd_is_partition(const struct mtd_in @@ -989,6 +987,24 @@ int mtd_is_partition(const struct mtd_in
} }
EXPORT_SYMBOL_GPL(mtd_is_partition); EXPORT_SYMBOL_GPL(mtd_is_partition);