10160356dSAlex Hornung /*
2*3573cf7bSMatthew Dillon * Copyright (c) 2009, 2010, 2015 The DragonFly Project. All rights reserved.
30160356dSAlex Hornung *
40160356dSAlex Hornung * This code is derived from software contributed to The DragonFly Project
50160356dSAlex Hornung * by Alex Hornung <ahornung@gmail.com>
60160356dSAlex Hornung *
70160356dSAlex Hornung * Redistribution and use in source and binary forms, with or without
80160356dSAlex Hornung * modification, are permitted provided that the following conditions
90160356dSAlex Hornung * are met:
100160356dSAlex Hornung *
110160356dSAlex Hornung * 1. Redistributions of source code must retain the above copyright
120160356dSAlex Hornung * notice, this list of conditions and the following disclaimer.
130160356dSAlex Hornung * 2. Redistributions in binary form must reproduce the above copyright
140160356dSAlex Hornung * notice, this list of conditions and the following disclaimer in
150160356dSAlex Hornung * the documentation and/or other materials provided with the
160160356dSAlex Hornung * distribution.
170160356dSAlex Hornung * 3. Neither the name of The DragonFly Project nor the names of its
180160356dSAlex Hornung * contributors may be used to endorse or promote products derived
190160356dSAlex Hornung * from this software without specific, prior written permission.
200160356dSAlex Hornung *
210160356dSAlex Hornung * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
220160356dSAlex Hornung * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
230160356dSAlex Hornung * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
240160356dSAlex Hornung * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
250160356dSAlex Hornung * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
260160356dSAlex Hornung * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
270160356dSAlex Hornung * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
280160356dSAlex Hornung * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
290160356dSAlex Hornung * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
300160356dSAlex Hornung * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
310160356dSAlex Hornung * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
320160356dSAlex Hornung * SUCH DAMAGE.
330160356dSAlex Hornung */
340160356dSAlex Hornung #include <sys/param.h>
350160356dSAlex Hornung #include <sys/systm.h>
360160356dSAlex Hornung #include <sys/kernel.h>
370160356dSAlex Hornung #include <sys/proc.h>
380160356dSAlex Hornung #include <sys/sysctl.h>
390160356dSAlex Hornung #include <sys/buf.h>
400160356dSAlex Hornung #include <sys/conf.h>
410160356dSAlex Hornung #include <sys/diskslice.h>
420160356dSAlex Hornung #include <sys/disk.h>
430160356dSAlex Hornung #include <sys/malloc.h>
440160356dSAlex Hornung #include <machine/md_var.h>
450160356dSAlex Hornung #include <sys/ctype.h>
460160356dSAlex Hornung #include <sys/syslog.h>
470160356dSAlex Hornung #include <sys/device.h>
480160356dSAlex Hornung #include <sys/msgport.h>
490160356dSAlex Hornung #include <sys/msgport2.h>
500160356dSAlex Hornung #include <sys/buf2.h>
510160356dSAlex Hornung #include <sys/dsched.h>
520160356dSAlex Hornung #include <sys/fcntl.h>
530160356dSAlex Hornung
540160356dSAlex Hornung /*
550160356dSAlex Hornung * Called on disk_create()
560160356dSAlex Hornung * tries to read which policy to use from loader.conf, if there's
570160356dSAlex Hornung * none specified, the default policy is used.
580160356dSAlex Hornung */
590160356dSAlex Hornung void
dsched_disk_create(struct disk * dp,const char * head_name,int unit)60*3573cf7bSMatthew Dillon dsched_disk_create(struct disk *dp, const char *head_name, int unit)
610160356dSAlex Hornung {
620160356dSAlex Hornung }
630160356dSAlex Hornung
640160356dSAlex Hornung /*
65279e9fd5SAlex Hornung * Called from disk_setdiskinfo (or rather _setdiskinfo). This will check if
66279e9fd5SAlex Hornung * there's any policy associated with the serial number of the device.
67279e9fd5SAlex Hornung */
68279e9fd5SAlex Hornung void
dsched_disk_update(struct disk * dp,struct disk_info * info)69*3573cf7bSMatthew Dillon dsched_disk_update(struct disk *dp, struct disk_info *info)
70279e9fd5SAlex Hornung {
71279e9fd5SAlex Hornung }
72279e9fd5SAlex Hornung
73279e9fd5SAlex Hornung /*
740160356dSAlex Hornung * Called on disk_destroy()
750160356dSAlex Hornung * shuts down the scheduler core and cancels all remaining bios
760160356dSAlex Hornung */
770160356dSAlex Hornung void
dsched_disk_destroy(struct disk * dp)78*3573cf7bSMatthew Dillon dsched_disk_destroy(struct disk *dp)
790160356dSAlex Hornung {
80bc3c9325SAlex Hornung }
81