summaryrefslogtreecommitdiffstats
path: root/utils/mountd
diff options
context:
space:
mode:
authorDavid Woodhouse <David.Woodhouse@intel.com>2008-08-28 10:29:54 -0400
committerSteve Dickson <steved@redhat.com>2008-08-28 10:29:54 -0400
commit0ae97c5b87a56870e74a74ae50aeb2ae0e496907 (patch)
tree5b7641804cac2adee510efd507cbd6859d1059b0 /utils/mountd
parent86c3a79a108091fe08869a887438cc2d4e1126ed (diff)
downloadnfs-utils-0ae97c5b87a56870e74a74ae50aeb2ae0e496907.tar.gz
nfs-utils-0ae97c5b87a56870e74a74ae50aeb2ae0e496907.tar.xz
nfs-utils-0ae97c5b87a56870e74a74ae50aeb2ae0e496907.zip
Fix handling of explicit uuid
Fix a couple of bugs which show up if you try to explicitly set a 16-byte UUID when exporting a file system. First, exportfs cuts the first two bytes off the UUID and writes something invalid to etab. Second, mountd writes the _ascii_ form of the UUID to the kernel, instead of converting it to hex. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Steve Dickson <steved@redhat.com>
Diffstat (limited to 'utils/mountd')
-rw-r--r--utils/mountd/cache.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
index 609c6e3..2ebdd45 100644
--- a/utils/mountd/cache.c
+++ b/utils/mountd/cache.c
@@ -592,8 +592,10 @@ static int dump_to_cache(FILE *f, char *domain, char *path, struct exportent *ex
qword_printhex(f, u, 16);
}
} else {
+ char u[16];
+ get_uuid(NULL, exp->e_uuid, 16, u);
qword_print(f, "uuid");
- qword_printhex(f, exp->e_uuid, 16);
+ qword_printhex(f, u, 16);
}
#endif
}