MFC
This commit is contained in:
commit
bd5fc148c5
@ -38,6 +38,14 @@
|
||||
# xargs -n1 | sort | uniq -d;
|
||||
# done
|
||||
|
||||
# 20130822: bind 9.9.3-P2 import
|
||||
OLD_LIBS+=usr/lib/liblwres.so.80
|
||||
# 20130814: vm_page_busy(9)
|
||||
OLD_FILES+=usr/share/man/man9/vm_page_flash.9.gz
|
||||
OLD_FILES+=usr/share/man/man9/vm_page_io.9.gz
|
||||
OLD_FILES+=usr/share/man/man9/vm_page_io_finish.9.gz
|
||||
OLD_FILES+=usr/share/man/man9/vm_page_io_start.9.gz
|
||||
OLD_FILES+=usr/share/man/man9/vm_page_wakeup.9.gz
|
||||
# 20130710: libkvm version bump
|
||||
OLD_LIBS+=lib/libkvm.so.5
|
||||
OLD_LIBS+=usr/lib32/libkvm.so.5
|
||||
@ -114,6 +122,7 @@ OLD_FILES+=usr/include/clang/3.2/xmmintrin.h
|
||||
OLD_FILES+=usr/include/clang/3.2/xopintrin.h
|
||||
OLD_DIRS+=usr/include/clang/3.2
|
||||
# 20130404: legacy ATA stack removed
|
||||
OLD_FILES+=etc/periodic/daily/405.status-ata-raid
|
||||
OLD_FILES+=rescue/atacontrol
|
||||
OLD_FILES+=sbin/atacontrol
|
||||
OLD_FILES+=usr/share/man/man8/atacontrol.8.gz
|
||||
|
@ -1,7 +1,7 @@
|
||||
.\" DO NOT EDIT-- this file is automatically generated.
|
||||
.\" from FreeBSD: head/tools/build/options/makeman 253304 2013-07-12 23:08:44Z bapt
|
||||
.\" $FreeBSD$
|
||||
.Dd July 16, 2013
|
||||
.Dd August 26, 2013
|
||||
.Dt SRC.CONF 5
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -245,9 +245,6 @@ Set to not build the BSD licensed version of cpio based on
|
||||
.It Va WITH_BSD_GREP
|
||||
.\" from FreeBSD: head/tools/build/options/WITH_BSD_GREP 222273 2011-05-25 01:04:12Z obrien
|
||||
Install BSD-licensed grep as '[ef]grep' instead of GNU grep.
|
||||
.It Va WITH_BSD_PATCH
|
||||
.\" from FreeBSD: head/tools/build/options/WITH_BSD_PATCH 246074 2013-01-29 17:03:18Z gabor
|
||||
Install BSD-licensed patch as 'patch' instead of GNU patch.
|
||||
.It Va WITHOUT_BSNMP
|
||||
.\" from FreeBSD: head/tools/build/options/WITHOUT_BSNMP 183306 2008-09-23 16:15:42Z sam
|
||||
Set to not build or install
|
||||
@ -506,6 +503,9 @@ When set, it also enforces the following options:
|
||||
.It
|
||||
.Va WITHOUT_GNU_SUPPORT
|
||||
.El
|
||||
.It Va WITH_GNU_PATCH
|
||||
.\" from FreeBSD: head/tools/build/options/WITH_GNU_PATCH 253689 2013-07-26 21:25:18Z pfg
|
||||
Install GNU-licensed patch as 'patch' instead of BSD patch.
|
||||
.It Va WITHOUT_GNU_SUPPORT
|
||||
.\" from FreeBSD: head/tools/build/options/WITHOUT_GNU_SUPPORT 156932 2006-03-21 07:50:50Z ru
|
||||
Set to build some programs without optional GNU support.
|
||||
@ -538,9 +538,15 @@ Set to build Hesiod support.
|
||||
.It Va WITHOUT_HTML
|
||||
.\" from FreeBSD: head/tools/build/options/WITHOUT_HTML 156932 2006-03-21 07:50:50Z ru
|
||||
Set to not build HTML docs.
|
||||
.It Va WITH_ICONV
|
||||
.\" from FreeBSD: head/tools/build/options/WITH_ICONV 219020 2011-02-25 00:10:26Z gabor
|
||||
Set to build iconv as part of libc.
|
||||
.It Va WITHOUT_ICONV
|
||||
.\" from FreeBSD: head/tools/build/options/WITHOUT_ICONV 254919 2013-08-26 17:15:56Z antoine
|
||||
Set to not build iconv as part of libc.
|
||||
When set, it also enforces the following options:
|
||||
.Pp
|
||||
.Bl -item -compact
|
||||
.It
|
||||
.Va WITHOUT_LIBICONV_COMPAT
|
||||
.El
|
||||
.It Va WITHOUT_INET
|
||||
.\" from FreeBSD: head/tools/build/options/WITHOUT_INET 221266 2011-04-30 17:58:28Z bz
|
||||
Set to not build programs and libraries related to IPv4 networking.
|
||||
@ -701,6 +707,9 @@ runtime linker.
|
||||
.It Va WITHOUT_LIBCPLUSPLUS
|
||||
.\" from FreeBSD: head/tools/build/options/WITHOUT_LIBCPLUSPLUS 246262 2013-02-02 22:42:46Z dim
|
||||
Set to avoid building libcxxrt and libc++.
|
||||
.It Va WITH_LIBICONV_COMPAT
|
||||
.\" from FreeBSD: head/tools/build/options/WITH_LIBICONV_COMPAT 254919 2013-08-26 17:15:56Z antoine
|
||||
Set to build libiconv API and link time compatibility.
|
||||
.It Va WITHOUT_LIBPTHREAD
|
||||
.\" from FreeBSD: head/tools/build/options/WITHOUT_LIBPTHREAD 188848 2009-02-20 11:09:55Z mtm
|
||||
Set to not build the
|
||||
@ -1129,6 +1138,9 @@ When set, it also enforces the following options:
|
||||
.It Va WITHOUT_USB
|
||||
.\" from FreeBSD: head/tools/build/options/WITHOUT_USB 156932 2006-03-21 07:50:50Z ru
|
||||
Set to not build USB-related programs and libraries.
|
||||
.It Va WITH_USB_GADGET_EXAMPLES
|
||||
.\" from FreeBSD: head/tools/build/options/WITH_USB_GADGET_EXAMPLES 254919 2013-08-26 17:15:56Z antoine
|
||||
Set to build USB gadget kernel modules.
|
||||
.It Va WITHOUT_UTMPX
|
||||
.\" from FreeBSD: head/tools/build/options/WITHOUT_UTMPX 231530 2012-02-11 20:28:42Z ed
|
||||
Set to not build user accounting tools such as
|
||||
|
@ -324,6 +324,7 @@ MAN= accept_filter.9 \
|
||||
vm_map_wire.9 \
|
||||
vm_page_alloc.9 \
|
||||
vm_page_bits.9 \
|
||||
vm_page_busy.9 \
|
||||
vm_page_cache.9 \
|
||||
vm_page_deactivate.9 \
|
||||
vm_page_dontneed.9 \
|
||||
|
@ -187,6 +187,7 @@ jkim [label="Jung-uk Kim\njkim@FreeBSD.org\n2005/07/06"]
|
||||
jkoshy [label="A. Joseph Koshy\njkoshy@FreeBSD.org\n1998/05/13"]
|
||||
jlh [label="Jeremie Le Hen\njlh@FreeBSD.org\n2012/04/22"]
|
||||
jls [label="Jordan Sissel\njls@FreeBSD.org\n2006/12/06"]
|
||||
jmg [label="John-Mark Gurney\njmg@FreeBSD.org\n1997/02/13"]
|
||||
joerg [label="Joerg Wunsch\njoerg@FreeBSD.org\n1993/11/14"]
|
||||
jon [label="Jonathan Chen\njon@FreeBSD.org\n2000/10/17"]
|
||||
jonathan [label="Jonathan Anderson\njonathan@FreeBSD.org\n2010/10/07"]
|
||||
@ -495,6 +496,7 @@ jlemon -> brooks
|
||||
|
||||
joerg -> brian
|
||||
joerg -> eik
|
||||
joerg -> jmg
|
||||
joerg -> le
|
||||
joerg -> netchild
|
||||
joerg -> schweikh
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -108,9 +108,10 @@
|
||||
|
||||
#define PDR_SHIFT 20 /* log2(NBPDR) */
|
||||
#define NBPDR (1 << PDR_SHIFT)
|
||||
#define PDRMASK (NBPDR - 1)
|
||||
#define NPDEPG (1 << (32 - PDR_SHIFT))
|
||||
|
||||
#define MAXPAGESIZES 1 /* maximum number of supported page sizes */
|
||||
#define MAXPAGESIZES 2 /* maximum number of supported page sizes */
|
||||
|
||||
#ifndef KSTACK_PAGES
|
||||
#define KSTACK_PAGES 2
|
||||
@ -133,8 +134,8 @@
|
||||
*/
|
||||
#define trunc_page(x) ((x) & ~PAGE_MASK)
|
||||
#define round_page(x) (((x) + PAGE_MASK) & ~PAGE_MASK)
|
||||
#define trunc_4mpage(x) ((unsigned)(x) & ~PDRMASK)
|
||||
#define round_4mpage(x) ((((unsigned)(x)) + PDRMASK) & ~PDRMASK)
|
||||
#define trunc_1mpage(x) ((unsigned)(x) & ~PDRMASK)
|
||||
#define round_1mpage(x) ((((unsigned)(x)) + PDRMASK) & ~PDRMASK)
|
||||
|
||||
#define atop(x) ((unsigned)(x) >> PAGE_SHIFT)
|
||||
#define ptoa(x) ((unsigned)(x) << PAGE_SHIFT)
|
||||
|
@ -97,8 +97,12 @@ enum mem_type {
|
||||
#endif
|
||||
|
||||
#define pmap_page_get_memattr(m) ((m)->md.pv_memattr)
|
||||
#define pmap_page_is_mapped(m) (!TAILQ_EMPTY(&(m)->md.pv_list))
|
||||
#define pmap_page_is_write_mapped(m) (((m)->aflags & PGA_WRITEABLE) != 0)
|
||||
#if (ARM_MMU_V6 + ARM_MMU_V7) > 0
|
||||
boolean_t pmap_page_is_mapped(vm_page_t);
|
||||
#else
|
||||
#define pmap_page_is_mapped(m) (!TAILQ_EMPTY(&(m)->md.pv_list))
|
||||
#endif
|
||||
void pmap_page_set_memattr(vm_page_t m, vm_memattr_t ma);
|
||||
|
||||
/*
|
||||
@ -258,7 +262,9 @@ void *pmap_mapdev(vm_offset_t, vm_size_t);
|
||||
void pmap_unmapdev(vm_offset_t, vm_size_t);
|
||||
vm_page_t pmap_use_pt(pmap_t, vm_offset_t);
|
||||
void pmap_debug(int);
|
||||
#if (ARM_MMU_V6 + ARM_MMU_V7) == 0
|
||||
void pmap_map_section(vm_offset_t, vm_offset_t, vm_offset_t, int, int);
|
||||
#endif
|
||||
void pmap_link_l2pt(vm_offset_t, vm_offset_t, struct pv_addr *);
|
||||
vm_size_t pmap_map_chunk(vm_offset_t, vm_offset_t, vm_offset_t, vm_size_t, int, int);
|
||||
void
|
||||
@ -411,6 +417,24 @@ extern int pmap_needs_pte_sync;
|
||||
#define L1_C_PROTO (L1_TYPE_C)
|
||||
#define L2_S_PROTO (L2_TYPE_S)
|
||||
|
||||
/*
|
||||
* Promotion to a 1MB (SECTION) mapping requires that the corresponding
|
||||
* 4KB (SMALL) page mappings have identical settings for the following fields:
|
||||
*/
|
||||
#define L2_S_PROMOTE (L2_S_REF | L2_SHARED | L2_S_PROT_MASK | \
|
||||
L2_XN | L2_S_PROTO)
|
||||
|
||||
/*
|
||||
* In order to compare 1MB (SECTION) entry settings with the 4KB (SMALL)
|
||||
* page mapping it is necessary to read and shift appropriate bits from
|
||||
* L1 entry to positions of the corresponding bits in the L2 entry.
|
||||
*/
|
||||
#define L1_S_DEMOTE(l1pd) ((((l1pd) & L1_S_PROTO) >> 0) | \
|
||||
(((l1pd) & L1_SHARED) >> 6) | \
|
||||
(((l1pd) & L1_S_REF) >> 6) | \
|
||||
(((l1pd) & L1_S_PROT_MASK) >> 6) | \
|
||||
(((l1pd) & L1_S_XN) >> 4))
|
||||
|
||||
#ifndef SMP
|
||||
#define ARM_L1S_STRONG_ORD (0)
|
||||
#define ARM_L1S_DEVICE_NOSHARE (L1_S_TEX(2))
|
||||
@ -497,11 +521,15 @@ extern int pmap_needs_pte_sync;
|
||||
(((pr) & VM_PROT_WRITE) ? L2_S_PROT_W : 0))
|
||||
#else
|
||||
#define L1_S_PROT_U (L1_S_AP(AP_U))
|
||||
#define L1_S_PROT_MASK (L1_S_APX|L1_S_AP(0x3))
|
||||
#define L1_S_WRITABLE(pd) (!((pd) & L1_S_APX))
|
||||
#define L1_S_PROT_W (L1_S_APX) /* Write disable */
|
||||
#define L1_S_PROT_MASK (L1_S_PROT_W|L1_S_PROT_U)
|
||||
#define L1_S_REF (L1_S_AP(AP_REF)) /* Reference flag */
|
||||
#define L1_S_WRITABLE(pd) (!((pd) & L1_S_PROT_W))
|
||||
#define L1_S_REFERENCED(pd) ((pd) & L1_S_REF)
|
||||
|
||||
#define L1_S_PROT(ku, pr) (L1_S_PROT_MASK & ~((((ku) == PTE_KERNEL) ? L1_S_PROT_U : 0) | \
|
||||
(((pr) & VM_PROT_WRITE) ? L1_S_APX : 0)))
|
||||
#define L1_S_PROT(ku, pr) (((((ku) == PTE_KERNEL) ? 0 : L1_S_PROT_U) | \
|
||||
(((pr) & VM_PROT_WRITE) ? 0 : L1_S_PROT_W) | \
|
||||
(((pr) & VM_PROT_EXECUTE) ? 0 : L1_S_XN)))
|
||||
|
||||
#define L2_L_PROT_MASK (L2_APX|L2_AP0(0x3))
|
||||
#define L2_L_PROT(ku, pr) (L2_L_PROT_MASK & ~((((ku) == PTE_KERNEL) ? L2_S_PROT_U : 0) | \
|
||||
|
@ -159,6 +159,9 @@ typedef uint32_t pt_entry_t; /* page table entry */
|
||||
*/
|
||||
#define L2_TABLE_SIZE_REAL 0x400 /* 1K */
|
||||
|
||||
/* Total number of page table entries in L2 table */
|
||||
#define L2_PTE_NUM_TOTAL (L2_TABLE_SIZE_REAL / sizeof(pt_entry_t))
|
||||
|
||||
/*
|
||||
* ARM L1 Descriptors
|
||||
*/
|
||||
@ -173,6 +176,7 @@ typedef uint32_t pt_entry_t; /* page table entry */
|
||||
#define L1_S_B 0x00000004 /* bufferable Section */
|
||||
#define L1_S_C 0x00000008 /* cacheable Section */
|
||||
#define L1_S_IMP 0x00000010 /* implementation defined */
|
||||
#define L1_S_XN (1 << 4) /* execute not */
|
||||
#define L1_S_DOM(x) ((x) << 5) /* domain */
|
||||
#define L1_S_DOM_MASK L1_S_DOM(0xf)
|
||||
#define L1_S_AP(x) ((x) << 10) /* access permissions */
|
||||
@ -248,6 +252,7 @@ typedef uint32_t pt_entry_t; /* page table entry */
|
||||
* Access Permissions for L1 and L2 Descriptors.
|
||||
*/
|
||||
#define AP_W 0x01 /* writable */
|
||||
#define AP_REF 0x01 /* referenced flag */
|
||||
#define AP_U 0x02 /* user */
|
||||
|
||||
/*
|
||||
|
@ -109,10 +109,17 @@
|
||||
#define VM_NFREEORDER 9
|
||||
|
||||
/*
|
||||
* Disable superpage reservations.
|
||||
* Enable superpage reservations: 1 level.
|
||||
*/
|
||||
#ifndef VM_NRESERVLEVEL
|
||||
#define VM_NRESERVLEVEL 0
|
||||
#define VM_NRESERVLEVEL 1
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Level 0 reservations consist of 256 pages.
|
||||
*/
|
||||
#ifndef VM_LEVEL_0_ORDER
|
||||
#define VM_LEVEL_0_ORDER 8
|
||||
#endif
|
||||
|
||||
#define UPT_MAX_ADDRESS VADDR(UPTPTDI + 3, 0)
|
||||
|
@ -76,6 +76,7 @@ struct amdtemp_softc {
|
||||
#define DEVICEID_AMD_MISC0F 0x1103
|
||||
#define DEVICEID_AMD_MISC10 0x1203
|
||||
#define DEVICEID_AMD_MISC11 0x1303
|
||||
#define DEVICEID_AMD_MISC12 0x1403
|
||||
#define DEVICEID_AMD_MISC14 0x1703
|
||||
#define DEVICEID_AMD_MISC15 0x1603
|
||||
|
||||
@ -86,6 +87,7 @@ static struct amdtemp_product {
|
||||
{ VENDORID_AMD, DEVICEID_AMD_MISC0F },
|
||||
{ VENDORID_AMD, DEVICEID_AMD_MISC10 },
|
||||
{ VENDORID_AMD, DEVICEID_AMD_MISC11 },
|
||||
{ VENDORID_AMD, DEVICEID_AMD_MISC12 },
|
||||
{ VENDORID_AMD, DEVICEID_AMD_MISC14 },
|
||||
{ VENDORID_AMD, DEVICEID_AMD_MISC15 },
|
||||
{ 0, 0 }
|
||||
|
@ -587,14 +587,14 @@ xnb_dump_mbuf(const struct mbuf *m)
|
||||
if (m->m_flags & M_PKTHDR) {
|
||||
printf(" flowid=%10d, csum_flags=%#8x, csum_data=%#8x, "
|
||||
"tso_segsz=%5hd\n",
|
||||
m->m_pkthdr.flowid, m->m_pkthdr.csum_flags,
|
||||
m->m_pkthdr.flowid, (int)m->m_pkthdr.csum_flags,
|
||||
m->m_pkthdr.csum_data, m->m_pkthdr.tso_segsz);
|
||||
printf(" rcvif=%16p, header=%18p, len=%19d\n",
|
||||
m->m_pkthdr.rcvif, m->m_pkthdr.header, m->m_pkthdr.len);
|
||||
printf(" rcvif=%16p, len=%19d\n",
|
||||
m->m_pkthdr.rcvif, m->m_pkthdr.len);
|
||||
}
|
||||
printf(" m_next=%16p, m_nextpk=%16p, m_data=%16p\n",
|
||||
m->m_next, m->m_nextpkt, m->m_data);
|
||||
printf(" m_len=%17d, m_flags=%#15x, m_type=%18hd\n",
|
||||
printf(" m_len=%17d, m_flags=%#15x, m_type=%18u\n",
|
||||
m->m_len, m->m_flags, m->m_type);
|
||||
|
||||
len = m->m_len;
|
||||
|
@ -1753,10 +1753,6 @@ vm_page_alloc_contig(vm_object_t object, vm_pindex_t pindex, int req,
|
||||
if (drop != NULL) {
|
||||
/*
|
||||
* Enqueue the vnode for deferred vdrop().
|
||||
*
|
||||
* Once the pages are removed from the free
|
||||
* page list, "pageq" can be safely abused to
|
||||
* construct a short-lived list of vnodes.
|
||||
*/
|
||||
m->plinks.s.pv = drop;
|
||||
SLIST_INSERT_HEAD(&deferred_vdrop_list, m,
|
||||
|
@ -1600,6 +1600,11 @@ OLD_FILES+=usr/share/man/man1/gdbserver.1.gz
|
||||
OLD_FILES+=usr/share/man/man1/kgdb.1.gz
|
||||
.endif
|
||||
|
||||
.if ${MK_GNU_PATCH} == no
|
||||
OLD_FILES+=usr/bin/bsdpatch
|
||||
OLD_FILES+=usr/share/man/man1/bsdpatch.1.gz
|
||||
.endif
|
||||
|
||||
.if ${MK_GPIB} == no
|
||||
OLD_FILES+=usr/include/dev/ieee488/ibfoo_int.h
|
||||
OLD_FILES+=usr/include/dev/ieee488/ugpib.h
|
||||
|
2
tools/build/options/WITHOUT_ICONV
Normal file
2
tools/build/options/WITHOUT_ICONV
Normal file
@ -0,0 +1,2 @@
|
||||
.\" $FreeBSD$
|
||||
Set to not build iconv as part of libc.
|
@ -1,2 +0,0 @@
|
||||
.\" $FreeBSD$
|
||||
Set to build iconv as part of libc.
|
2
tools/build/options/WITH_LIBICONV_COMPAT
Normal file
2
tools/build/options/WITH_LIBICONV_COMPAT
Normal file
@ -0,0 +1,2 @@
|
||||
.\" $FreeBSD$
|
||||
Set to build libiconv API and link time compatibility.
|
2
tools/build/options/WITH_USB_GADGET_EXAMPLES
Normal file
2
tools/build/options/WITH_USB_GADGET_EXAMPLES
Normal file
@ -0,0 +1,2 @@
|
||||
.\" $FreeBSD$
|
||||
Set to build USB gadget kernel modules.
|
@ -830,7 +830,7 @@ ktrsyscall(struct ktr_syscall *ktr, u_int flags)
|
||||
ip++;
|
||||
narg--;
|
||||
putchar(',');
|
||||
socktypename(*ip);
|
||||
socktypenamewithflags(*ip);
|
||||
ip++;
|
||||
narg--;
|
||||
if (sockdomain == PF_INET ||
|
||||
@ -908,7 +908,7 @@ ktrsyscall(struct ktr_syscall *ktr, u_int flags)
|
||||
ip++;
|
||||
narg--;
|
||||
putchar(',');
|
||||
socktypename(*ip);
|
||||
socktypenamewithflags(*ip);
|
||||
ip++;
|
||||
narg--;
|
||||
c = ',';
|
||||
|
@ -368,6 +368,19 @@ vmprotname (int type)
|
||||
if_print_or(type, VM_PROT_EXECUTE, or);
|
||||
if_print_or(type, VM_PROT_COPY, or);
|
||||
}
|
||||
|
||||
/*
|
||||
* MANUAL
|
||||
*/
|
||||
void
|
||||
socktypenamewithflags(int type)
|
||||
{
|
||||
if (type & SOCK_CLOEXEC)
|
||||
printf("SOCK_CLOEXEC|"), type &= ~SOCK_CLOEXEC;
|
||||
if (type & SOCK_NONBLOCK)
|
||||
printf("SOCK_NONBLOCK|"), type &= ~SOCK_NONBLOCK;
|
||||
socktypename(type);
|
||||
}
|
||||
_EOF_
|
||||
|
||||
auto_or_type "accessmodename" "[A-Z]_OK[[:space:]]+0?x?[0-9A-Fa-f]+" "sys/unistd.h"
|
||||
|
@ -473,6 +473,20 @@ rebuild_drive(int ac, char **av)
|
||||
}
|
||||
MFI_COMMAND(top, rebuild, rebuild_drive);
|
||||
|
||||
static int
|
||||
syspd_drive(int ac, char **av)
|
||||
{
|
||||
|
||||
if (ac != 2) {
|
||||
warnx("syspd: %s", ac > 2 ? "extra arguments" :
|
||||
"drive required");
|
||||
return (EINVAL);
|
||||
}
|
||||
|
||||
return (drive_set_state(av[1], MFI_PD_STATE_SYSTEM));
|
||||
}
|
||||
MFI_COMMAND(top, syspd, syspd_drive);
|
||||
|
||||
static int
|
||||
start_rebuild(int ac, char **av)
|
||||
{
|
||||
|
@ -91,6 +91,9 @@
|
||||
.Cm rebuild Ar drive
|
||||
.Nm
|
||||
.Op Fl u Ar unit
|
||||
.Cm syspd Ar drive
|
||||
.Nm
|
||||
.Op Fl u Ar unit
|
||||
.Cm drive progress Ar drive
|
||||
.Nm
|
||||
.Op Fl u Ar unit
|
||||
@ -372,6 +375,11 @@ Mark a failed
|
||||
that is still part of an array as a good drive suitable for a rebuild.
|
||||
The firmware should kick off an array rebuild on its own if a failed drive
|
||||
is marked as a rebuild drive.
|
||||
.It Cm syspd Ar drive
|
||||
Present the drive to the host operating system as a disk SYSPD block device in
|
||||
the format /dev/mfisyspdX. Clear this flag with
|
||||
.Cm good
|
||||
.Ar drive
|
||||
.It Cm drive progress Ar drive
|
||||
Report the current progress and estimated completion time of drive operations
|
||||
such as rebuilds or patrol reads.
|
||||
@ -679,6 +687,10 @@ Add the drive in slot 2 in the main chassis as a hot spare for volume mfid0:
|
||||
.Pp
|
||||
.Dl Nm Cm add s2 mfid0
|
||||
.Pp
|
||||
Reconfigure a disk as a SYSPD block device with no RAID
|
||||
.Pp
|
||||
.Dl Nm Cm syspd 0
|
||||
.Pp
|
||||
Configure the adapter to run periodic patrol reads once a week with the first
|
||||
patrol read starting in 5 minutes:
|
||||
.Pp
|
||||
|
@ -66,8 +66,9 @@ usage(void)
|
||||
fprintf(stderr, " show patrol - display patrol read status\n");
|
||||
fprintf(stderr, " show progress - display status of active operations\n");
|
||||
fprintf(stderr, " fail <drive> - fail a physical drive\n");
|
||||
fprintf(stderr, " good <drive> - mark a bad physical drive as good\n");
|
||||
fprintf(stderr, " good <drive> - set a failed/SYSPD drive as UNCONFIGURED\n");
|
||||
fprintf(stderr, " rebuild <drive> - mark failed drive ready for rebuild\n");
|
||||
fprintf(stderr, " syspd <drive> - set drive into use as SYSPD JBOD\n");
|
||||
fprintf(stderr, " drive progress <drive> - display status of active operations\n");
|
||||
fprintf(stderr, " drive clear <drive> <start|stop> - clear a drive with all 0x00\n");
|
||||
fprintf(stderr, " start rebuild <drive>\n");
|
||||
@ -103,7 +104,7 @@ static int
|
||||
version(int ac __unused, char **av __unused)
|
||||
{
|
||||
|
||||
printf("mfiutil version 1.0.14");
|
||||
printf("mfiutil version 1.0.15");
|
||||
#ifdef DEBUG
|
||||
printf(" (DEBUG)");
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user