- 26 May, 2003 40 commits
-
-
Neil Brown authored
Arrays with type-1 superblock can have more than MD_SB_DISKS, so we remove the dependancy on that number from raid0, replacing several fixed sized arrays with one dynamically allocated array.
-
Neil Brown authored
One embeded array gets moved to end of structure and sized dynamically.
-
Neil Brown authored
Multipath has a dependancy on MD_SB_DISKS which is no longer authoritative. We change it to use a separately allocated array.
-
Neil Brown authored
To cope with a raid0 array with differing sized devices, raid0 divides an array into "strip zones". The first zone covers the start of all devices, upto an offset equal to the size of the smallest device. The second strip zone covers the remaining devices upto the size of the next smallest size, etc. In order to determing which strip zone a given address is in, the array is logically divided into slices the size of the smallest zone, and a 'hash' table is created listing the first and, if relevant, second zone in each slice. As the smallest slice can be very small (imagine an array with a 76G drive and a 75.5G drive) this hash table can be rather large. With this patch, we limit the size of the hash table to one page, at the possible cost of making several probes into the zone list before we find the correct zone. We also cope with the possibility that a zone could be larger than a 32bit sector address would allow.
-
Neil Brown authored
When starting an array fails, we have to tear it down, but in some circumstances (particularly autostart_array) the reference count will be 3, so do_md_stop will fail. With this patch we only worry about the number of users is the array has been fully started.
-
Neil Brown authored
raid0 currently uses vmalloc instead of kmalloc. This patch changes to kmalloc. There is one allocation that can occasionally be very large - the hash_table. A subsequent patch will address this issue.
-
Neil Brown authored
-
Neil Brown authored
Instead of testing last_used (which could change in unusual circumstances) we test against the bdev that we read frmo, and don't write back to there.
-
Neil Brown authored
If two drives both fail during a write request, raid5 doesn't cope properly and will eventually oops. With this patch, blocks that have already been 'written' are failed when double drive failure is noticed, as well as blocks that are about to be written.
-
Neil Brown authored
Sometimes raid0 and linear are required to take a single page bio that spans two devices. We use bio_split to split such a bio into two. The the same time, bio.h is included by linux/raid/md.h so we don't included it elsewhere anymore. We also modify the mergeable_bvec functions to allow a bvec that doesn't fit if it is the first bvec to be added to the bio, and be careful never to return a negative length from a bvec_mergable funciton.
-
Neil Brown authored
-
Alexander Viro authored
OK, that's it - no callout drivers left, so we drop the warning from tty_open() and kill the code that handles them in /proc/tty/drivers.
-
Alexander Viro authored
misc cleanup - switched to standard constant names for .subtype in the drivers that had private equivalents, removed unused ->callout_termios and friends from the last places where they were defined.
-
Alexander Viro authored
callout removal: isdn
-
Alexander Viro authored
callout removal: cris
-
Alexander Viro authored
callout removal: simserial
-
Alexander Viro authored
callout removal: mips
-
Alexander Viro authored
callout removal: vacserial
-
Alexander Viro authored
callout removal: sicc
-
Alexander Viro authored
callout removal: 8260_uart
-
Alexander Viro authored
callout removal: 8xx_uart
-
Alexander Viro authored
callout removal: amiserial
-
Alexander Viro authored
callout removal: cyclades
-
Alexander Viro authored
callout removal: dz
-
Alexander Viro authored
callout removal: epca
-
Alexander Viro authored
callout removal: esp
-
Alexander Viro authored
callout removal: ip2
-
Alexander Viro authored
callout removal: moxa
-
Alexander Viro authored
callout removal: mxser
-
Alexander Viro authored
callout removal: pcxx
-
Alexander Viro authored
callout removal: rocket
-
Alexander Viro authored
callout removal: serial167
-
Alexander Viro authored
callout removal: synclink
-
Alexander Viro authored
callout removal: synclinkmp
-
Alexander Viro authored
callout removal: synclink_cs
-
Alexander Viro authored
callout removal: macserial
-
Alexander Viro authored
callout removal: pc300
-
Alexander Viro authored
callout removal: chdlc
-
Alexander Viro authored
callout removal: 68328
-
Alexander Viro authored
callout removal: isicom
-