[PATCH] fs: fat: allow FS and device to have mismatching sector sizes
Simon Glass
sjg at chromium.org
Wed Nov 13 14:39:52 CET 2024
Hi Caleb,
On Tue, 12 Nov 2024 at 21:50, Caleb Connolly <caleb.connolly at linaro.org> wrote:
>
> The Qualcomm Robotics RB1 and RB2 boards feature MMC storage provisioned
> with a 4k sector size GPT, with factory partitions formatted with
> filesystems using 512 byte sector sizes.
>
> Whilst certainly unusual, and really not ideal, this appears to work
> fine in practise. So demote this failure condition to a debug log.
>
Can you please take a look at [1] - this patch was not applied, but I
hit a similar problem.
> Signed-off-by: Caleb Connolly <caleb.connolly at linaro.org>
> ---
> fs/fat/fat.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/fs/fat/fat.c b/fs/fat/fat.c
> index e2570e816768..a84ca301cad1 100644
> --- a/fs/fat/fat.c
> +++ b/fs/fat/fat.c
> @@ -645,13 +645,12 @@ static int get_fs_info(fsdata *mydata)
> mydata->rootdir_sect = mydata->fat_sect + mydata->fatlength * bs.fats;
>
> mydata->sect_size = get_unaligned_le16(bs.sector_size);
> mydata->clust_size = bs.cluster_size;
> - if (mydata->sect_size != cur_part_info.blksz) {
> - log_err("FAT sector size mismatch (fs=%u, dev=%lu)\n",
> + if (mydata->sect_size != cur_part_info.blksz)
> + log_debug("FAT sector size mismatch (fs=%u, dev=%lu)\n",
> mydata->sect_size, cur_part_info.blksz);
> - return -1;
> - }
> +
> if (mydata->clust_size == 0) {
> log_err("FAT cluster size not set\n");
> return -1;
> }
> --
> 2.47.0
>
[1] https://patchwork.ozlabs.org/project/uboot/patch/20230730111516.v2.1.Ia13846500fab3d5a1d5573db11a040d233994fa6@changeid/
More information about the U-Boot
mailing list