Blame nfs-utils-1.1.3-mountd-uuid-stat.patch
|
|
f5b3ef3 |
commit 3a340251597a5b0c579c31d8caf9aa3b53a77016
|
|
|
f5b3ef3 |
Author: David Woodhouse <David.Woodhouse@intel.com>
|
|
|
f5b3ef3 |
Date: Thu Aug 28 11:05:17 2008 -0400
|
|
|
f5b3ef3 |
|
|
|
f5b3ef3 |
Use fsid from statfs for UUID if blkid can't cope (or not used)
|
|
|
f5b3ef3 |
|
|
|
f5b3ef3 |
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
|
|
|
f5b3ef3 |
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
f5b3ef3 |
|
|
|
f5b3ef3 |
diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
|
|
|
f5b3ef3 |
index 23e2344..fa15472 100644
|
|
|
f5b3ef3 |
--- a/utils/mountd/cache.c
|
|
|
f5b3ef3 |
+++ b/utils/mountd/cache.c
|
|
|
f5b3ef3 |
@@ -215,8 +215,17 @@ int get_uuid(char *path, char *uuid, int uuidlen, char *u)
|
|
|
f5b3ef3 |
|
|
|
f5b3ef3 |
if (path) {
|
|
|
f5b3ef3 |
val = get_uuid_blkdev(path);
|
|
|
f5b3ef3 |
- if (!val)
|
|
|
f5b3ef3 |
- return 0;
|
|
|
f5b3ef3 |
+ if (!val) {
|
|
|
f5b3ef3 |
+ struct statfs64 st;
|
|
|
f5b3ef3 |
+
|
|
|
f5b3ef3 |
+ if (statfs64(path, &st))
|
|
|
f5b3ef3 |
+ return 0;
|
|
|
f5b3ef3 |
+ if (!st.f_fsid.__val[0] && !st.f_fsid.__val[1])
|
|
|
f5b3ef3 |
+ return 0;
|
|
|
f5b3ef3 |
+ snprintf(fsid_val, 17, "%08x%08x",
|
|
|
f5b3ef3 |
+ st.f_fsid.__val[0], st.f_fsid.__val[1]);
|
|
|
f5b3ef3 |
+ val = fsid_val;
|
|
|
f5b3ef3 |
+ }
|
|
|
f5b3ef3 |
} else {
|
|
|
f5b3ef3 |
val = uuid;
|
|
|
f5b3ef3 |
}
|