#define DEFAULT_RP_PERCENT 5
/* The default maximum size of reserved pool in bytes */
-#define DEFAULT_MAX_RP_SIZE (512*1024)
+#define DEFAULT_MAX_RP_SIZE (16*1024*1024)
+
+#define UBIFS_ONE_GIGA 1024*1024*1024
/* Default time granularity in nanoseconds */
#define DEFAULT_TIME_GRAN 1000000000
generate_random_uuid(sup->uuid);
main_bytes = (long long)main_lebs * c->leb_size;
- tmp64 = div_u64(main_bytes * DEFAULT_RP_PERCENT, 100);
- if (tmp64 > DEFAULT_MAX_RP_SIZE)
+
+ /*If the size of a volume is bigger than 1G, set rp_size to DEFAULT_MAX_RP_SIZE(16M).*/
+ if (main_bytes >= UBIFS_ONE_GIGA)
tmp64 = DEFAULT_MAX_RP_SIZE;
+ else
+ tmp64 = 0;
+
sup->rp_size = cpu_to_le64(tmp64);
- sup->rp_uid = 9996; //VID_CCCI
+ sup->rp_uid = 10010; //VID_CCCI
sup->ro_compat_version = cpu_to_le32(UBIFS_RO_COMPAT_VERSION);
err = ubifs_write_node(c, sup, UBIFS_SB_NODE_SZ, 0, 0);