#include "mountd.h"
#include "xmalloc.h"
#include "fsloc.h"
+#include "pseudoflavors.h"
#ifdef USE_BLKID
#include "blkid/blkid.h"
release_replicas(servers);
}
+static void write_secinfo(FILE *f, struct exportent *ep)
+{
+ struct sec_entry *p;
+
+ for (p = ep->e_secinfo; p->flav; p++)
+ ; /* Do nothing */
+ if (p == ep->e_secinfo) {
+ /* There was no sec= option */
+ return;
+ }
+ qword_print(f, "secinfo");
+ qword_printint(f, p - ep->e_secinfo);
+ for (p = ep->e_secinfo; p->flav; p++) {
+ qword_printint(f, p->flav->fnum);
+ qword_printint(f, p->flags);
+ }
+
+}
+
static int dump_to_cache(FILE *f, char *domain, char *path, struct exportent *exp)
{
qword_print(f, domain);
qword_printint(f, exp->e_anongid);
qword_printint(f, exp->e_fsid);
write_fsloc(f, exp, path);
+ write_secinfo(f, exp);
#if USE_BLKID
if (exp->e_uuid == NULL) {
char u[16];
"Cannot export %s, possibly unsupported filesystem"
" or fsid= required", path);
dump_to_cache(f, dom, path, NULL);
- } else
- mountlist_add(dom, path);
+ }
} else {
dump_to_cache(f, dom, path, NULL);
}
"Cannot export %s, possibly unsupported filesystem or"
" fsid= required", exp->e_path);
}
- mountlist_add(domain, exp->e_path);
while (err == 0 && (exp->e_flags & NFSEXP_CROSSMOUNT) && path) {
/* really an 'if', but we can break out of