Messages in this thread |  | | Date | Tue, 4 Sep 2001 08:50:23 -0400 | From | Jeff Mahoney <> | Subject | Re: [SOLVED + PATCH]: documented Oops running big-endian reiserfs on parisc architecture |
| |
On Tue, Sep 04, 2001 at 11:44:30AM +0200, Andi Kleen wrote: > Jeff Mahoney <jeffm@suse.com> writes: > > > > I did kick around the idea of making those macros the default accessors for > > the deh_state member (which is the only place they're used), but it unfairly > > penalizes arches that don't need them. > > On archs that don't need them {get,put}_unaligned should be just normal > assignments. They are certainly on i386.
Sorry, I guess I wasn't clear.
When I mentioned "make those macros the default ..", I was referring to the reiserfs-defined macros, not the asm/unaligned.h macros.
In my previous message, I had mentioned that the get/put _unaligned macros from asm/unaligned.h don't work in all cases. Specifically, the S/390 (and S/390x) versions won't work with ReiserFS, since they're nothing more than a normal access/mutate put into a compatible macro. Through testing on the S/390{,x}, I found that using the reiserfs-defined unaligned macros did the trick. The only place these reiserfs-defined macros are used is to access/mutate the reiserfs_de_head->deh_state member, which contains flags for the on-disk directory entry representation. Are the S/390 asm/unaligned.h versions broken, or is the ReiserFS code doing something not planned for? It's a 16-bit member, at a 16-bit alignment in the structure. The structure itself need not be aligned in any particular manner as it is read directly from disk, and is a packed structure.
-Jeff
-- Jeff Mahoney | "Bill Gates is a monocle and a Persian cat away jeffm@suse.com | from being the villain in a James Bond movie." jeffm@csh.rit.edu | -- Dennis Miller - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |