X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Futils%2Fmount_utils_ldiskfs.c;h=54b62fe94740805d5311d3dfb437e22044a0d828;hb=9806eb0efdba6d815808f53ada4423850f4493f7;hp=2937a1bdddbae5f108629bd5fa6037cc5ceb3289;hpb=4a0ec1d7621cc42e3139d067969e37b8285f7c06;p=fs%2Flustre-release.git diff --git a/lustre/utils/mount_utils_ldiskfs.c b/lustre/utils/mount_utils_ldiskfs.c index 2937a1b..54b62fe 100644 --- a/lustre/utils/mount_utils_ldiskfs.c +++ b/lustre/utils/mount_utils_ldiskfs.c @@ -93,8 +93,11 @@ extern char *progname; #define DUMMY_FILE_NAME_LEN 25 #define EXT3_DIRENT_SIZE DUMMY_FILE_NAME_LEN +static void append_unique(char *buf, char *prefix, char *key, char *val, + size_t maxbuflen); + /* - * Concatenate context of the temporary mount point iff selinux is enabled + * Concatenate context of the temporary mount point if selinux is enabled */ #ifdef HAVE_SELINUX static void append_context_for_mount(char *mntpt, struct mkfs_opts *mop) @@ -109,8 +112,9 @@ static void append_context_for_mount(char *mntpt, struct mkfs_opts *mop) } if (fcontext != NULL) { - strcat(mop->mo_ldd.ldd_mount_opts, ",context="); - strcat(mop->mo_ldd.ldd_mount_opts, fcontext); + append_unique(mop->mo_ldd.ldd_mount_opts, + ",", "context", fcontext, + sizeof(mop->mo_ldd.ldd_mount_opts)); freecon(fcontext); } } @@ -549,8 +553,9 @@ static void append_unique(char *buf, char *prefix, char *key, char *val, strscat(buf, key, maxbuflen); if (val != NULL) { - strscat(buf, "=", maxbuflen); + strscat(buf, "=\"", maxbuflen); strscat(buf, val, maxbuflen); + strscat(buf, "\"", maxbuflen); } } }