aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/slot_map.c
diff options
context:
space:
mode:
authorJoel Becker <joel.becker@oracle.com>2008-02-01 14:59:05 -0500
committerMark Fasheh <mfasheh@suse.com>2008-04-18 11:56:03 -0400
commitfb86b1f07120b66769a39c445da5c4300069dd44 (patch)
tree4d97d78e2c703b289801a91e3a480fa1620914a8 /fs/ocfs2/slot_map.c
parentfc881fa0d59596c02f8707b5572567c369d4789a (diff)
ocfs2: Define the contents of the slot_map file.
The slot map file is merely an array of __le16. Wrap it in a structure for cleaner reference. Signed-off-by: Joel Becker <joel.becker@oracle.com> Signed-off-by: Mark Fasheh <mfasheh@suse.com>
Diffstat (limited to 'fs/ocfs2/slot_map.c')
-rw-r--r--fs/ocfs2/slot_map.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/fs/ocfs2/slot_map.c b/fs/ocfs2/slot_map.c
index 65a61bfa3f2e..e7e7a74156b1 100644
--- a/fs/ocfs2/slot_map.c
+++ b/fs/ocfs2/slot_map.c
@@ -85,17 +85,17 @@ static void ocfs2_set_slot(struct ocfs2_slot_info *si,
85static void ocfs2_update_slot_info(struct ocfs2_slot_info *si) 85static void ocfs2_update_slot_info(struct ocfs2_slot_info *si)
86{ 86{
87 int i; 87 int i;
88 __le16 *disk_info; 88 struct ocfs2_slot_map *sm;
89 89
90 /* we don't read the slot block here as ocfs2_super_lock 90 /* we don't read the slot block here as ocfs2_super_lock
91 * should've made sure we have the most recent copy. */ 91 * should've made sure we have the most recent copy. */
92 disk_info = (__le16 *) si->si_bh[0]->b_data; 92 sm = (struct ocfs2_slot_map *)si->si_bh[0]->b_data;
93 93
94 for (i = 0; i < si->si_num_slots; i++) { 94 for (i = 0; i < si->si_num_slots; i++) {
95 if (le16_to_cpu(disk_info[i]) == (u16)OCFS2_INVALID_SLOT) 95 if (le16_to_cpu(sm->sm_slots[i]) == (u16)OCFS2_INVALID_SLOT)
96 ocfs2_invalidate_slot(si, i); 96 ocfs2_invalidate_slot(si, i);
97 else 97 else
98 ocfs2_set_slot(si, i, le16_to_cpu(disk_info[i])); 98 ocfs2_set_slot(si, i, le16_to_cpu(sm->sm_slots[i]));
99 } 99 }
100} 100}
101 101
@@ -135,15 +135,16 @@ static int ocfs2_update_disk_slots(struct ocfs2_super *osb,
135 struct ocfs2_slot_info *si) 135 struct ocfs2_slot_info *si)
136{ 136{
137 int status, i; 137 int status, i;
138 __le16 *disk_info = (__le16 *) si->si_bh[0]->b_data; 138 struct ocfs2_slot_map *sm;
139 139
140 spin_lock(&osb->osb_lock); 140 spin_lock(&osb->osb_lock);
141 sm = (struct ocfs2_slot_map *)si->si_bh[0]->b_data;
141 for (i = 0; i < si->si_num_slots; i++) { 142 for (i = 0; i < si->si_num_slots; i++) {
142 if (si->si_slots[i].sl_valid) 143 if (si->si_slots[i].sl_valid)
143 disk_info[i] = 144 sm->sm_slots[i] =
144 cpu_to_le16(si->si_slots[i].sl_node_num); 145 cpu_to_le16(si->si_slots[i].sl_node_num);
145 else 146 else
146 disk_info[i] = cpu_to_le16(OCFS2_INVALID_SLOT); 147 sm->sm_slots[i] = cpu_to_le16(OCFS2_INVALID_SLOT);
147 } 148 }
148 spin_unlock(&osb->osb_lock); 149 spin_unlock(&osb->osb_lock);
149 150