Commit Graph

108 Commits

Author SHA1 Message Date
dholland
1fbab01a93 More on PR 41200: headers that declare ioctls should include sys/ioccom.h.
This covers (I think) all the MI headers outside of external/ (and dist/).
2015-09-06 06:00:59 +00:00
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