summaryrefslogtreecommitdiff
path: root/sys/dev/raidframe
AgeCommit message (Collapse)Author
2020-06-20Nix trailing whitespace.riastradh
2020-06-19remove unnnecessary splbio() in rf_FreeDiskQueueData()jdolecek
2020-06-19pass down b_flags B_PHYS|B_RAW|B_MEDIA_FLAGS from bio subsystemjdolecek
to component I/O fixes the xbd(4) KASSERT() triggered by raidframe, noted in PR kern/55397 by Frank Kardel
2020-06-16Improve wording in comments in raid_dumpblock().oster
2020-04-13slightly change and fix the semantics of pool_set*wat(), pool_sethardlimit()chs
and pool_prime() (and their pool_cache_* counterparts): - the pool_set*wat() APIs are supposed to specify thresholds for the count of free items in the pool before pool pages are automatically allocated or freed during pool_get() / pool_put(), whereas pool_sethardlimit() and pool_prime() are supposed to specify minimum and maximum numbers of total items in the pool (both free and allocated). these were somewhat conflated in the existing code, so separate them as they were intended. - change pool_prime() to take an absolute number of items to preallocate rather than an increment over whatever was done before, and wait for any memory allocations to succeed. since pool_prime() can no longer fail after this, change its return value to void and adjust all callers. - pool_setlowat() is documented as not immediately attempting to allocate any memory, but it was changed some time ago to immediately try to allocate up to the lowat level, so just fix the manpage to describe the current behaviour. - add a pool_cache_prime() to complete the API set.
2020-03-21Restore historic $Hdr: ...$ text.riastradh
This was presumably eaten by git cvsexportcommit, which is curious because I thought I had gotten out of the habit of passing -k to it.
2020-03-01Add a flag to dk_dump for virtual disk devices.riastradh
If a disk is backed by a physical medium other than itself, such as cgd(4), then it passes DK_DUMP_RECURSIVE to disable the recursion detection for dk_dump. If, however, a device represents a physical medium on its own, such as wd(4), then it passes 0 instead. With this, I can now dump to dk on cgd on dk on wd.
2020-01-07Fix big bugs.maxv
2019-12-15Remove clause 3 and 4 leftovers from TNF licenses in more sources.tsutsui
Confirmed by martin@ in PR/54760.
2019-12-12Rather than keeping a separate mutex, condvar, and pserialize for eachpgoyette
module hook, we can share a common set of synchronization structures. This cuts the amount of cacheline_aligned data for these structures by 50%. Note that we still have a per-hook localcount, since we need to count individual references. As discussed with riastradh@ Welcome to 9.99.22 !
2019-12-08Switch to vn_bdev_open* functions.mlelstv
2019-11-10in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAITchs
and remove code to handle failures that can no longer happen.
2019-10-30Gcc -Os on landisk is not smart enough to follow the conditionalmartin
initialization and warns, unconditionaly initialize dksc at declaration with a XXX gcc comment.
2019-10-30Get &rsc->sc_dksc only when we know 'rsc' is not NULL. This was actuallymaxv
harmless because we didn't use the pointer then. Reported-by: syzbot+77097fae0e3aad6de088@syzkaller.appspotmail.com
2019-10-10fix the function pointer and callback mess:christos
- callback functions return 0 and their result is not checked; make them void. - there are two types of callbacks and they used to overload their parameters and the callback structure; separate them into "function" and "value" callbacks. - make the wait function signature consistent.
2019-09-26make nspares unsigned; it is assigned from numSpares which is unsigned.christos
2019-07-11Fix typo (s/supress/suppress/).msaitoh
2019-05-28s/recieve/receive/msaitoh
2019-03-01Rename the MODULE_*_HOOK() macros to MODULE_HOOK_*() as brieflypgoyette
discussed on irc. NFCI intended. Ride the earlier kernel bump - it;s getting crowded.
2019-02-20Fix vnode locking, must lock for VOP_OPEN() and VOP_UNLOCK() when done.hannken
2019-02-10Introduce PR_ZERO to avoid open-coding memset()s everywhere. OK riastradh@.christos
2019-02-09- Change the allocation macros to be more like function callschristos
- Change sizeof(type) -> sizeof(*variable) - Use macros for the long buffer length allocations - Remove "bit polishing" memsets() -- do them only once - Remove unnecessary casts Thanks to oster@ for finding bugs and testing.
2019-02-08PR/53956: Havard Eidnes: raidframe fails to create raid set on disks.christos
The test to check if force was reversed when the code was factored out.
2019-02-07You need a star :-)christos
2019-02-06- Restore indirecting through the data pointerchristos
- Don't try to load compat code if the ioctl is not for us.
2019-02-06fix half edited line.christos
2019-02-06Fix GET_INFO. Yes, can probably be simplified.oster
2019-02-06use 'data' directly.christos
2019-02-06Fix logic inversion. Progress, but still broken.oster
2019-02-06Shuffle softc declarations to a different .h file. Create missingoster
rf_get_raid(). Things compile, but don't work correctly.
2019-02-05- Redo all the ioctl compat stuff to use a standard "ioctl" interface,christos
and provide methods to the private softc - Provide a function for constructing a RF_Raid_t from an RF_Config_t - Factor out the big inline ioctl code into functions
2019-02-05use -> instead of .christos
2019-02-05- Fix the FAIL_DISK handling (it would prolly trash the wrong disk beforechristos
since the request structs are different and the row in the old struct is the col in the new one). - Restructure the way compat modules are loaded so that we only load them for the ioctls that need them. Put a comment explaining why... - Set retcode after loading compat (now that the fail disk passthrough hack is gone), so that various ioctls don't always fail.
2019-02-05remove duplicated line in previously. noticed by paulg.mrg
2019-02-05fix the previous:mrg
rf_netbsd32 is only relevant on _LP64 as all the structures are the same for arm32 oabi/eabi compat. only do it for _LP64 *and* COMAPT_NETBSD32.
2019-02-04don't assume _LP64 == supports COMPAT_NETBSD32.mrg
this is not true for alpha, ia64 and arm32 ports, and the first two were not building because of it, and the latter would be missing the oabi support (likely not a big deal, but still wrong.) add a makefile fragment that tells you if it is supported and include it where needed to define COMPAT_NETBSD32 when building the normal kernel (ie, modules & rump.) fixes alpha build, probably fixes ia64 build. XXX: still leaves some netbsd32 code in rf_netbsdkintf.c, that should be moved into some hooks, but first the configuration setup needs to be moved into a common function the netbsd32 code can call into, vs living in the switch case itself.
2019-02-03When we force COMPAT_NETBSD32 to be defined, force it to the same valuemartin
that opt_compate_netbsd32.h would have, otherwise we get a "redefined" error from gcc. XXX this looks fishy, Paul, can you have a look, please?
2019-02-03Don't include the raidframe compat code in the main raid module, thepgoyette
compat code lives in their own compat_raid_xx modules, which will now be autoloaded if needed. While here, extract the compat_netbsd32_raid code into its own module, too. Welcome to 8.99.34
2019-01-31Prevent integer overflow: ioctl commands are u_long.christos
For consistency move prototype to the _mod.h header. XXX: Why are the compat files here? Shouldn't they be in compat/common? Or because this could be a separate module, they belong with it?
2019-01-29KNF - insert tab (thanks to mrg@)pgoyette
NFCI
2019-01-29Need to return EPASSTHROUGH for ioctls that arn't handled in compat.oster
Thanks to mlelstv for finding this!
2019-01-29Normalize all the compat hooks' names to the formpgoyette
<subsystem>_<function>_<version>_hook NFCI XXX Note that although this introduces a change in the kernel-to- XXX module interface, we are NOT bumping the kernel version number. XXX We will bump the version number once the interface stabilizes.
2019-01-28print additional debug information. make rf_containsboot() return 0bad
if bdv == NULL, to aid in the former. As discussed 1 week ago on tech-kern.
2019-01-27Merge the [pgoyette-compat] branchpgoyette
2019-01-08remove the final tsleep/wakeup pair in raidframe.mrg
2018-06-09Fix two mis-spellings in comments. No functional changes.oster
2018-04-19s/static inline/static __inline/g for consistency.christos
2018-01-23Add "bufq_fcfs" requirement to all those driver modules that explicitlypgoyette
request it in their calls to bufq_alloc().
2018-01-20fixes for the previous, noted by nakayama@.mrg
- RAIDFRAME_CONFIGURE needs to be versioned as the rows was removed, adding RAIDFRAME_CONFIGURE80, rf_config80() etc. - RAIDFRAME_CONFIGURE32 changes to match - rf_get_info80() passed the wrong source to copyout() some fixes to my original change were independantly made by nakayama@ who confirmed the changes work properly now.
2018-01-19Fix some ARM kernel builds. ARM abuses compat32 for ABI compatibility andskrll
this means some ioctls overlap.