Commit Graph

107 Commits

Author SHA1 Message Date
christos e7ae23fd9e include "ioconf.h" to get the 'void <driver>attach(int count);' prototype. 2015-08-20 14:40:16 +00:00
christos 3af9216dd2 CID 976256: Help coverity understand that when the list is empty the head
is NULL.
2015-05-10 14:08:54 +00:00
mlelstv bdddf44518 disk_blocksize and disk_set_info relay the same information
to the disk subsystem.

Make disk_set_info also set blocksize shift values.
Remove every call to disk_blocksize.

Keep disk_blocksize for ABI compatibility, make it also set dg_secsize.
2014-12-31 08:24:50 +00:00
snj f0a7346d21 src is too big these days to tolerate superfluous apostrophes. It's
"its", people!
2014-10-18 08:33:23 +00:00
justin 3507941446 dm_target_t reference count is modified with atomic_{inc,dec}_32 so should
be uint_32_t not int
2014-10-02 21:58:16 +00:00
justin 4460f134df Call prop_dictionary_get_uint32 with uint32_t 2014-10-02 21:29:44 +00:00
justin 1d1c6d781a devmajor_t not int 2014-10-02 21:01:38 +00:00
christos eceaff9abc cleanup properly on error. 2014-08-19 14:43:28 +00:00
agc f37d41b3ae Avoid a memory leak - from maxv 2014-08-18 17:16:19 +00:00
dholland f9228f4225 Add d_discard to all struct cdevsw instances I could find.
All have been set to "nodiscard"; some should get a real implementation.
2014-07-25 08:10:31 +00:00
dholland 8c70ef39af Add d_discard to all struct bdevsw instances I could find.
I've set them all to nodiscard. Some of them (wd, dk, vnd, ld,
raidframe, maybe cgd) should be implemented for real.
2014-07-25 08:02:18 +00:00
hannken 292a0c7f1d Change dk_lookup() to return an anonymous vnode not associated with
any file system.  Change all consumers of dk_lookup() to get the
device from "v_rdev" instead of VOP_GETATTR() as specfs does not
support VOP_GETATTR().  Devices obtained with dk_lookup() will no
longer disappear on forced unmounts.

Fix for PR kern/48849 (root mirror raid fails on shutdown)

Welcome to 6.99.44
2014-06-14 07:39:00 +00:00
pgoyette e5a29159a9 Make dksubr.c into a module, and make the cgd and dm modules depend on
it.

Now that cgd is completely modularized, descend into modules/cgd to
actually create the module.
2013-12-28 19:25:07 +00:00
mlelstv be9a4c1bae release proplib iterator in failure paths. 2013-12-24 22:14:07 +00:00
wiz d860f590d4 Fix typo ("then" instead of "than") 2013-12-09 09:35:16 +00:00
christos 0fbaa47180 remove unused variables 2013-10-18 19:56:30 +00:00
christos 7b845fa9dc phase 1 of disk geometry cleanup:
- centralize the geometry -> plist code so that we don't have
	  n useless copies of it.
2013-05-29 00:47:48 +00:00
haad 7cfd277977 Fix problem reported by jym on current-user@ patch was provided by mhitch@. 2012-08-07 16:11:11 +00:00
matt b1afbb311c Fix -fno-common found by building i386/conf/ALL 2012-07-28 00:43:22 +00:00
elad 0c9d8d15c9 Replace the remaining KAUTH_GENERIC_ISSUSER authorization calls with
something meaningful. All relevant documentation has been updated or
written.

Most of these changes were brought up in the following messages:

    http://mail-index.netbsd.org/tech-kern/2012/01/18/msg012490.html
    http://mail-index.netbsd.org/tech-kern/2012/01/19/msg012502.html
    http://mail-index.netbsd.org/tech-kern/2012/02/17/msg012728.html

Thanks to christos, manu, njoly, and jmmv for input.

Huge thanks to pgoyette for spinning these changes through some build
cycles and ATF.
2012-03-13 18:40:26 +00:00
haad 62688f9115 Fix wrong KASSERT, reported by mhitch@. 2012-01-04 16:05:53 +00:00
agc d3a7c35f37 fixup comments - no functional change 2011-12-11 22:53:26 +00:00
hannken 2cc7a01f10 Change the vnode locking protocol of VOP_GETATTR() to request at least
a shared lock.  Make all calls outside of file systems respect it.

The calls from file systems need review.

No objections from tech-kern.
2011-10-14 09:23:28 +00:00
ahoka 7cc3650740 readd assertions noew with the correct struct
im wondering why the module cflags didnt warn about this obvious typo
2011-08-28 07:22:48 +00:00
joerg c5a7423167 Revert last, assertions on undefined variables don't make sense. 2011-08-27 23:31:12 +00:00
ahoka 71a8c24685 add function to get the inactive table size (for during target init) 2011-08-27 17:10:05 +00:00
ahoka 58dc1a2f06 be consistent and define secsize here as well (though this seems unused?)
some white' from emacs
2011-08-27 17:09:09 +00:00
ahoka ff2b2e8e7c - add a function to get the inactive table's size
- some whitespace fix from emacs...
2011-08-27 17:07:49 +00:00
ahoka 0239807a25 Add a sanity check for missing functions in dmt 2011-08-27 17:06:08 +00:00
haad b08f594364 Fix simple typo which made stripe target not working very at all. Issue
found by mhitch@.
2011-06-02 17:49:40 +00:00
joerg 23abb27f60 Fix logic error 2011-05-24 15:23:41 +00:00
christos 789f5516b0 Now that we have allowed operator to access the control node, make sure
that he cannot cause damage, by only allowing the superuser to do ioctls
that can cause damage.
2010-12-23 20:07:13 +00:00
mlelstv 75268cff3f make dm aware of physical sector sizes.
For aggregates of multiple disks we use the largest sector size from
all disks. For standard power-of-2 sizes this is the same as the least
common multiple. We still require proper alignment of the targets in
the mapping table.

ok by haad@
2010-12-23 14:58:13 +00:00
haad 08d72eb06c I have forgot to fix dm_dev_counter here, too. 2010-12-06 09:12:23 +00:00
haad e52bc34bd3 We don't need 64 bit variable for dm_device coutner, too. 2010-12-06 09:03:40 +00:00
haad 50cad777f0 Add comment about dm_dev minor, and change it to 32bit value we realy not
going to use so much device minor numbers.
2010-12-06 08:54:49 +00:00
dholland 8f6ed30d57 Introduce struct pathbuf. This is an abstraction to hold a pathname
and the metadata required to interpret it. Callers of namei must now
create a pathbuf and pass it to NDINIT (instead of a string and a
uio_seg), then destroy the pathbuf after the namei session is
complete.

Update all namei call sites accordingly. Add a pathbuf(9) man page and
update namei(9).

The pathbuf interface also now appears in a couple of related
additional places that were passing string/uio_seg pairs that were
later fed into NDINIT. Update other call sites accordingly.
2010-11-19 06:44:33 +00:00
uebayasi 0666f65e61 curlwp needs sys/lwp.h. 2010-11-15 05:52:41 +00:00
haad 1a571ae457 Add old file describing locking schema used in dm driver. 2010-10-23 21:18:54 +00:00
haad 2b4880da46 In rome do as romans do. If I will get EEXIST from devsw_attach don't exit and
continue. This unbreaks usage of libdm in RUMP.
2010-10-09 12:56:06 +00:00
pgoyette 23d5409e7e Update the rest of the kernel to conform to the module subsystem's new
locking protocol.
2010-08-21 13:19:39 +00:00
haad 58b6472739 Add multi device strip support written by Guillermo Amaral and reviewed by me. 2010-05-18 15:10:41 +00:00
haad fb8751aba4 Add support for DIOCCACHESYNC ioctl for dm devices. Add new sync function
pointer to dm_target_t because that is the only part of dm which know real
block device. disk_ioctl_switch parses whole device table and for every
entry it calls particular sync routine which propagates DIOCCACHESYNC
to real disk.

While I was here implement some KNF fixes and remove unneeded symbols from
dm.h.

Problem reported on port-xen@ by Hugo Silva.
2010-05-18 15:10:38 +00:00
haad c8688b58cc Fix typo in comment. 2010-05-18 15:01:17 +00:00
jakllsch c2ca7b837e Fix build of i386 ALL kernel with patch from Greg A. Woods in PR/43056. 2010-03-26 15:46:04 +00:00
jakllsch 165a0cf70b Rework module/builtin code so it works in both cases.
(Tested recently in the module case, slightly less recently as builtin.)

<haad> [if it works] go for it
2010-03-23 15:09:45 +00:00
haad 0d21743f10 Disable disk_ioctl_switch fo device-mapper control device. 2010-03-12 16:26:26 +00:00
jakllsch dd483616f8 Use RUN_ONCE(9) again. (Everyone happy now?) 2010-02-27 00:31:57 +00:00
jakllsch 7d0469d4c4 Use correct prototype for dmattach(). 2010-02-26 23:52:43 +00:00
haad 58c910bce8 Fix device-mapper to work in builtin case. This commit fixes
PR: 42799

REwork fix commited by jak@ to be more readable and remove unneeded ifdef _MODULE.
2010-02-25 23:37:39 +00:00