[Ocfs2-tools-devel] [PATCH 4/4] Ocfs2-tools: Fix bug in fswreck to let LALLOC_* prompt codes behave correctly.
Tristan Ye
tristan.ye at oracle.com
Thu Jun 25 19:49:22 PDT 2009
Joel,
I've tested your patch '[PATCH] libocfs2: Prevent endian swapping
from scribbling over memory', it resolves almost all of the failure
fswreck hit in ppc arch, However, some prompt codes in fswreck still
failed with your patch, cause the problem was in fswreck's code.
We don't need to swap the inode's field after reading the block from
disk in fswreck's code, since it has been done by ocfs2_read_inode()
in libocfs2. this patch help following prompt codes survive from failure
in big-endian system.
LALLOC_BM_SIZE
LALLOC_BM_OVERRUN
LALLOC_BM_STRADDL
LALLOC_USED_OVERRUN
LALLOC_CLEAR
Signed-off-by: Tristan Ye <tristan.ye at oracle.com>
---
fswreck/local_alloc.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/fswreck/local_alloc.c b/fswreck/local_alloc.c
index b95efcc..eb9187e 100644
--- a/fswreck/local_alloc.c
+++ b/fswreck/local_alloc.c
@@ -87,10 +87,10 @@ static void create_local_alloc(ocfs2_filesys *fs, uint64_t blkno)
la = &(di->id2.i_lab);
- la->la_bm_off = cpu_to_le32(la_off);
- di->id1.bitmap1.i_total = cpu_to_le32(la_size);
+ la->la_bm_off = la_off;
+ di->id1.bitmap1.i_total = la_size;
di->id1.bitmap1.i_used = 0;
- memset(la->la_bitmap, 0, le16_to_cpu(la->la_size));
+ memset(la->la_bitmap, 0, la->la_size);
ret = ocfs2_write_inode(fs, blkno, buf);
if (ret)
--
1.5.5
More information about the Ocfs2-tools-devel
mailing list