Messages in this thread Patch in this message | | | Subject | Re: [PATCH] UBIFS: compute KSA size and store in superblock | From | Artem Bityutskiy <> | Date | Fri, 25 May 2012 16:24:31 +0300 |
| |
On Fri, 2012-05-25 at 15:10 +0200, Joel Reardon wrote: > This patch makes the super block reserve space for the KSA. It computes the > number of KSA LEBs and adds the ksa_lebs to on-medium superblock. The value is > read off the media. The decision to use a KSA is controlled by use_ubifsec > switch, also added to the superblock, ubifs_info, and is controlled as a mount > option. > > This is tested by creating a drive and checking the mount debug output. The > number of LEBS assigned during create_default_filesystem was changed to ensure > that remounting does infact read the old value. When the use_ubifsec option > was not enabled, no LEBs were assigned. Integck was run and the drive was > filled to capacity. The LEBs in the KSA were not used when filled. > > Signed-off-by: Joel Reardon <reardonj@inf.ethz.ch>
I do not have to time to review it now, but please, make sure that the KSA size is according to 'max_leb_cnt' (see the --max-leb-cnt of the mkfs.ubifs tool). Also, think about this use-case in general: you have UBI volume of size X, then the volume is resized to Y > X, then mounted - UBIFS should work and resize itself to Y, up to the 'max_leb_cnt'. If Y > 'max_leb_cnt', we resize only to 'max_leb_cnt'.
> struct ubifs_sb_node { > struct ubifs_ch ch; > @@ -649,7 +651,9 @@ struct ubifs_sb_node { > __le32 time_gran; > __u8 uuid[16]; > __le32 ro_compat_version; > - __u8 padding2[3968]; > + __le32 ksa_lebs; > + __u8 use_ubifsec;
If it is only one bit, document that only one bit (LSB?) is used. In the future someone can add more bits there, and rename it, theoretically (unlikely though).
-- Best Regards, Artem Bityutskiy [unhandled content-type:application/pgp-signature] | |