aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/support/uuid.c
diff options
context:
space:
mode:
authorNathan Scott <nathans@sgi.com>2006-03-13 21:24:46 -0500
committerNathan Scott <nathans@sgi.com>2006-03-13 21:24:46 -0500
commita780143ea53d26362b7cfb6666c8d04fb989bb7a (patch)
tree7c42fcbc93036dfbff3cc172bec5d152ab1deedc /fs/xfs/support/uuid.c
parente8234a6871aa0de1ed0aeeecb5230ecf3ab414e2 (diff)
[XFS] UUID endianess fix. uu_timelow is a 32bit field and needs to be
swapped with be32_to_cpu. SGI-PV: 943272 SGI-Modid: xfs-linux-melb:xfs-kern:25232a Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nathan Scott <nathans@sgi.com>
Diffstat (limited to 'fs/xfs/support/uuid.c')
-rw-r--r--fs/xfs/support/uuid.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/fs/xfs/support/uuid.c b/fs/xfs/support/uuid.c
index a3d565a67734..e157015c70ff 100644
--- a/fs/xfs/support/uuid.c
+++ b/fs/xfs/support/uuid.c
@@ -21,13 +21,6 @@ static mutex_t uuid_monitor;
21static int uuid_table_size; 21static int uuid_table_size;
22static uuid_t *uuid_table; 22static uuid_t *uuid_table;
23 23
24void
25uuid_init(void)
26{
27 mutex_init(&uuid_monitor);
28}
29
30
31/* IRIX interpretation of an uuid_t */ 24/* IRIX interpretation of an uuid_t */
32typedef struct { 25typedef struct {
33 __be32 uu_timelow; 26 __be32 uu_timelow;
@@ -50,7 +43,7 @@ uuid_getnodeuniq(uuid_t *uuid, int fsid [2])
50 43
51 fsid[0] = (be16_to_cpu(uup->uu_clockseq) << 16) | 44 fsid[0] = (be16_to_cpu(uup->uu_clockseq) << 16) |
52 be16_to_cpu(uup->uu_timemid); 45 be16_to_cpu(uup->uu_timemid);
53 fsid[1] = be16_to_cpu(uup->uu_timelow); 46 fsid[1] = be32_to_cpu(uup->uu_timelow);
54} 47}
55 48
56void 49void
@@ -139,3 +132,9 @@ uuid_table_remove(uuid_t *uuid)
139 ASSERT(i < uuid_table_size); 132 ASSERT(i < uuid_table_size);
140 mutex_unlock(&uuid_monitor); 133 mutex_unlock(&uuid_monitor);
141} 134}
135
136void
137uuid_init(void)
138{
139 mutex_init(&uuid_monitor);
140}