[Ocfs2-tools-devel] [PATCH v2] mount.ocfs2: return -EROFS if file system is readonly
Eric Ren
zren at suse.com
Thu Dec 28 02:49:40 PST 2017
Hi Jun,
On 12/28/2017 06:30 PM, piaojun wrote:
> If metadata is corrupted such as 'invalid inode block', we will get
> -EROFS by calling 'mount()'. In this situation we need fix it by fsck,
> and mount again rather than doing meaningless retry. In addition, an
> indentation problem in 'ocfs2_err.et' is fixed.
>
> Signed-off-by: Jun Piao <piaojun at huawei.com>
> ---
> libocfs2/ocfs2_err.et | 4 ++--
> mount.ocfs2/mount.ocfs2.c | 12 +++++++++---
> 2 files changed, 11 insertions(+), 5 deletions(-)
>
> diff --git a/libocfs2/ocfs2_err.et b/libocfs2/ocfs2_err.et
> index 34cefed..3dc0ce2 100644
> --- a/libocfs2/ocfs2_err.et
> +++ b/libocfs2/ocfs2_err.et
> @@ -168,8 +168,8 @@ ec OCFS2_ET_NO_IONICE,
> ec OCFS2_ET_NO_BACKUP_SUPER,
> "Backup superblock not found"
>
> -ec OCFS2_ET_TOO_MANY_SLOTS,
> - "Too many slots for slot map"
> +ec OCFS2_ET_TOO_MANY_SLOTS,
> + "Too many slots for slot map"
>
> ec OCFS2_ET_CANNOT_INLINE_DATA,
> "Unable to write the data inline"
> diff --git a/mount.ocfs2/mount.ocfs2.c b/mount.ocfs2/mount.ocfs2.c
> index e3d8871..c6e8226 100644
> --- a/mount.ocfs2/mount.ocfs2.c
> +++ b/mount.ocfs2/mount.ocfs2.c
> @@ -434,8 +434,14 @@ int main(int argc, char **argv)
> o2cb_complete_group_join(&cluster, &desc, errno);
> }
> block_signals (SIG_UNBLOCK);
> - com_err(progname, ret, "while mounting %s on %s. Check 'dmesg' "
> - "for more information on this error.", mo.dev, mo.dir);
> + if (ret == -EROFS)
> + com_err(progname, OCFS2_ET_RO_FILESYS, "while mounting %s "
> + "on %s, please try fixing this by fsck.ocfs2 and then "
> + "retry mounting", mo.dev, mo.dir);
> + else
> + com_err(progname, OCFS2_ET_INTERNAL_FAILURE,
> + "while mounting %s on %s. Check 'dmesg' for more "
> + "information on this error.", mo.dev, mo.dir);
The other looks good to me, but why do you change com_error(..., ret,
..) to com_err(..., OCFS2_ET_INTERNAL_FAILURE,...)?
Thanks,
Eric
More information about the Ocfs2-tools-devel
mailing list