From ec16220910f0bf1bf2b8e1d50e78df7da11d8b1e Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Thu, 28 Aug 2008 11:07:53 -0400 Subject: [PATCH] Stop exportfs warning about needing fsid, when we actually have one Signed-off-by: David Woodhouse Signed-off-by: Steve Dickson --- utils/exportfs/exportfs.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/utils/exportfs/exportfs.c b/utils/exportfs/exportfs.c index 18dfe5a..fec2571 100644 --- a/utils/exportfs/exportfs.c +++ b/utils/exportfs/exportfs.c @@ -12,6 +12,7 @@ #include #endif +#include #include #include #include @@ -388,6 +389,8 @@ validate_export(nfs_export *exp) */ struct stat stb; char *path = exp->m_export.e_path; + struct statfs64 stf; + int fs_has_fsid = 0; if (stat(path, &stb) < 0) { fprintf(stderr, "exportfs: Warning: %s does not exist\n", @@ -403,7 +406,12 @@ validate_export(nfs_export *exp) if (!can_test()) return; - if ((exp->m_export.e_flags & NFSEXP_FSID) || exp->m_export.e_uuid) { + if (!statfs64(path, &stf) && + (stf.f_fsid.__val[0] || stf.f_fsid.__val[1])) + fs_has_fsid = 1; + + if ((exp->m_export.e_flags & NFSEXP_FSID) || exp->m_export.e_uuid || + fs_has_fsid) { if ( !test_export(path, 1)) { fprintf(stderr, "exportfs: Warning: %s does not " "support NFS export.\n", -- 2.39.5