summaryrefslogtreecommitdiffstats
path: root/sys/dev/vinum
Commit message (Collapse)AuthorAgeFilesLines
* Do a pass over all modules in the kernel and make them return EOPNOTSUPPphk2004-07-151-0/+1
| | | | | | | | for unknown events. A number of modules return EINVAL in this instance, and I have left those alone for now and instead taught MOD_QUIESCE to accept this as "didn't do anything".
* Update for the KDB framework:marcel2004-07-104-4/+5
| | | | o Call kdb_enter() instead of Debugger().
* Catch up with g_dev_open() changes and pass over the current threadle2004-06-221-1/+1
| | | | | | pointer. Submitted by: cperciva
* Second half of the dev_t cleanup.phk2004-06-173-4/+4
| | | | | | | | | | | The big lines are: NODEV -> NULL NOUDEV -> NODEV udev_t -> dev_t udev2dev() -> findcdev() Various minor adjustments including handling of userland access to kernel space struct cdev etc.
* Do the dreaded s/dev_t/struct cdev */phk2004-06-165-20/+25
| | | | Bump __FreeBSD_version accordingly.
* Plug a mem leak in vinum_scandisk().le2004-04-241-0/+1
| | | | Approved by: grog (mentor)
* When doing round-robin reads from a multi-plex volume, only switch to thele2004-03-193-4/+20
| | | | | | | next plex if the sector to be read isn't nearby the last read sector. Submitted by: Vsevolod Lobko <seva@ip.net.ua> via ru@ Approved by: grog (mentor)
* Properly count references of our dev_t to avoid triggering a KASSERT inle2004-03-112-0/+4
| | | | | | | dev_strategy(). Submitted by: dwmalone Approved by: grog (mentor)
* Fix an integer overflow when dealing with very large volumes. This bugle2004-03-091-1/+1
| | | | | | | | prevented newfs to work on volumes that are larger than 1TB. PR: 63577 Submitted by: Masaki Takakashi <mtakahashi@se.gtd.cosmo.co.jp> Approved by: grog (mentor), bde
* Since vinum doesn't fake disklabels anymore, remove get_volume_label().le2004-03-092-62/+0
| | | | | | | Also, remove stale write_volume_label() declaration; the write_volume_label() function was deleted 8 months ago. Approved by: grog (mentor)
* Fix vinums cdevsw{} to initialize d_version.phk2004-02-232-13/+10
| | | | | | | | The nonstandard formatting made my mega-patch scripts miss it. Retire the static major number while we're here anyway. Reported by: Niels Chr. Bank-Pedersen <ncbp@bank-pedersen.dk>
* Remove some more 'makedev' related macros.le2004-02-161-10/+0
| | | | Approved by: grog (mentor)
* Don't free ressources that haven't been allocated. This should fixle2004-02-081-2/+9
| | | | | | | | | | the "disappearing subdisks" problem when new subdisks can't be created due to some errors. This is in fact an ugly hack, but a more elegant solution would probably require a redesign of vinum in several places. Approved by: joerg (mentor)
* When creating raid5 or striped plexes, avoid falling out of boundsle2004-02-041-24/+27
| | | | | | | | when checking the given stripe size. Also move the code a bit around to avoid duplication. Approved by: joerg (mentor)
* initsd: For striped and RAID-[45] plexes, don't restrict the I/Ogrog2003-12-151-5/+1
| | | | | | | | transfer size to the stripe size. This is a different situation from reviving, where this limitation is necessary. In initsd we're simply writing binary zeroes to the entire disk, so the only effect of limiting the transfer is to slow things down.
* free_plex, free_volume: Don't try to destroy the underlying device ifgrog2003-12-151-2/+4
| | | | | it doesn't exist. This can occur under certain failure situations.
* vinumclose: Fix day-one bug. Subdisks and plexes were not beinggrog2003-12-151-2/+11
| | | | | marked closed. This made it impossible to stop Vinum after explicitly opening a plex or subdisk.
* Initalize buffer headers correctly for current version of bio subsystem.grog2003-11-243-1/+6
| | | | | | | Not mentioned by: phk Approved by: re (scottl) This makes Vinum work again, at least in my testing.
* Fix vinum by correctly setting the b_offset bio filed when doing I/O.scottl2003-11-233-2/+7
| | | | Submitted by: grog
* Do not initialize bp->b_pblkno, it is going away.phk2003-10-181-1/+0
|
* If we fail to complete configuring a subdisk because of some error,grog2003-09-291-9/+15
| | | | | | make sure we return any allocated space to the drive. This should get rid of a number of inconsistencies (hopefully all) that have been seen after configuration errors.
* Revert last commit. It built the kernel module just fine, but brokegrog2003-09-291-0/+10
| | | | | | | world in /sbin. Reported by: erwin Pointy hat to: grog
* Remove calls to makedev. They were never needed.grog2003-09-292-22/+12
| | | | | Requested by: phk Explained by: rwatson
* Use __FBSDID().obrien2003-08-2413-13/+39
| | | | Also some minor style cleanups.
* #ifdef __i386__ the "int slice" definition that became i386-only withrwatson2003-08-151-0/+2
| | | | | | | recent Vinum changes. Fixes non-i386 build on vinumio.c. Accidental oversight of: grog Fix hopefully not minded by: grog
* vinum_scandisk:grog2003-08-151-1/+5
| | | | | | | | | | Correctly handle additional disks without BIOS partition tables. Previously, vinum_scandisk stopped scanning additional disks for native partitions after any good partition was found. This applies to all platforms, but was a particular problem on systems without BIOS partition tables. Submitted by: harti
* Drop Giant when calling the disk drivers directly, and reacquiregrog2003-08-151-4/+13
| | | | | | afterwards. This fixes the Vinum breakage in -CURRENT. Breakage explained by: phk
* free_drive: Free the drive even if it's referenced. I don't know whatgrog2003-07-011-12/+7
| | | | | I was smoking when I wrote this stuff, but another fix resulted in every partition in the system being entered as a "referenced" drive.
* Check compatibility partitions on all archs. This makes vinumharti2003-06-231-2/+0
| | | | | | | work on sparc64 again, because on sparc i386-compatibility partitions just happen to have the same name as sparc native partitions. Okay-ed by: grog@
* check_drive: If the partition isn't a Vinum drive, release it againgrog2003-06-151-35/+35
| | | | | | | | | | | | | | | and return NULL. vinum_scandisk: Don't handle NULL device pointers. Only look at compatibility partition for i386. This is a kludge which should go away once I have adequate documentation for the New World Order. Together, these fixes remove occasional error messages about non-existent drives. They may also fix a number of problems that have been reported without a PR. PRs: None
* Silence a warning.grog2003-06-122-0/+2
|
* Remove "raw" and "label" keywords.grog2003-06-122-6/+2
|
* vinum_bounds_check: Don't check the label sector if the architecturegrog2003-06-121-12/+13
| | | | | | | | | doesn't have one. The test was bogus on these architectures, but recent changes broke it altogether. Prompted by: phk This should fix the recent SPARC 64 build problems.
* Remove VINUM_LABEL ioctl. It has been deprecated since December 1998,grog2003-06-122-8/+2
| | | | | | and recent changes broke it altogether. Prompted by: phk
* Remove write_volume_label, the implementation of VINUM_LABEL ioctl.grog2003-06-121-50/+1
| | | | | | | It has been deprecated since December 1998, and recent changes broke it altogether. Prompted by: phk
* Remove kw_raw. I've forgotten what it was intended for, and it wasgrog2003-06-121-5/+1
| | | | probably obsoleted by some changes a couple of months ago.
* Don't deregister the kld on resetconfig, only when we're really readygrog2003-06-031-3/+3
| | | | | | | | | | to unload. This would cause a panic on the second resetconfig. Start Vinum at boot time at SI_SUB_RAID, not SI_SUB_VINUM. SI_SUB_VINUM was there first, but there's no real distinction, and SI_SUB_RAID is a more neutral name. Submitted by: hmp
* Change the way the plex lock mutexes work. Previously they were partgrog2003-05-231-16/+29
| | | | | | | | | | | of the struct plex, which tore apart the mutex linked lists when the plex table was expanded. Now we maintain a pool of mutexes (currently 32) to be shared by all plexes. This is still a lot better than the splhigh() method used in other architectures. expand_table: Add parameters file and line if we're debugging. Approved by: re (jhb)
* Change the way the plex lock mutexes work. Previously they were partgrog2003-05-231-3/+9
| | | | | | | | | | | of the struct plex, which tore apart the mutex linked lists when the plex table was expanded. Now we maintain a pool of mutexes (currently 32) to be shared by all plexes. This is still a lot better than the splhigh() method used in other architectures. Add and clarify comments. Approved by: re (jhb)
* expand_table: Add parameters file and line if we're debugging.grog2003-05-231-7/+18
| | | | | | MMalloc, vinum_meminfo: Use strlcpy to copy file name. Approved by: re (jhb)
* Change the way the plex lock mutexes work. Previously they were partgrog2003-05-232-8/+31
| | | | | | | | | of the struct plex, which tore apart the mutex linked lists when the plex table was expanded. Now we maintain a pool of mutexes (currently 32) to be shared by all plexes. This is still a lot better than the splhigh() method used in other architectures. Approved by: re (jhb)
* detachobject: Update volume config after detaching a plex.grog2003-05-231-3/+5
| | | | | | update_volume_config: Remove redundant diskconfig parameter. Approved by: re (jhb)
* Change the way the plex lock mutexes work. Previously they were partgrog2003-05-231-2/+7
| | | | | | | | | | | | | of the struct plex, which tore apart the mutex linked lists when the plex table was expanded. Now we maintain a pool of mutexes (currently 32) to be shared by all plexes. This is still a lot better than the splhigh() method used in other architectures. update_volume_config: Remove redundant diskconfig parameter. expand_table: Add parameters file and line if we're debugging. Approved by: re (jhb)
* Change many strcpys to strlcpys, etc.grog2003-05-231-20/+24
| | | | | | | | | | | | | | | | | | | | Submitted by: Ted Unangst <tedu@stanford.edu> Correct some inaccurate and badly formatted comments. config_subdisk: If our drive is down, ensure that the subdisk is crashed. Previously it was possible for the subdisk to be up when the drive was down. Change the way the plex lock mutexes work. Previously they were part of the struct plex, which tore apart the mutex linked lists when the plex table was expanded. Now we maintain a pool of mutexes (currently 32) to be shared by all plexes. This is still a lot better than the splhigh() method used in other architectures. update_volume_config: Remove redundant diskconfig parameter. Approved by: re (jhb)
* print_config:grog2003-05-191-6/+14
| | | | | | | | | Change config format slightly to save plex preferences correctly. vinum_scandisk: reinitialise volatile pointer after function call. This is the "deafc0de" bug. Approved by: re (scottl)
* ioctl VINUM_READCONFIG: Don't lock configuration here. vinum_scandiskgrog2003-05-081-5/+1
| | | | | | | needs to do it anyway to handle the startup case. This is part of a fix for the recently reported hangs. Approved by: re (scottl)
* Fix usages of %ll[dx] with typedef'ed created types.obrien2003-05-052-19/+19
| | | | | In the kernel it is wrong 99.9 times out of 100 to use %ll rather than cast to intmax_t and use %j.
* Add sector size member to subdisk, plex and volume objects.grog2003-05-051-0/+3
|
* Remove an accidental #include.grog2003-05-051-8/+30
| | | | | | | | Maintain sector sizes for all objects, not just for drives. Some of this could do with improvement: in particular, we get an error if the components of an object have different sector sizes. Clean up some comments.
* Implement DIOCGSECTORSIZE and DIOCGMEDIASIZE ioctls. It appears thatgrog2003-05-051-0/+24
| | | | they are now necessary to use newfs(8).
OpenPOWER on IntegriCloud