kern_shutdown.c (49627) | kern_shutdown.c (49679) |
---|---|
1/*- 2 * Copyright (c) 1986, 1988, 1991, 1993 3 * The Regents of the University of California. All rights reserved. 4 * (c) UNIX System Laboratories, Inc. 5 * All or some portions of this file are derived from material licensed 6 * to the University of California by American Telephone and Telegraph 7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with 8 * the permission of UNIX System Laboratories, Inc. --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)kern_shutdown.c 8.3 (Berkeley) 1/21/94 | 1/*- 2 * Copyright (c) 1986, 1988, 1991, 1993 3 * The Regents of the University of California. All rights reserved. 4 * (c) UNIX System Laboratories, Inc. 5 * All or some portions of this file are derived from material licensed 6 * to the University of California by American Telephone and Telegraph 7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with 8 * the permission of UNIX System Laboratories, Inc. --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)kern_shutdown.c 8.3 (Berkeley) 1/21/94 |
39 * $Id: kern_shutdown.c,v 1.58 1999/08/09 10:34:57 phk Exp $ | 39 * $Id: kern_shutdown.c,v 1.59 1999/08/11 14:02:20 alfred Exp $ |
40 */ 41 42#include "opt_ddb.h" 43#include "opt_hw_wdog.h" 44#include "opt_panic.h" 45#include "opt_show_busybufs.h" 46 47#include <sys/param.h> --- 317 unchanged lines hidden (view full) --- 365 int maj, psize; 366 long newdumplo; 367 368 if (dev == NODEV) { 369 dumpdev = dev; 370 return (0); 371 } 372 maj = major(dev); | 40 */ 41 42#include "opt_ddb.h" 43#include "opt_hw_wdog.h" 44#include "opt_panic.h" 45#include "opt_show_busybufs.h" 46 47#include <sys/param.h> --- 317 unchanged lines hidden (view full) --- 365 int maj, psize; 366 long newdumplo; 367 368 if (dev == NODEV) { 369 dumpdev = dev; 370 return (0); 371 } 372 maj = major(dev); |
373 if (bdevsw(dev) == NULL) | 373 if (devsw(dev) == NULL) |
374 return (ENXIO); /* XXX is this right? */ | 374 return (ENXIO); /* XXX is this right? */ |
375 if (bdevsw(dev)->d_psize == NULL) | 375 if (devsw(dev)->d_psize == NULL) |
376 return (ENXIO); /* XXX should be ENODEV ? */ | 376 return (ENXIO); /* XXX should be ENODEV ? */ |
377 psize = bdevsw(dev)->d_psize(dev); | 377 psize = devsw(dev)->d_psize(dev); |
378 if (psize == -1) 379 return (ENXIO); /* XXX should be ENODEV ? */ 380 /* 381 * XXX should clean up checking in dumpsys() to be more like this, 382 * and nuke dodump sysctl (too many knobs). 383 */ 384 newdumplo = psize - Maxmem * PAGE_SIZE / DEV_BSIZE; 385 if (newdumplo < 0) --- 41 unchanged lines hidden (view full) --- 427dumpsys(void) 428{ 429 int error; 430 431 if (!dodump) 432 return; 433 if (dumpdev == NODEV) 434 return; | 378 if (psize == -1) 379 return (ENXIO); /* XXX should be ENODEV ? */ 380 /* 381 * XXX should clean up checking in dumpsys() to be more like this, 382 * and nuke dodump sysctl (too many knobs). 383 */ 384 newdumplo = psize - Maxmem * PAGE_SIZE / DEV_BSIZE; 385 if (newdumplo < 0) --- 41 unchanged lines hidden (view full) --- 427dumpsys(void) 428{ 429 int error; 430 431 if (!dodump) 432 return; 433 if (dumpdev == NODEV) 434 return; |
435 if (!(bdevsw(dumpdev))) | 435 if (!(devsw(dumpdev))) |
436 return; | 436 return; |
437 if (!(bdevsw(dumpdev)->d_dump)) | 437 if (!(devsw(dumpdev)->d_dump)) |
438 return; 439 dumpsize = Maxmem; 440 printf("\ndumping to dev (%d,%d), offset %ld\n", 441 major(dumpdev), minor(dumpdev), dumplo); 442 printf("dump "); | 438 return; 439 dumpsize = Maxmem; 440 printf("\ndumping to dev (%d,%d), offset %ld\n", 441 major(dumpdev), minor(dumpdev), dumplo); 442 printf("dump "); |
443 error = (*bdevsw(dumpdev)->d_dump)(dumpdev); | 443 error = (*devsw(dumpdev)->d_dump)(dumpdev); |
444 if (error == 0) { 445 printf("succeeded\n"); 446 return; 447 } 448 printf("failed, reason: "); 449 switch (error) { 450 case ENODEV: 451 printf("device doesn't support a dump routine\n"); --- 173 unchanged lines hidden --- | 444 if (error == 0) { 445 printf("succeeded\n"); 446 return; 447 } 448 printf("failed, reason: "); 449 switch (error) { 450 case ENODEV: 451 printf("device doesn't support a dump routine\n"); --- 173 unchanged lines hidden --- |