2003-07-31 14:36:51

by Oleg Drokin

[permalink] [raw]
Subject: [PATCH] [2.5] reiserfs: fix savelinks on bigendian arches

Hello!

This small patch fixes a savelinks problem on bigendian platforms, where
savelinks were not working at all because of incorrect cpu->disk endianness conversion.
Savelinks are used on reiserfs to remember "truncate" and "unlink" events
so that if crash happens in the middle of truncate/unlink, we do not endup with
lost or half truncated files.
The patch is against 2.6.0-test2

===== fs/reiserfs/super.c 1.66 vs edited =====
--- 1.66/fs/reiserfs/super.c Sat Jun 21 00:16:06 2003
+++ edited/fs/reiserfs/super.c Thu Jul 31 18:05:37 2003
@@ -298,7 +298,7 @@
}

/* body of "save" link */
- link = cpu_to_le32 (INODE_PKEY (inode)->k_dir_id);
+ link = INODE_PKEY (inode)->k_dir_id;

/* put "save" link inot tree */
retval = reiserfs_insert_item (th, &path, &key, &ih, (char *)&link);