mount: print errno on NFS error (again)

This commit is contained in:
Denis Vlasenko
2007-08-03 14:16:24 +00:00
parent f223efbcde
commit 0e2c9fb4e0
5 changed files with 31 additions and 20 deletions

View File

@ -81,7 +81,8 @@ int del_loop(const char *device)
*/
int set_loop(char **device, const char *file, unsigned long long offset)
{
char dev[20], *try;
char dev[LOOP_NAMESIZE];
char *try;
bb_loop_info loopinfo;
struct stat statbuf;
int i, dfd, ffd, mode, rc = -1;
@ -140,14 +141,14 @@ int set_loop(char **device, const char *file, unsigned long long offset)
rc = -1;
}
close(dfd);
try_again:
try_again:
if (*device) break;
}
close(ffd);
if (!rc) {
if (!*device)
*device = xstrdup(dev);
return (mode == O_RDONLY) ? 1 : 0;
return (mode == O_RDONLY); /* 1:ro, 0:rw */
}
return rc;
}

View File

@ -14,6 +14,10 @@ void bb_perror_msg(const char *s, ...)
va_list p;
va_start(p, s);
bb_vperror_msg(s, p);
/* Guard against "<error message>: Success" */
if (!errno)
bb_verror_msg(s, p, NULL);
else
bb_vperror_msg(s, p);
va_end(p);
}

View File

@ -14,7 +14,11 @@ void bb_perror_msg_and_die(const char *s, ...)
va_list p;
va_start(p, s);
bb_vperror_msg(s, p);
/* Guard against "<error message>: Success" */
if (!errno)
bb_verror_msg(s, p, NULL);
else
bb_vperror_msg(s, p);
va_end(p);
xfunc_die();
}