Page MenuHomeFreeBSD

D4449.id11246.diff
No OneTemporary

D4449.id11246.diff

Index: sbin/reboot/reboot.8
===================================================================
--- sbin/reboot/reboot.8
+++ sbin/reboot/reboot.8
@@ -28,7 +28,7 @@
.\" @(#)reboot.8 8.1 (Berkeley) 6/9/93
.\" $FreeBSD$
.\"
-.Dd May 22, 2015
+.Dd Dec 12, 2015
.Dt REBOOT 8
.Os
.Sh NAME
@@ -39,16 +39,16 @@
.Nd stopping and restarting the system
.Sh SYNOPSIS
.Nm halt
-.Op Fl lnpq
+.Op Fl lNnpq
.Op Fl k Ar kernel
.Nm
-.Op Fl dlnpqr
+.Op Fl dlNnpqr
.Op Fl k Ar kernel
.Nm fasthalt
-.Op Fl lnpq
+.Op Fl lNnpq
.Op Fl k Ar kernel
.Nm fastboot
-.Op Fl dlnpq
+.Op Fl dlNnpq
.Op Fl k Ar kernel
.Sh DESCRIPTION
The
@@ -94,6 +94,16 @@
or
.Nm halt
and log this themselves.
+.It Fl N
+The file system cache is not flushed during the initial process clean-up,
+however the kernel level
+.Xr reboot 2
+is still processed with a sync.
+This option can be useful for performing a
+.Dq best-effort
+reboot when devices might be unavailable.
+This can happen when devices have been disconnected, such as with
+.Xr iscsi 4 .
.It Fl n
The file system cache is not flushed.
This option should probably not be used.
Index: sbin/reboot/reboot.c
===================================================================
--- sbin/reboot/reboot.c
+++ sbin/reboot/reboot.c
@@ -67,7 +67,7 @@
{
struct utmpx utx;
const struct passwd *pw;
- int ch, howto, i, fd, lflag, nflag, qflag, sverrno;
+ int ch, howto, i, fd, lflag, nflag, qflag, sverrno, Nflag;
u_int pageins;
const char *user, *kernel = NULL;
@@ -77,7 +77,7 @@
} else
howto = 0;
lflag = nflag = qflag = 0;
- while ((ch = getopt(argc, argv, "dk:lnpqr")) != -1)
+ while ((ch = getopt(argc, argv, "dk:lNnpqr")) != -1)
switch(ch) {
case 'd':
howto |= RB_DUMP;
@@ -92,6 +92,10 @@
nflag = 1;
howto |= RB_NOSYNC;
break;
+ case 'N':
+ nflag = 1;
+ Nflag = 1;
+ break;
case 'p':
howto |= RB_POWEROFF;
break;
@@ -110,6 +114,8 @@
if ((howto & (RB_DUMP | RB_HALT)) == (RB_DUMP | RB_HALT))
errx(1, "cannot dump (-d) when halting; must reboot instead");
+ if (Nflag && (howto & RB_NOSYNC) != 0)
+ errx(1, "-N cannot be used with -n");
if ((howto & RB_REROOT) != 0 && howto != RB_REROOT)
errx(1, "-r cannot be used with -d, -n, or -p");
if (geteuid()) {

File Metadata

Mime Type
text/plain
Expires
Thu, Aug 27, 6:42 PM (10 h, 5 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
37409806
Default Alt Text
D4449.id11246.diff (2 KB)

Event Timeline