Messages in this thread | ![/](/images/icornerl.gif) | | From | John Bradford <> | Subject | Re: [PATCH] M68k IDE updates | Date | Wed, 23 Apr 2003 21:19:07 +0100 (BST) |
| |
> > On Mer, 2003-04-23 at 12:27, Richard Zidlicky wrote: > > It seems that Geert=C2=B4 idea would fit neatly into the current IDE=20 > > system. Endianness of on disk data and drive control data are > > clearly different things. A while ago Andre suggested to switch > > the transport based on opcode to make it work, it might be even > > more straightforward to set some flag when the handler is selected > > or take a distinct handler altogether (ide_cmd_type_parser or > > ide_handler_parser). > > Thats over complicating stuff I think. > > > Otoh trying to solve that with loopback would mean new kernels=20 > > wouldn=C2=B4t even see the partition table of old installed harddisks > > on some machines.=20 > > Which is a real pain. I think its the right 2.5 answer. I'm not happy > about breaking that (even if its only for the m68k userbase in 2.4) > either. > > I don't think command parsing is the right place. Turn your IDE layer > "right endian" and most stuff begins to look a lot saner already.=20 > The "fixing" needs to be happening at the top of the IDE layer not > in the driver itself. For 2.5 that ought to be loopback or similar > for 2.4 it makes sense I think to effectively implement an endian > switcher without loopback for compatibility.
Moving byte swapping out of the IDE layer also means that dumping the whole disk to a file will then give you non-byte swapped data, which could then be written back to a disk on another machine without a byte-swapped IDE interface.
It will also allow you to exchange tar archives on raw hard disk devices, and have them readable on non-byte swapped IDE interfaces :-).
John. - 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/
| ![\](/images/icornerr.gif) |