Hi,

On Tue, 2011-10-04 at 14:44 -0300, Carlos Maiolino wrote:
> This patch fixes some error handlers, taking
> advantage of glic on most places where an error
> check is needed.
> 
> Signed-off-by: Carlos Maiolino <cmaiol...@redhat.com>
> ---
>  gfs2/mkfs/main_jadd.c |  141 +++++++++++++++++++++---------------------------
>  1 files changed, 62 insertions(+), 79 deletions(-)
> 
> diff --git a/gfs2/mkfs/main_jadd.c b/gfs2/mkfs/main_jadd.c
> index d722d52..6773384 100644
> --- a/gfs2/mkfs/main_jadd.c
> +++ b/gfs2/mkfs/main_jadd.c
> @@ -34,15 +34,21 @@ make_jdata(int fd, const char *value)
>          uint32_t val;
>  
>          err = ioctl(fd, FS_IOC_GETFLAGS, &val);
> -        if (err)
> -                die( _("error doing get flags (%d): %s\n"), err, 
> strerror(errno));
> +        if (err){
> +             perror("GETFLAGS");
> +             exit(EXIT_FAILURE);
> +     }
> +
>          if (strcmp(value, "set") == 0)
>                  val |= FS_JOURNAL_DATA_FL;
>          if (strcmp(value, "clear") == 0)
>                  val &= ~FS_JOURNAL_DATA_FL;
>          err = ioctl(fd, FS_IOC_SETFLAGS, &val);
> -        if (err)
> -                die( _("error doing set flags (%d): %s\n"), err, 
> strerror(errno));
> +
> +        if (err){
> +             perror("SETFLAGS");
> +             exit(EXIT_FAILURE);
> +     }
>  }
>  
>  static int
> @@ -212,10 +218,9 @@ create_new_inode(struct gfs2_sbd *sdp)
>               if (errno == EEXIST) {
>                       error = unlink(name);
>                       if (error)
> -                             die( _("can't unlink %s: %s\n"),
> -                                 name, strerror(errno));
> +                             perror("unlink");
>               } else
> -                     die( _("can't create %s: %s\n"), name, strerror(errno));
> +                     perror("create");
>       }
In this case you should be passing the name that couldn't be created
rather than the string "create" to perror. Otherwise the user won't know
what the message refers to,

Steve.

>       
>       return fd;
> @@ -236,10 +241,8 @@ add_ir(struct gfs2_sbd *sdp)
>               memset(&ir, 0, sizeof(struct gfs2_inum_range));
>               if (write(fd, (void*)&ir, sizeof(struct gfs2_inum_range)) !=
>                   sizeof(struct gfs2_inum_range)) {
> -                     fprintf(stderr, _( "write error: %s from %s:%d: "
> -                             "offset 0\n"), strerror(errno),
> -                             __FUNCTION__, __LINE__);
> -                     exit(-1);
> +                     perror("add_ir");
> +                     exit(EXIT_FAILURE);
>               }
>       }
>       
> @@ -247,9 +250,10 @@ add_ir(struct gfs2_sbd *sdp)
>       
>       sprintf(new_name, "inum_range%u", sdp->md.journals);
>       error = rename2system(sdp, "per_node", new_name);
> -     if (error < 0 && errno != EEXIST)
> -             die( _("can't rename2system %s (%d): %s\n"), 
> -             new_name, error, strerror(errno));
> +     if (error < 0 && errno != EEXIST){
> +             perror("add_ir rename2system");
> +             exit(EXIT_FAILURE);
> +     }
>  }
>  
>  static void 
> @@ -268,10 +272,8 @@ add_sc(struct gfs2_sbd *sdp)
>               memset(&sc, 0, sizeof(struct gfs2_statfs_change));
>               if (write(fd, (void*)&sc, sizeof(struct gfs2_statfs_change)) !=
>                   sizeof(struct gfs2_statfs_change)) {
> -                     fprintf(stderr, _("write error: %s from %s:%d: "
> -                             "offset 0\n"), strerror(errno),
> -                             __FUNCTION__, __LINE__);
> -                     exit(-1);
> +                     perror("add_sc");
> +                     exit(EXIT_FAILURE);
>               }
>       }
>  
> @@ -279,9 +281,10 @@ add_sc(struct gfs2_sbd *sdp)
>       
>       sprintf(new_name, "statfs_change%u", sdp->md.journals);
>       error = rename2system(sdp, "per_node", new_name);
> -     if (error < 0 && errno != EEXIST)
> -             die( _("can't rename2system %s (%d): %s\n"),
> -                 new_name, error, strerror(errno));
> +     if (error < 0 && errno != EEXIST){
> +             perror("add_sc rename2system");
> +             exit(EXIT_FAILURE);
> +     }
>  }
>  
>  static void 
> @@ -307,13 +310,8 @@ add_qc(struct gfs2_sbd *sdp)
>  
>               for (x=0; x<blocks; x++) {
>                       if (write(fd, buf, sdp->bsize) != sdp->bsize) {
> -                             fprintf(stderr, _("write error: %s from %s:%d: "
> -                                     "block %lld (0x%llx)\n"),
> -                                     strerror(errno),
> -                                     __FUNCTION__, __LINE__,
> -                                     (unsigned long long)x,
> -                                     (unsigned long long)x);
> -                             exit(-1);
> +                             perror("add_qc");
> +                             exit(EXIT_FAILURE);
>                       }
>               }
>  
> @@ -327,29 +325,26 @@ add_qc(struct gfs2_sbd *sdp)
>  
>               for (x=0; x<blocks; x++) {
>                       if (write(fd, buf, sdp->bsize) != sdp->bsize) {
> -                             fprintf(stderr, _("write error: %s from %s:%d: "
> -                                     "block %lld (0x%llx)\n"),
> -                                     strerror(errno),
> -                                     __FUNCTION__, __LINE__,
> -                                     (unsigned long long)x,
> -                                     (unsigned long long)x);
> -                             exit(-1);
> +                             perror("add_qc");
> +                             exit(EXIT_FAILURE);
>                       }
>               }
>  
>               error = fsync(fd);
> -             if (error)
> -                     die( _("can't fsync: %s\n"),
> -                         strerror(errno));
> +             if (error){
> +                     perror("add_qc fsync");
> +                     exit(EXIT_FAILURE);
> +             }
>       }
>  
>       close(fd);
>       
>       sprintf(new_name, "quota_change%u", sdp->md.journals);
>       error = rename2system(sdp, "per_node", new_name);
> -     if (error < 0 && errno != EEXIST)
> -             die( _("can't rename2system %s (%d): %s\n"),
> -                 new_name, error, strerror(errno));
> +     if (error < 0 && errno != EEXIST){
> +             perror("add_qc rename2system");
> +             exit(EXIT_FAILURE);
> +     }
>  }
>  
>  static void 
> @@ -357,8 +352,8 @@ gather_info(struct gfs2_sbd *sdp)
>  {
>       struct statfs statbuf;
>       if (statfs(sdp->path_name, &statbuf) < 0) {
> -             die( _("Could not statfs the filesystem %s: %s\n"),
> -                 sdp->path_name, strerror(errno));
> +             perror(sdp->path_name);
> +             exit(EXIT_FAILURE);
>       }
>       sdp->bsize = statbuf.f_bsize;
>  }
> @@ -374,8 +369,8 @@ find_current_journals(struct gfs2_sbd *sdp)
>       sprintf(jindex, "%s/jindex", sdp->metafs_path);
>       dirp = opendir(jindex);
>       if (!dirp) {
> -             die( _("Could not find the jindex directory "
> -                 "in gfs2meta mount! error: %s\n"), strerror(errno));
> +             perror("jindex");
> +             exit(EXIT_FAILURE);
>       }
>       while (dirp) {
>               if ((dp = readdir(dirp)) != NULL) {
> @@ -415,13 +410,8 @@ add_j(struct gfs2_sbd *sdp)
>               memset(buf, 0, sdp->bsize);
>               for (x=0; x<blocks; x++) {
>                       if (write(fd, buf, sdp->bsize) != sdp->bsize) {
> -                             fprintf(stderr, _("write error: %s from %s:%d: "
> -                                     "block %lld (0x%llx)\n"),
> -                                     strerror(errno),
> -                                     __FUNCTION__, __LINE__,
> -                                     (unsigned long long)x,
> -                                     (unsigned long long)x);
> -                             exit(-1);
> +                             perror("add_j");
> +                             exit(EXIT_FAILURE);
>                       }
>               }
>  
> @@ -445,13 +435,8 @@ add_j(struct gfs2_sbd *sdp)
>                       ((struct gfs2_log_header *)buf)->lh_hash = 
> cpu_to_be32(hash);
>  
>                       if (write(fd, buf, sdp->bsize) != sdp->bsize) {
> -                             fprintf(stderr, _("write error: %s from %s:%d: "
> -                                     "block %lld (0x%llx)\n"),
> -                                     strerror(errno),
> -                                     __FUNCTION__, __LINE__,
> -                                     (unsigned long long)x,
> -                                     (unsigned long long)x);
> -                             exit(-1);
> +                             perror("add_j");
> +                             exit(EXIT_FAILURE);
>                       }
>  
>                       if (++seq == blocks)
> @@ -459,18 +444,20 @@ add_j(struct gfs2_sbd *sdp)
>               }
>  
>               error = fsync(fd);
> -             if (error)
> -                     die( _("can't fsync: %s\n"),
> -                         strerror(errno));
> +             if (error){
> +                     perror("add_j fsync");
> +                     exit(EXIT_FAILURE);
> +             }
>       }
>  
>       close(fd);
>       
>       sprintf(new_name, "journal%u", sdp->md.journals);
>       error = rename2system(sdp, "jindex", new_name);
> -     if (error < 0 && errno != EEXIST)
> -             die( _("can't rename2system %s (%d): %s\n"),
> -                 new_name, error, strerror(errno));
> +     if (error < 0 && errno != EEXIST){
> +             perror("add_j rename2system");
> +             exit(EXIT_FAILURE);
> +     }
>  }
>  
>  /**
> @@ -494,30 +481,26 @@ void main_jadd(int argc, char *argv[])
>       verify_arguments(sdp);
>       
>       sdp->path_fd = open(sdp->path_name, O_RDONLY | O_CLOEXEC);
> -     if (sdp->path_fd < 0)
> -             die( _("can't open root directory %s: %s\n"),
> -                 sdp->path_name, strerror(errno));
> +     if (sdp->path_fd < 0){
> +             perror(sdp->path_name);
> +             exit(EXIT_FAILURE);
> +     }
>  
>       if (check_for_gfs2(sdp)) {
> -             if (errno == EINVAL)
> -                     fprintf(stderr, _("Not a valid GFS2 mount point: %s\n"),
> -                                     sdp->path_name);
> -             else
> -                     fprintf(stderr, "%s\n", strerror(errno));
> -             exit(-1);
> +             perror(sdp->path_name);
> +             exit(EXIT_FAILURE);
>       }
>  
>       gather_info(sdp);
>  
>       if (mount_gfs2_meta(sdp)) {
> -             fprintf(stderr, _("Error mounting GFS2 metafs: %s\n"),
> -                             strerror(errno));
> -             exit(-1);
> +             perror("GFS2 metafs");
> +             exit(EXIT_FAILURE);
>       }
>  
>       if (compute_constants(sdp)) {
> -             fprintf(stderr, _("Bad constants (1)\n"));
> -             exit(-1);
> +             perror(_("Bad constants (1)"));
> +             exit(EXIT_FAILURE);
>       }
>       find_current_journals(sdp);
>  


Reply via email to