put a size limit on rb532 cf partitions
authorFelix Fietkau <nbd@openwrt.org>
Fri, 16 Jun 2006 05:27:39 +0000 (05:27 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Fri, 16 Jun 2006 05:27:39 +0000 (05:27 +0000)
SVN-Revision: 3960

openwrt/target/linux/rb532-2.6/patches/130-custom_partitions.patch

index 8aabd66d0cbddb4a105895c7fc078218ac2533b4..e4b332703ae003b25b52eb893b0688ccbdd13b9a 100644 (file)
@@ -49,7 +49,7 @@ diff -urN linux.old/fs/partitions/Makefile linux.dev/fs/partitions/Makefile
 diff -urN linux.old/fs/partitions/openwrt.c linux.dev/fs/partitions/openwrt.c
 --- linux.old/fs/partitions/openwrt.c  1970-01-01 01:00:00.000000000 +0100
 +++ linux.dev/fs/partitions/openwrt.c  2006-06-15 01:27:17.000000000 +0200
-@@ -0,0 +1,246 @@
+@@ -0,0 +1,249 @@
 +/*
 + *  fs/partitions/openwrt.c
 + *
@@ -285,6 +285,8 @@ diff -urN linux.old/fs/partitions/openwrt.c linux.dev/fs/partitions/openwrt.c
 +                      printk(" >");
 +                      continue;
 +              }
++              if ((start + size) > get_capacity(bdev->bd_disk))
++                      size = get_capacity(bdev->bd_disk) - start;
 +              last_block = start + size;
 +              put_partition(state, slot, start, size);
 +      }
@@ -296,6 +298,7 @@ diff -urN linux.old/fs/partitions/openwrt.c linux.dev/fs/partitions/openwrt.c
 +      put_dev_sector(sect);
 +      return 1;
 +}
++
 diff -urN linux.old/fs/partitions/openwrt.h linux.dev/fs/partitions/openwrt.h
 --- linux.old/fs/partitions/openwrt.h  1970-01-01 01:00:00.000000000 +0100
 +++ linux.dev/fs/partitions/openwrt.h  2006-06-15 01:27:17.000000000 +0200