Hi,
we are trying to modify IDE driver as a possible workaround for an
unreliable storage media.
this driver will expose only a part of the disk to file system by reporting
the disk capacity as say real_capacity/4. remaining disk will be hidden from
the file system. in write operation driver will try to write the same data
in all 4 parts of the same disk for redundancy. in read it will hope to find
atleast one copy properly written.
we are using kernel version 2.4.26. what approach do you think would be
appropriate?
Thanks,
Siddhesh
_________________________________________________________________
The all-new MSN Mesenger! Get the coolest emoticons.
http://server1.msn.co.in/sp04/messengerchat/ Share more of yourself!
On Iau, 2004-11-11 at 14:56, Siddhesh Bhadkamkar wrote:
> this driver will expose only a part of the disk to file system by reporting
> the disk capacity as say real_capacity/4. remaining disk will be hidden from
> the file system. in write operation driver will try to write the same data
> in all 4 parts of the same disk for redundancy. in read it will hope to find
> atleast one copy properly written.
>
> we are using kernel version 2.4.26. what approach do you think would be
> appropriate?
The md driver will do most of this for you, but in truth drives are not
laid out physically and generally go wrong all at once or rapidly
develop errors all over the disk.
As a learning exercise then I'd probably start with the md driver
Siddhesh> we are trying to modify IDE driver as a possible workaround
Siddhesh> for an unreliable storage media.
Yuck, don't do that, just use the Linux RAID tools and mirror your
data.
Siddhesh> this driver will expose only a part of the disk to file
Siddhesh> system by reporting the disk capacity as say
Siddhesh> real_capacity/4. remaining disk will be hidden from the file
Siddhesh> system. in write operation driver will try to write the same
Siddhesh> data in all 4 parts of the same disk for redundancy. in read
Siddhesh> it will hope to find atleast one copy properly written.
Use the 'md' raid modules instead. You can divide the disk(s) into
multiple volumes, then mirror/stripe your data across that instead.
If a disk fails, you're toast if you haven't got data on another
disk.
If it's the media that's possibly flaky, then partitioning into
multiple areas and using 'md' to RAID across partitions might help.
Performance will suck though.
If the underlying media is flaky, then you're going to have lots and
lots of problems.
John