X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fsrc%2Fsecure-mount.c;h=080898f486c4a6ebafdf29c899f2c166f613181d;hb=e3be43e3ee2157a63ea175463629c2433f595854;hp=a7abd19fa4c3c83a80a6fd43830526d1d273b4dd;hpb=daa68ab35cbf20d5e0dad9fa065c0b4673b7a8ff;p=util-vserver.git diff --git a/util-vserver/src/secure-mount.c b/util-vserver/src/secure-mount.c index a7abd19..080898f 100644 --- a/util-vserver/src/secure-mount.c +++ b/util-vserver/src/secure-mount.c @@ -49,6 +49,7 @@ #include #include #include +#include #define MNTPOINT "/etc" @@ -267,6 +268,14 @@ writeStrX(int fd, char const *str) return writeX(fd, str, strlen(str)); } +static inline char const * +getType(struct MountInfo const *mnt) +{ + if (mnt->type==0) return "none"; + else if (strncmp(mnt->type, "ext", 3)==0) return "ufs"; + else return mnt->type; +} + static int updateMtab(struct MountInfo const *mnt, struct Options const *opt) { @@ -301,7 +310,7 @@ updateMtab(struct MountInfo const *mnt, struct Options const *opt) writeStrX(fd, " ")==-1 || writeStrX(fd, mnt->dst)==-1 || writeStrX(fd, " ")==-1 || - writeStrX(fd, mnt->type ? mnt->type : "none")==-1 || + writeStrX(fd, getType(mnt))==-1 || writeStrX(fd, " ")==-1 || writeStrX(fd, mnt->data ? mnt->data : "defaults")==-1 || writeStrX(fd, " 0 0\n")==-1) { @@ -594,6 +603,8 @@ int main(int argc, char *argv[]) return EXIT_FAILURE; } + signal(SIGCHLD, SIG_DFL); + while (1) { int c = getopt_long(argc, argv, "ht:nao:", CMDLINE_OPTIONS, 0); if (c==-1) break;