summaryrefslogtreecommitdiff
path: root/include/linux/raid
AgeCommit message (Collapse)Author
2002-06-18[PATCH] md 10 of 22 - Remove nb_dev from mddev_sNeil Brown
The nb_dev field is not needed. Most uses are the test if it is zero or not, and they can be replaced by tests on the emptiness of the disks list. Other uses are for iterating through devices in numerical order and it makes the code clearer (IMO) to unroll the devices into an array first (which has to be done at some stage anyway) and then walk that array. This makes ITERATE_RDEV_ORDERED un-necessary. Also remove the "name" field which is never used.
2002-06-18[PATCH] md 8 of 22 - Discard md_make_request in favour of per-personality ↵Neil Brown
make_request functions. As we now have per-device queues, we don't need a common make_request function that dispatches, we can dispatch directly. Each *_make_request function is changed to take a request_queue_t from which it extract the mddev that it needs, and to deduce the "rw" flag directly from the bio.
2002-06-18[PATCH] md 6 of 22 - Discard "param" from mddev structureNeil Brown
It isn't needed. Only the chunksize is used, and it can be found in the superblock.
2002-06-18[PATCH] md 2 of 22 - Make device plugging work for md/raid5Neil Brown
We embed a request_queue_t in the mddev structure and so have a separate one for each mddev. This is used for plugging (in raid5). Given this embeded request_queue_t, md_make_request no-longer needs to make from device number to mddev, but can map from the queue to the mddev instead.
2002-06-17[PATCH] take bio.h out of highmem.hAndrew Morton
highmem.h includes bio.h, so just about every compilation unit in the kernel gets to process bio.h. The patch moves the BIO-related functions out of highmem.h and into bio-related headers. The nested include is removed and all files which need to include bio.h now do so.
2002-06-02[PATCH] documentation and tq_disk removalsJens Axboe
This should be the last of tq_disk, at least the trivial ones. md still has some queue_task references, I'll let Ingo/Neil clean those up. suspend is still broken, it was broken before too though. I guess Pavel will want to fix that. Also, I've documented the plug functions.
2002-05-19[PATCH] get rid of <linux/locks.h>Christoph Hellwig
The lock.h header contained some hand-crafted lcoking routines from the pre-SMP days. In 2.5 only lock_super/unlock_super are left, guarded by a number of completly unrelated (!) includes. This patch moves lock_super/unlock_super to fs.h, which defined struct super_block that is needed for those to operate it, removes locks.h and updates all caller to not include it and add the missing, previously nested includes where needed.
2002-05-17[PATCH] Initial md/raid5 support for 2.5 (with bio)Neil Brown
With this patch raid5 works. There is still some more work to though. - uses bio instead of buffer_head - stripe cache is now a fixed size. If read requests are smaller, we read the whole block anyway If write reqeusts are smaller, we pre-read. - stripe_head is now variable sized with an array of structures at the end. We allocate extra space depending on how many devices are in the array. stripe_head has it's very own slab cache. - store and use bdev for each device in array by-passing the cache for reads is currently disabled. I need to think through the implications (and implementation) of allowing large bion that are larger than the stripe cache to go directly to the device (if it isn't failed of-course).
2002-05-17[PATCH] Tidy up raid5 codeNeil Brown
- remove md_ prefix from some calls that used to be defined in md_compatability.h - remove "raid5_" prefix from some static functions, in line with recent changes to raid1.c ?? should cpu_has_mmx be moved to in processor.h ?
2002-05-17[PATCH] Change MD Superblock IO to go straight to submit_bioNeil Brown
The current code hits the page cache for the block device which requires memory allocation which can sometimes cause a deadlock (if it blocks the raid5d thread). This code takes the page that holds the superblock, and passes it to submit_bh in a suitable bio wrapper.
2002-04-24[PATCH] (15/15) big struct block_device * push (first series)Alexander Viro
- switch md_error() to struct block_device * - just cleaning up after ->bi_dev switch.
2002-04-24[PATCH] (13/15) big struct block_device * push (first series)Alexander Viro
- *NOW* all places that (re)assign ->bi_dev have relevant struct block_device *. ->bi_bdev (struct block_device * equivalent of ->bi_dev) introduced, ->bi_dev removed, users updated.
2002-04-24[PATCH] (10/15) big struct block_device * push (first series)Alexander Viro
- md/linear.c - bring struct block_device * into private data.
2002-04-24[PATCH] (8/15) big struct block_device * push (first series)Alexander Viro
- md/raid1.c - bring struct block_device * into private data.
2002-04-24[PATCH] (7/15) big struct block_device * push (first series)Alexander Viro
- md/multipath.c convert to bio, compile fixes, bring struct block_device * into private data.
2002-04-15[PATCH] #include <asm/bitops.h> -> #include <linux/bitops.h>Hirofumi Ogawa
We have to include linux/bitops.h for arch using generic_xxx(). The following patch changes <asm/bitops.h> of include/linux/* to <linux/bitops.h>.
2002-04-09[PATCH] readaheadAndrew Morton
I'd like to be able to claim amazing speedups, but the best benchmark I could find was diffing two 256 megabyte files, which is about 10% quicker. And that is probably due to the window size being effectively 50% larger. Fact is, any disk worth owning nowadays has a segmented 2-megabyte cache, and OS-level readahead mainly seems to save on CPU cycles rather than overall throughput. Once you start reading more streams than there are segments in the disk cache we start to win. Still. The main motivation for this work is to clean the code up, and to create a central point at which many pages are marshalled together so that they can all be encapsulated into the smallest possible number of BIOs, and injected into the request layer. A number of filesystems were poking around inside the readahead state variables. I'm not really sure what they were up to, but I took all that out. The readahead code manages its own state autonomously and should not need any hints. - Unifies the current three readahead functions (mmap reads, read(2) and sys_readhead) into a single implementation. - More aggressive in building up the readahead windows. - More conservative in tearing them down. - Special start-of-file heuristics. - Preallocates the readahead pages, to avoid the (never demonstrated, but potentially catastrophic) scenario where allocation of readahead pages causes the allocator to perform VM writeout. - Gets all the readahead pages gathered together in one spot, so they can be marshalled into big BIOs. - reinstates the readahead ioctls, so hdparm(8) and blockdev(8) are working again. The readahead settings are now per-request-queue, and the drivers never have to know about it. I use blockdev(8). It works in units of 512 bytes. - Identifies readahead thrashing. Also attempts to handle it. Certainly the changes here delay the onset of catastrophic readahead thrashing by quite a lot, and decrease it seriousness as we get more deeply into it, but it's still pretty bad.
2002-04-02[PATCH] unnecessary includes.Dave Jones
A few follow ups to the cleanup done circa 2.5.4
2002-02-04v2.5.1.5 -> v2.5.1.6Linus Torvalds
- Davide Libenzi: nicer timeslices for scheduler - Arnaldo: wd7000 scsi driver cleanups and bio update - Greg KH: USB update (including initial 2.0 support) - me: strict typechecking on "kdev_t"
2002-02-04v2.5.1 -> v2.5.1.1Linus Torvalds
- me: revert the "kill(-1..)" change. POSIX isn't that clear on the issue anyway, and the new behaviour breaks things. - Jens Axboe: more bio updates - Al Viro: rd_load cleanups. hpfs mount fix, mount cleanups - Ingo Molnar: more raid updates - Jakub Jelinek: fix Linux/x86 confusion about arg passing of "save_v86_state" and "do_signal" - Trond Myklebust: fix NFS client race conditions
2002-02-04v2.5.0.10 -> v2.5.0.11Linus Torvalds
- Jeff Garzik: no longer support old cards in tulip driver (see separate driver for old tulip chips) - Pat Mochel: driverfs/device model documentation - Ballabio Dario: update eata driver to new IO locking - Ingo Molnar: raid resync with new bio structures (much more efficient) and mempool_resize() - Jens Axboe: bio queue locking
2002-02-04v2.5.0.1 -> v2.5.0.2Linus Torvalds
- Greg KH: USB update - Richard Gooch: refcounting for devfs - Jens Axboe: start of new block IO layer
2002-02-04v2.4.14.3 -> v2.4.14.4Linus Torvalds
- Mikael Pettersson: make proc_misc happy without modules - Arjan van de Ven: clean up acpitable implementation ("micro-acpi") - Anton Altaparmakov: LDM partition code update - Alan Cox: final (yeah, sure) small missing pieces - Andrey Savochkin/Andrew Morton: eepro100 config space save/restore over suspend - Arjan van de Ven: remove power from pcmcia socket on card remove - Greg KH: USB updates - Neil Brown: multipath updates - Martin Dalecki: fix up some "asmlinkage" routine markings
2002-02-04v2.4.9.9 -> v2.4.9.10Linus Torvalds
- Alan Cox: continued merging - Mingming Cao: make msgrcv/shmat check the queue/segment ID's properly - Greg KH: USB serial init failure fix, Xircom serial converter driver - Neil Brown: nsfd/raid/md/lockd cleanups - Ingo Molnar: multipath RAID personality, raid xor update - Hugh Dickins/Marcelo Tosatti: swapin read-ahead race fix - Vojtech Pavlik: fix up some of the infrastructure for x86-64 - Robert Love: AMD 761 AGP GART support - Jens Axboe: fix SCSI-generic queue handling race - me: be sane about page reference bits
2002-02-04v2.4.9.5 -> v2.4.9.6Linus Torvalds
- Jens Axboe: remove trivially dead io_request_lock usage - Andrea Arcangeli: softirq cleanup and ARM fixes. Slab cleanups - Christoph Hellwig: gendisk handling helper functions/cleanups - Nikita Danilov: reiserfs dead code pruning - Anton Altaparmakov: NTFS update to 1.1.18 - firestream network driver: patch reverted on authors request - NIIBE Yutaka: SH architecture update - Paul Mackerras: PPC cleanups, PPC8xx update. - me: reverse broken bootdata allocation patch that went into pre5
2002-02-04v2.4.8 -> v2.4.8.1Linus Torvalds
- Rui Sousa: emu10k1 module fixes, remove joystick part. - Alan Cox: driver merges - Andrea Arkangeli: alpha updates - David Woodhouse: up_and_exit -> complete_and_exit - David Miller: sparc and network update - Andrew Morton: update 3c59x driver - Neil Brown: NFS export VFAT, knfsd cleanups, raid fixes - Ben Collins: ieee1394 updates - Paul Mackerras: PPC update - me: make sure we don't lose position bits in "filldir()"
2002-02-04v2.4.7 -> v2.4.7.1Linus Torvalds
- Anton Altaparmakov: NTFS error checking - Johannes Erdfelt: USB updates - OGAWA Hirofumi: FAT update - Alan Cox: driver + s390 update merge - Richard Henderson: fix alpha sigsuspend error return value - Marcelo Tosatti: per-zone VM shortage - Daniel Phillips: generic use-once optimization instead of drop-behind - Bjorn Wesen: Cris architecture update - Anton Altaparmakov: support for Windows Dynamic Disks - James Washer: LDT loading SMP bug fix
2002-02-04v2.4.5.4 -> v2.4.5.5Linus Torvalds
- Johannes Erdfelt: USB update (bluetooth and serial) - Andrew Grover: ACPI update for _real_ this time. - Neil Brown: md update - Keith Owens: kbuild script fix, do_softirq versioning fix - David Miller: sparc and portability updates
2002-02-04v2.4.4.4 -> v2.4.4.5Linus Torvalds
- Al Viro: fs cleanups - David Miller: sparc semaphores - Christoph Hellwig: VxFS update - Asit Mallick: set machine check bit with set_in_cr4 - Richard Henderson: fix alpha pci_controller_num(), sg_fill, SRM poweroff. - Johannes Erdfelt: USB updates - Cort Dougan: bitkeeper Id's on the ppc side - Matt Chapman: NFS file locking SMP lock fix - Alan Cox: further merging
2002-02-04v2.4.4.2 -> v2.4.4.3Linus Torvalds
- Al Viro: sanity-check user arguments, zero-terminated strings etc. - Urban Widmark: smbfs update (server/client cache coherency etc) - Rik van Riel, Marcelo Tosatti: VM updates - Cort Dougan: PPC updates - Neil Brown: raid1/5 failed drive fixups, NULL ptr checking, md error cleanup - Neil Brown: knfsd fix for 64-bit architectures, and filehandle resolveir - Ken Brownfield: workaround for menuconfig CPU selection glitch - David Miller: sparc64 MM setup fix, arpfilter forward port - Keith Owens: Remove obsolete IPv6 provider based addressing - Jari Ruusu: block_write error case cleanup fix - Jeff Garzik: netdriver update
2002-02-04v2.4.1.2 -> v2.4.1.3Linus Torvalds
- Jens: better ordering of requests when unable to merge - Neil Brown: make md work as a module again (we cannot autodetect in modules, not enough background information) - Neil Brown: raid5 SMP locking cleanups - Neil Brown: nfsd: handle Irix NFS clients named pipe behavior and dentry leak fix - maestro3 shutdown fix - fix dcache hash calculation that could cause bad hashes under certain circumstances (Dean Gaudet) - David Miller: networking and sparc updates - Jeff Garzik: include file cleanups - Andy Grover: ACPI update - Coda-fs error return fixes - rth: alpha Jensen update
2002-02-04v2.4.0.11 -> v2.4.0.12Linus Torvalds
- Get non-cpuid Cyrix probing right (it's not a NexGen) - Jens Axboe: cdrom tray status and queing cleanups - AGP GART: don't disable VIA, and allow i815 with external AGP - Coda: use iget4() in order to have big inode numbers without clashes. - Fix UDF writepage() page locking - NIIBE Yutaka: SuperH update - Martin Diehl and others: SiS pirq routing fixes - Andy Grover: ACPI update - Andrea Arkangeli: LVM update - Ingo Molnar: RAID cleanups - David Miller: sparc and networking updates - Make NFS really be able to handle large files
2002-02-04Import changesetLinus Torvalds