Hi,

looks good to me,

Steve.

On Fri, 2012-02-17 at 15:56 +0000, Andrew Price wrote:
> Currently gfs2_edit complains that it doesn't know what 'master' means
> when it can't find the master directory. This patch catches the case
> where the master directory hasn't been found and reports the error more
> clearly to the user. It also updates a terse 'out of space' error
> message in blk_alloc_i to be more clear.
> 
> rhbz#742293
> 
> Signed-off-by: Andrew Price <anpr...@redhat.com>
> ---
>  gfs2/edit/hexedit.c   |   10 +++++++---
>  gfs2/libgfs2/fs_ops.c |    2 +-
>  2 files changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/gfs2/edit/hexedit.c b/gfs2/edit/hexedit.c
> index 4b992de..69d1940 100644
> --- a/gfs2/edit/hexedit.c
> +++ b/gfs2/edit/hexedit.c
> @@ -1700,10 +1700,14 @@ uint64_t check_keywords(const char *kword)
>       else if (!strcmp(kword, "root") || !strcmp(kword, "rootdir"))
>               blk = sbd.sd_sb.sb_root_dir.no_addr;
>       else if (!strcmp(kword, "master")) {
> -             if (!sbd.gfs1)
> -                     blk = sbd.sd_sb.sb_master_dir.no_addr;
> -             else
> +             if (sbd.gfs1)
>                       fprintf(stderr, "This is GFS1; there's no master 
> directory.\n");
> +             else if (!sbd.sd_sb.sb_master_dir.no_addr) {
> +                     fprintf(stderr, "GFS2 master directory not found on 
> %s\n",
> +                                                               
> sbd.device_name);
> +                     exit(-1);
> +             } else
> +                     blk = sbd.sd_sb.sb_master_dir.no_addr;
>       }
>       else if (!strcmp(kword, "jindex")) {
>               if (sbd.gfs1)
> diff --git a/gfs2/libgfs2/fs_ops.c b/gfs2/libgfs2/fs_ops.c
> index def6f80..a72394f 100644
> --- a/gfs2/libgfs2/fs_ops.c
> +++ b/gfs2/libgfs2/fs_ops.c
> @@ -137,7 +137,7 @@ static uint64_t blk_alloc_i(struct gfs2_sbd *sdp, 
> unsigned int type)
>       }
>  
>       if (n == NULL) {
> -             fprintf(stderr, "out of space\n");
> +             fprintf(stderr, "Not enough space available on device\n");
>               exit(1);
>       }
>  


Reply via email to