--- src/mount.c +++ src/mount.c 2008/10/13 14:19:40 @@ -785,6 +785,7 @@ { const struct HXdeque_node *n; struct HXdeque *argv; + struct HXdeque *argv2; hmc_t *ll_password = NULL; int child_exit = 0, cstdin = -1, cstderr = -1; const char *mount_user; @@ -847,13 +848,20 @@ if ((argv = HXdeque_init()) == NULL) misc_log("malloc: %s\n", strerror(errno)); + if ((argv2 = HXdeque_init()) == NULL) + misc_log("malloc: %s\n", strerror(errno)); if (vpt->uses_ssh) for (n = config->command[CMD_FD0SSH]->first; n != NULL; n = n->next) arglist_add(argv, n->ptr, vinfo); for (n = config->command[vpt->type]->first; n != NULL; n = n->next) - arglist_add(argv, n->ptr, vinfo); + arglist_add(argv2, n->ptr, vinfo); + /* + * do a replacement a second time to catch also variables + * specified in the options of a volume + */ + argv = arglist_build(argv2, vinfo); if (vpt->type == CMD_LCLMOUNT && !check_filesystem(config, vpt, vinfo, ll_password))