Re: [PATCH] init/do_mounts.c: treat EROFS like EACCES

From: Andrew Morton
Date: Thu Jun 19 2014 - 17:19:57 EST


On Wed, 18 Jun 2014 18:12:44 +0200 Philippe De Muyter <phdm@xxxxxxxxx> wrote:

> some combinations of filesystem and block device (at least vfat on mmc)
> yield -EROFS instead of -EACCES when the device is read-only. Retry
> mounting with MS_RDONLY set, just like for the EACCES case, instead of
> failing directly.
>
> ...
>
> --- a/init/do_mounts.c
> +++ b/init/do_mounts.c
> @@ -394,6 +394,7 @@ retry:
> case 0:
> goto out;
> case -EACCES:
> + case -EROFS:
> flags |= MS_RDONLY;
> goto retry;
> case -EINVAL:

hm, what's going on here. I'd have thought it to be very logical that
file_system_type.mount() would return EROFS if the device is read-only!
But I'm suspecting that there is some convention that the fs is
supposed to return EACCES in this case. So *perhaps* it is vfat-on-mmc
which needs fixing. Dunno.

Al, are you able to shed light?

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/