games/tetris/scores.c
109
sd = open(scorepath, mint, 0666);
games/tetris/scores.c
110
if (sd == -1) {
games/tetris/scores.c
117
if ((sf = fdopen(sd, mstr)) == NULL)
games/tetris/scores.c
94
int sd, mint, i;
lib/libc/asr/getnameinfo.c
113
struct servent_data sd;
lib/libc/asr/getnameinfo.c
130
memset(&sd, 0, sizeof (sd));
lib/libc/asr/getnameinfo.c
132
r = getservbyport_r(port, proto, &s, &sd);
lib/libc/asr/getnameinfo.c
135
endservent_r(&sd);
lib/libc/asr/getnameinfo_async.c
213
struct servent_data sd;
lib/libc/asr/getnameinfo_async.c
227
memset(&sd, 0, sizeof (sd));
lib/libc/asr/getnameinfo_async.c
229
"udp" : "tcp", &s, &sd);
lib/libc/asr/getnameinfo_async.c
232
endservent_r(&sd);
lib/libc/net/getservbyname.c
37
struct servent_data *sd)
lib/libc/net/getservbyname.c
42
setservent_r(sd->stayopen, sd);
lib/libc/net/getservbyname.c
43
while ((error = getservent_r(se, sd)) == 0) {
lib/libc/net/getservbyname.c
54
if (!sd->stayopen && sd->fp != NULL) {
lib/libc/net/getservbyname.c
55
fclose(sd->fp);
lib/libc/net/getservbyname.c
56
sd->fp = NULL;
lib/libc/net/getservbyport.c
37
struct servent_data *sd)
lib/libc/net/getservbyport.c
41
setservent_r(sd->stayopen, sd);
lib/libc/net/getservbyport.c
42
while ((error = getservent_r(se, sd)) == 0) {
lib/libc/net/getservbyport.c
48
if (!sd->stayopen && sd->fp != NULL) {
lib/libc/net/getservbyport.c
49
fclose(sd->fp);
lib/libc/net/getservbyport.c
50
sd->fp = NULL;
lib/libc/net/getservent.c
100
cp = realloc(sd->line, len + 1);
lib/libc/net/getservent.c
103
sd->line = se->s_name = memcpy(cp, p, len);
lib/libc/net/getservent.c
120
if (sd->aliases == NULL) {
lib/libc/net/getservent.c
121
sd->maxaliases = 10;
lib/libc/net/getservent.c
122
sd->aliases = calloc(sd->maxaliases, sizeof(char *));
lib/libc/net/getservent.c
123
if (sd->aliases == NULL) {
lib/libc/net/getservent.c
125
endservent_r(sd);
lib/libc/net/getservent.c
130
q = se->s_aliases = sd->aliases;
lib/libc/net/getservent.c
139
if (q == &se->s_aliases[sd->maxaliases - 1]) {
lib/libc/net/getservent.c
140
p = reallocarray(se->s_aliases, sd->maxaliases,
lib/libc/net/getservent.c
144
endservent_r(sd);
lib/libc/net/getservent.c
148
sd->maxaliases *= 2;
lib/libc/net/getservent.c
150
se->s_aliases = sd->aliases = (char **)p;
lib/libc/net/getservent.c
44
setservent_r(int f, struct servent_data *sd)
lib/libc/net/getservent.c
46
if (sd->fp == NULL) {
lib/libc/net/getservent.c
49
sd->fp = fdopen(fd, "r" );
lib/libc/net/getservent.c
50
if (sd->fp == NULL)
lib/libc/net/getservent.c
53
rewind(sd->fp);
lib/libc/net/getservent.c
54
sd->stayopen |= f;
lib/libc/net/getservent.c
59
endservent_r(struct servent_data *sd)
lib/libc/net/getservent.c
61
if (sd->fp) {
lib/libc/net/getservent.c
62
fclose(sd->fp);
lib/libc/net/getservent.c
63
sd->fp = NULL;
lib/libc/net/getservent.c
65
free(sd->aliases);
lib/libc/net/getservent.c
66
sd->aliases = NULL;
lib/libc/net/getservent.c
67
sd->maxaliases = 0;
lib/libc/net/getservent.c
68
free(sd->line);
lib/libc/net/getservent.c
69
sd->line = NULL;
lib/libc/net/getservent.c
70
sd->stayopen = 0;
lib/libc/net/getservent.c
75
getservent_r(struct servent *se, struct servent_data *sd)
lib/libc/net/getservent.c
82
if (sd->fp == NULL) {
lib/libc/net/getservent.c
86
if ((sd->fp = fdopen(fd, "r" )) == NULL) {
lib/libc/net/getservent.c
92
if ((p = fgetln(sd->fp, &len)) == NULL)
lib/libc/rpc/bindresvport.c
104
error = bind(sd, sa, salen);
lib/libc/rpc/bindresvport.c
110
if (setsockopt(sd, proto, portrange, &old,
lib/libc/rpc/bindresvport.c
118
if (getsockname(sd, sa, &salen) == -1)
lib/libc/rpc/bindresvport.c
38
bindresvport(int sd, struct sockaddr_in *sin)
lib/libc/rpc/bindresvport.c
40
return bindresvport_sa(sd, (struct sockaddr *)sin);
lib/libc/rpc/bindresvport.c
48
bindresvport_sa(int sd, struct sockaddr *sa)
lib/libc/rpc/bindresvport.c
62
if (getsockname(sd, sa, &salen) == -1)
lib/libc/rpc/bindresvport.c
94
error = getsockopt(sd, proto, portrange, &old, &oldlen);
lib/libc/rpc/bindresvport.c
98
error = setsockopt(sd, proto, portrange, &portlow,
lib/libcrypto/cms/cms_sd.c
119
cms_sd_set_version(CMS_SignedData *sd)
lib/libcrypto/cms/cms_sd.c
126
for (i = 0; i < sk_CMS_CertificateChoices_num(sd->certificates); i++) {
lib/libcrypto/cms/cms_sd.c
127
cch = sk_CMS_CertificateChoices_value(sd->certificates, i);
lib/libcrypto/cms/cms_sd.c
129
if (sd->version < 5)
lib/libcrypto/cms/cms_sd.c
130
sd->version = 5;
lib/libcrypto/cms/cms_sd.c
132
if (sd->version < 4)
lib/libcrypto/cms/cms_sd.c
133
sd->version = 4;
lib/libcrypto/cms/cms_sd.c
135
if (sd->version < 3)
lib/libcrypto/cms/cms_sd.c
136
sd->version = 3;
lib/libcrypto/cms/cms_sd.c
140
for (i = 0; i < sk_CMS_RevocationInfoChoice_num(sd->crls); i++) {
lib/libcrypto/cms/cms_sd.c
141
rch = sk_CMS_RevocationInfoChoice_value(sd->crls, i);
lib/libcrypto/cms/cms_sd.c
143
if (sd->version < 5)
lib/libcrypto/cms/cms_sd.c
144
sd->version = 5;
lib/libcrypto/cms/cms_sd.c
148
if ((OBJ_obj2nid(sd->encapContentInfo->eContentType) != NID_pkcs7_data)
lib/libcrypto/cms/cms_sd.c
149
&& (sd->version < 3))
lib/libcrypto/cms/cms_sd.c
150
sd->version = 3;
lib/libcrypto/cms/cms_sd.c
152
for (i = 0; i < sk_CMS_SignerInfo_num(sd->signerInfos); i++) {
lib/libcrypto/cms/cms_sd.c
153
si = sk_CMS_SignerInfo_value(sd->signerInfos, i);
lib/libcrypto/cms/cms_sd.c
157
if (sd->version < 3)
lib/libcrypto/cms/cms_sd.c
158
sd->version = 3;
lib/libcrypto/cms/cms_sd.c
163
if (sd->version < 1)
lib/libcrypto/cms/cms_sd.c
164
sd->version = 1;
lib/libcrypto/cms/cms_sd.c
342
CMS_SignedData *sd;
lib/libcrypto/cms/cms_sd.c
351
sd = cms_signed_data_init(cms);
lib/libcrypto/cms/cms_sd.c
352
if (!sd)
lib/libcrypto/cms/cms_sd.c
375
if (sd->version < 3)
lib/libcrypto/cms/cms_sd.c
376
sd->version = 3;
lib/libcrypto/cms/cms_sd.c
397
for (i = 0; i < sk_X509_ALGOR_num(sd->digestAlgorithms); i++) {
lib/libcrypto/cms/cms_sd.c
401
x509_alg = sk_X509_ALGOR_value(sd->digestAlgorithms, i);
lib/libcrypto/cms/cms_sd.c
407
if (i == sk_X509_ALGOR_num(sd->digestAlgorithms)) {
lib/libcrypto/cms/cms_sd.c
412
if (!sk_X509_ALGOR_push(sd->digestAlgorithms, alg)) {
lib/libcrypto/cms/cms_sd.c
470
if (!sd->signerInfos)
lib/libcrypto/cms/cms_sd.c
471
sd->signerInfos = sk_CMS_SignerInfo_new_null();
lib/libcrypto/cms/cms_sd.c
472
if (!sd->signerInfos || !sk_CMS_SignerInfo_push(sd->signerInfos, si))
lib/libcrypto/cms/cms_sd.c
504
CMS_SignedData *sd;
lib/libcrypto/cms/cms_sd.c
506
sd = cms_get0_signed(cms);
lib/libcrypto/cms/cms_sd.c
507
if (!sd)
lib/libcrypto/cms/cms_sd.c
510
return sd->signerInfos;
lib/libcrypto/cms/cms_sd.c
574
CMS_SignedData *sd;
lib/libcrypto/cms/cms_sd.c
582
sd = cms_get0_signed(cms);
lib/libcrypto/cms/cms_sd.c
583
if (!sd)
lib/libcrypto/cms/cms_sd.c
585
certs = sd->certificates;
lib/libcrypto/cms/cms_sd.c
586
for (i = 0; i < sk_CMS_SignerInfo_num(sd->signerInfos); i++) {
lib/libcrypto/cms/cms_sd.c
587
si = sk_CMS_SignerInfo_value(sd->signerInfos, i);
lib/libcrypto/cms/cms_sd.c
868
CMS_SignedData *sd;
lib/libcrypto/cms/cms_sd.c
871
sd = cms_get0_signed(cms);
lib/libcrypto/cms/cms_sd.c
872
if (!sd)
lib/libcrypto/cms/cms_sd.c
875
cms_sd_set_version(sd);
lib/libcrypto/cms/cms_sd.c
876
for (i = 0; i < sk_X509_ALGOR_num(sd->digestAlgorithms); i++) {
lib/libcrypto/cms/cms_sd.c
879
digestAlgorithm = sk_X509_ALGOR_value(sd->digestAlgorithms, i);
libexec/spamd/sdl.c
356
#define grow_sdlist(sd, c, l) do { \
libexec/spamd/sdl.c
360
tmp = reallocarray(sd, l + 128, sizeof(struct sdlist *)); \
libexec/spamd/sdl.c
367
sd = tmp; \
libexec/spamd/sync.c
244
struct spam_synctlv_addr *sd;
libexec/spamd/sync.c
328
sd = (struct spam_synctlv_addr *)tlv;
libexec/spamd/sync.c
329
if (sizeof(*sd) != ntohs(tlv->st_length))
libexec/spamd/sync.c
332
ip.s_addr = sd->sd_ip;
libexec/spamd/sync.c
333
expire = ntohl(sd->sd_expire);
libexec/spamd/sync.c
349
sd = (struct spam_synctlv_addr *)tlv;
libexec/spamd/sync.c
350
if (sizeof(*sd) != ntohs(tlv->st_length))
libexec/spamd/sync.c
353
ip.s_addr = sd->sd_ip;
libexec/spamd/sync.c
354
expire = ntohl(sd->sd_expire);
libexec/spamd/sync.c
524
struct spam_synctlv_addr sd;
libexec/spamd/sync.c
535
memset(&sd, 0, sizeof(sd));
libexec/spamd/sync.c
546
hdr.sh_length = htons(sizeof(hdr) + sizeof(sd) + sizeof(end));
libexec/spamd/sync.c
554
sd.sd_type = htons(type);
libexec/spamd/sync.c
555
sd.sd_length = htons(sizeof(sd));
libexec/spamd/sync.c
556
sd.sd_timestamp = htonl(now);
libexec/spamd/sync.c
557
sd.sd_expire = htonl(expire);
libexec/spamd/sync.c
558
sd.sd_ip = inet_addr(ip);
libexec/spamd/sync.c
559
iov[i].iov_base = &sd;
libexec/spamd/sync.c
560
iov[i].iov_len = sizeof(sd);
regress/lib/libc/sys/t_connect.c
52
int sd, val, slist;
regress/lib/libc/sys/t_connect.c
56
sd = socket(AF_INET, SOCK_STREAM, 0);
regress/lib/libc/sys/t_connect.c
58
ATF_REQUIRE(sd > 0);
regress/lib/libc/sys/t_connect.c
72
if (setsockopt(sd, IPPROTO_IP, IP_PORTRANGE, &val,
regress/lib/libc/sys/t_connect.c
82
if (connect(sd, (struct sockaddr *)&sin, sizeof(sin)) == -1) {
regress/lib/libc/sys/t_connect.c
92
ATF_REQUIRE_EQ(getsockname(sd, (struct sockaddr *)&sin, &slen), 0);
regress/lib/libc/sys/t_connect.c
96
close(sd);
regress/lib/libc/sys/t_getsockname.c
50
int sd;
regress/lib/libc/sys/t_getsockname.c
54
sd = socket(AF_UNIX, SOCK_STREAM, 0);
regress/lib/libc/sys/t_getsockname.c
55
ATF_REQUIRE(sd != -1);
regress/lib/libc/sys/t_getsockname.c
59
ATF_REQUIRE(getsockname(sd, (struct sockaddr *)&sun, &len) != -1);
regress/lib/libc/sys/t_getsockname.c
67
ATF_REQUIRE(bind(sd, (struct sockaddr *)&sun, len) != -1);
regress/lib/libc/sys/t_getsockname.c
71
ATF_REQUIRE(getsockname(sd, (struct sockaddr *)&sun, &len) != -1);
regress/lib/libc/sys/t_getsockname.c
75
ATF_REQUIRE(close(sd) != -1);
regress/lib/libc/sys/t_listen.c
110
int sd, val;
regress/lib/libc/sys/t_listen.c
112
sd = socket(AF_INET, SOCK_STREAM, 0);
regress/lib/libc/sys/t_listen.c
113
ATF_REQUIRE_MSG(sd != -1, "socket failed: %s", strerror(errno));
regress/lib/libc/sys/t_listen.c
116
if (setsockopt(sd, IPPROTO_IP, IP_PORTRANGE, &val,
regress/lib/libc/sys/t_listen.c
120
if (listen(sd, 5) == -1) {
regress/lib/libc/sys/t_listen.c
129
close(sd);
regress/lib/libc/sys/t_sendrecv.c
109
close(sd);
regress/lib/libc/sys/t_sendrecv.c
115
int fd[2], sd[2], error;
regress/lib/libc/sys/t_sendrecv.c
119
error = socketpair(AF_UNIX, SOCK_DGRAM, 0, sd);
regress/lib/libc/sys/t_sendrecv.c
124
for (size_t i = 0; i < __arraycount(sd); i++) {
regress/lib/libc/sys/t_sendrecv.c
125
error = setsockopt(sd[i], SOL_SOCKET, SO_RERROR, &rerror,
regress/lib/libc/sys/t_sendrecv.c
147
sender(sd[0]);
regress/lib/libc/sys/t_sendrecv.c
148
close(sd[0]);
regress/lib/libc/sys/t_sendrecv.c
153
receiver(sd[1]);
regress/lib/libc/sys/t_sendrecv.c
66
sender(int sd)
regress/lib/libc/sys/t_sendrecv.c
72
for (; (n = send(sd, &p, sizeof(p), 0)) == sizeof(p);
regress/lib/libc/sys/t_sendrecv.c
78
close(sd);
regress/lib/libc/sys/t_sendrecv.c
83
receiver(int sd)
regress/lib/libc/sys/t_sendrecv.c
92
while ((n = recv(sd, &p, sizeof(p), 0), sizeof(p))
regress/lib/libcrypto/ocsp/ocsp_test.c
102
sd = tcp_connect(host, port);
regress/lib/libcrypto/ocsp/ocsp_test.c
106
SSL_set_fd(ssl, (int) sd);
regress/lib/libcrypto/ocsp/ocsp_test.c
31
int error, sd = -1;
regress/lib/libcrypto/ocsp/ocsp_test.c
50
sd = socket(r->ai_family, r->ai_socktype, r->ai_protocol);
regress/lib/libcrypto/ocsp/ocsp_test.c
51
if (sd == -1)
regress/lib/libcrypto/ocsp/ocsp_test.c
54
if (connect(sd, r->ai_addr, r->ai_addrlen) == 0)
regress/lib/libcrypto/ocsp/ocsp_test.c
57
close(sd);
regress/lib/libcrypto/ocsp/ocsp_test.c
62
return sd;
regress/lib/libcrypto/ocsp/ocsp_test.c
68
int sd, ocsp_status;
sbin/ipsecctl/pfkey.c
376
n = writev(sd, iov, iov_cnt);
sbin/ipsecctl/pfkey.c
390
pfkey_sa(int sd, u_int8_t satype, u_int8_t action, u_int32_t spi,
sbin/ipsecctl/pfkey.c
629
if ((n = writev(sd, iov, iov_cnt)) == -1) {
sbin/ipsecctl/pfkey.c
641
pfkey_sabundle(int sd, u_int8_t satype, u_int8_t satype2, u_int8_t action,
sbin/ipsecctl/pfkey.c
65
pfkey_flow(int sd, u_int8_t satype, u_int8_t action, u_int8_t direction,
sbin/ipsecctl/pfkey.c
763
if ((n = writev(sd, iov, iov_cnt)) == -1) {
sbin/ipsecctl/pfkey.c
775
pfkey_reply(int sd, u_int8_t **datap, ssize_t *lenp)
sbin/ipsecctl/pfkey.c
781
if (recv(sd, &hdr, sizeof(hdr), MSG_PEEK) != sizeof(hdr)) {
sbin/ipsecctl/pfkey.c
788
if (read(sd, data, len) != len) {
sys/arch/alpha/alpha/conf.c
141
cdev_disk_init(NSD,sd), /* 8: SCSI disk */
sys/arch/alpha/alpha/conf.c
66
bdev_disk_init(NSD,sd), /* 8: SCSI disk */
sys/arch/amd64/amd64/conf.c
191
cdev_disk_init(NSD,sd), /* 13: SCSI disk */
sys/arch/amd64/amd64/conf.c
59
bdev_disk_init(NSD,sd), /* 4: SCSI disk */
sys/arch/amd64/amd64/machdep.c
1296
set_mem_segment(struct mem_segment_descriptor *sd, void *base, size_t limit,
sys/arch/amd64/amd64/machdep.c
1299
sd->sd_lolimit = (unsigned)limit;
sys/arch/amd64/amd64/machdep.c
1300
sd->sd_lobase = (unsigned long)base;
sys/arch/amd64/amd64/machdep.c
1301
sd->sd_type = type;
sys/arch/amd64/amd64/machdep.c
1302
sd->sd_dpl = dpl;
sys/arch/amd64/amd64/machdep.c
1303
sd->sd_p = 1;
sys/arch/amd64/amd64/machdep.c
1304
sd->sd_hilimit = (unsigned)limit >> 16;
sys/arch/amd64/amd64/machdep.c
1305
sd->sd_avl = 0;
sys/arch/amd64/amd64/machdep.c
1306
sd->sd_long = is64;
sys/arch/amd64/amd64/machdep.c
1307
sd->sd_def32 = def32;
sys/arch/amd64/amd64/machdep.c
1308
sd->sd_gran = gran;
sys/arch/amd64/amd64/machdep.c
1309
sd->sd_hibase = (unsigned long)base >> 24;
sys/arch/amd64/amd64/machdep.c
1313
set_sys_segment(struct sys_segment_descriptor *sd, void *base, size_t limit,
sys/arch/amd64/amd64/machdep.c
1316
memset(sd, 0, sizeof *sd);
sys/arch/amd64/amd64/machdep.c
1317
sd->sd_lolimit = (unsigned)limit;
sys/arch/amd64/amd64/machdep.c
1318
sd->sd_lobase = (u_int64_t)base;
sys/arch/amd64/amd64/machdep.c
1319
sd->sd_type = type;
sys/arch/amd64/amd64/machdep.c
1320
sd->sd_dpl = dpl;
sys/arch/amd64/amd64/machdep.c
1321
sd->sd_p = 1;
sys/arch/amd64/amd64/machdep.c
1322
sd->sd_hilimit = (unsigned)limit >> 16;
sys/arch/amd64/amd64/machdep.c
1323
sd->sd_gran = gran;
sys/arch/amd64/amd64/machdep.c
1324
sd->sd_hibase = (u_int64_t)base >> 24;
sys/arch/arm/arm/conf.c
174
bdev_disk_init(NSD,sd), /* 24: SCSI disk */
sys/arch/arm/arm/conf.c
292
cdev_disk_init(NSD,sd), /* 24: SCSI disk */
sys/arch/arm/arm/fault.c
113
struct sigdata *sd);
sys/arch/arm/arm/fault.c
115
struct sigdata *sd);
sys/arch/arm/arm/fault.c
117
struct sigdata *sd);
sys/arch/arm/arm/fault.c
119
struct sigdata *sd);
sys/arch/arm/arm/fault.c
173
struct sigdata sd;
sys/arch/arm/arm/fault.c
206
if ((data_aborts[ftyp].func)(tf, fsr, far, p, &sd)) {
sys/arch/arm/arm/fault.c
255
sd.signo = SIGILL;
sys/arch/arm/arm/fault.c
256
sd.code = ILL_ILLOPC;
sys/arch/arm/arm/fault.c
257
sd.addr = far;
sys/arch/arm/arm/fault.c
258
sd.trap = fsr;
sys/arch/arm/arm/fault.c
284
sd.signo = SIGSEGV;
sys/arch/arm/arm/fault.c
285
sd.code = SEGV_ACCERR;
sys/arch/arm/arm/fault.c
286
sd.addr = far;
sys/arch/arm/arm/fault.c
287
sd.trap = fsr;
sys/arch/arm/arm/fault.c
351
sd.signo = SIGSEGV;
sys/arch/arm/arm/fault.c
352
sd.code = SEGV_MAPERR;
sys/arch/arm/arm/fault.c
357
sd.signo = SIGKILL;
sys/arch/arm/arm/fault.c
358
sd.code = 0;
sys/arch/arm/arm/fault.c
360
sd.code = SEGV_ACCERR;
sys/arch/arm/arm/fault.c
362
sd.signo = SIGBUS;
sys/arch/arm/arm/fault.c
363
sd.code = BUS_OBJERR;
sys/arch/arm/arm/fault.c
365
sd.addr = far;
sys/arch/arm/arm/fault.c
366
sd.trap = fsr;
sys/arch/arm/arm/fault.c
368
sv.sival_int = sd.addr;
sys/arch/arm/arm/fault.c
369
trapsignal(p, sd.signo, sd.trap, sd.code, sv);
sys/arch/arm/arm/fault.c
391
struct sigdata *sd)
sys/arch/arm/arm/fault.c
445
struct sigdata *sd)
sys/arch/arm/arm/fault.c
455
sd->signo = SIGBUS;
sys/arch/arm/arm/fault.c
456
sd->code = BUS_ADRALN;
sys/arch/arm/arm/fault.c
457
sd->addr = far;
sys/arch/arm/arm/fault.c
458
sd->trap = fsr;
sys/arch/arm/arm/fault.c
487
struct sigdata *sd)
sys/arch/arm64/arm64/conf.c
141
cdev_disk_init(NSD,sd), /* 13: SCSI disk */
sys/arch/arm64/arm64/conf.c
57
bdev_disk_init(NSD,sd), /* 4: SCSI disk */
sys/arch/hppa/hppa/conf.c
136
cdev_disk_init(NSD,sd), /* 10: SCSI disk */
sys/arch/hppa/hppa/conf.c
67
bdev_disk_init(NSD,sd), /* 4: SCSI disk */
sys/arch/i386/i386/conf.c
178
cdev_disk_init(NSD,sd), /* 13: SCSI disk */
sys/arch/i386/i386/conf.c
59
bdev_disk_init(NSD,sd), /* 4: SCSI disk */
sys/arch/i386/i386/gdt.c
112
setsegment(&ci->ci_gdt[GTSS_SEL].sd, ci->ci_tss,
sys/arch/i386/i386/gdt.c
114
setsegment(&ci->ci_gdt[GNMITSS_SEL].sd, ci->ci_nmi_tss,
sys/arch/i386/i386/gdt.c
63
struct segment_descriptor *sd = &cpu_info_primary.ci_gdt[sel].sd;
sys/arch/i386/i386/gdt.c
69
setsegment(sd, base, limit, type, dpl, def32, gran);
sys/arch/i386/i386/gdt.c
72
ci->ci_gdt[sel].sd = *sd;
sys/arch/i386/i386/gdt.c
83
setsegment(&ci->ci_gdt[GCPU_SEL].sd, ci, sizeof(struct cpu_info)-1,
sys/arch/i386/i386/gdt.c
97
setsegment(&ci->ci_gdt[GCPU_SEL].sd, ci, sizeof(struct cpu_info)-1,
sys/arch/i386/i386/machdep.c
2898
curcpu()->ci_gdt[GUCODE_SEL].sd = pmap->pm_codeseg;
sys/arch/i386/i386/machdep.c
2899
curcpu()->ci_gdt[GUFS_SEL].sd = pcb->pcb_threadsegs[TSEG_FS];
sys/arch/i386/i386/machdep.c
2900
curcpu()->ci_gdt[GUGS_SEL].sd = pcb->pcb_threadsegs[TSEG_GS];
sys/arch/i386/i386/machdep.c
2999
setsegment(struct segment_descriptor *sd, void *base, size_t limit, int type,
sys/arch/i386/i386/machdep.c
3003
sd->sd_lolimit = (int)limit;
sys/arch/i386/i386/machdep.c
3004
sd->sd_lobase = (int)base;
sys/arch/i386/i386/machdep.c
3005
sd->sd_type = type;
sys/arch/i386/i386/machdep.c
3006
sd->sd_dpl = dpl;
sys/arch/i386/i386/machdep.c
3007
sd->sd_p = 1;
sys/arch/i386/i386/machdep.c
3008
sd->sd_hilimit = (int)limit >> 16;
sys/arch/i386/i386/machdep.c
3009
sd->sd_xx = 0;
sys/arch/i386/i386/machdep.c
3010
sd->sd_def32 = def32;
sys/arch/i386/i386/machdep.c
3011
sd->sd_gran = gran;
sys/arch/i386/i386/machdep.c
3012
sd->sd_hibase = (int)base >> 24;
sys/arch/i386/i386/machdep.c
3089
setsegment(&cpu_info_primary.ci_gdt[GCODE_SEL].sd, 0, 0xfffff,
sys/arch/i386/i386/machdep.c
3091
setsegment(&cpu_info_primary.ci_gdt[GICODE_SEL].sd, 0, 0xfffff,
sys/arch/i386/i386/machdep.c
3093
setsegment(&cpu_info_primary.ci_gdt[GDATA_SEL].sd, 0, 0xfffff,
sys/arch/i386/i386/machdep.c
3095
setsegment(&cpu_info_primary.ci_gdt[GUCODE_SEL].sd, 0,
sys/arch/i386/i386/machdep.c
3097
setsegment(&cpu_info_primary.ci_gdt[GUDATA_SEL].sd, 0,
sys/arch/i386/i386/machdep.c
3099
setsegment(&cpu_info_primary.ci_gdt[GCPU_SEL].sd, &cpu_info_primary,
sys/arch/i386/i386/machdep.c
3101
setsegment(&cpu_info_primary.ci_gdt[GUFS_SEL].sd, 0,
sys/arch/i386/i386/machdep.c
3103
setsegment(&cpu_info_primary.ci_gdt[GUGS_SEL].sd, 0,
sys/arch/i386/i386/machdep.c
3105
setsegment(&cpu_info_primary.ci_gdt[GTSS_SEL].sd,
sys/arch/i386/i386/machdep.c
3108
setsegment(&cpu_info_primary.ci_gdt[GNMITSS_SEL].sd,
sys/arch/i386/i386/pmap.c
1532
self->ci_gdt[GUCODE_SEL].sd = pmap->pm_codeseg;
sys/arch/i386/i386/pmap.c
1533
self->ci_gdt[GUFS_SEL].sd = pcb->pcb_threadsegs[TSEG_FS];
sys/arch/i386/i386/pmap.c
1534
self->ci_gdt[GUGS_SEL].sd = pcb->pcb_threadsegs[TSEG_GS];
sys/arch/i386/i386/pmap.c
810
curcpu()->ci_gdt[GUCODE_SEL].sd = pm->pm_codeseg;
sys/arch/i386/i386/sys_machdep.c
113
curcpu()->ci_gdt[which == TSEG_FS ? GUFS_SEL : GUGS_SEL].sd
sys/arch/i386/i386/trap.c
242
vaddr_t gdt_cs = SEGDESC_LIMIT(curcpu()->ci_gdt[GUCODE_SEL].sd);
sys/arch/i386/include/segments.h
101
struct segment_descriptor sd;
sys/arch/i386/include/segments.h
118
#define SEGDESC_LIMIT(sd) (ptoa(((sd).sd_hilimit << 16) | (sd).sd_lolimit))
sys/arch/i386/isa/ahc_isa.c
488
struct seeprom_descriptor sd;
sys/arch/i386/isa/ahc_isa.c
494
sd.sd_tag = ahc->tag;
sys/arch/i386/isa/ahc_isa.c
495
sd.sd_bsh = ahc->bsh;
sys/arch/i386/isa/ahc_isa.c
496
sd.sd_regsize = 1;
sys/arch/i386/isa/ahc_isa.c
497
sd.sd_control_offset = SEECTL_2840;
sys/arch/i386/isa/ahc_isa.c
498
sd.sd_status_offset = STATUS_2840;
sys/arch/i386/isa/ahc_isa.c
499
sd.sd_dataout_offset = STATUS_2840;
sys/arch/i386/isa/ahc_isa.c
500
sd.sd_chip = C46;
sys/arch/i386/isa/ahc_isa.c
501
sd.sd_MS = 0;
sys/arch/i386/isa/ahc_isa.c
502
sd.sd_RDY = EEPROM_TF;
sys/arch/i386/isa/ahc_isa.c
503
sd.sd_CS = CS_2840;
sys/arch/i386/isa/ahc_isa.c
504
sd.sd_CK = CK_2840;
sys/arch/i386/isa/ahc_isa.c
505
sd.sd_DO = DO_2840;
sys/arch/i386/isa/ahc_isa.c
506
sd.sd_DI = DI_2840;
sys/arch/i386/isa/ahc_isa.c
510
have_seeprom = read_seeprom(&sd,
sys/arch/landisk/landisk/conf.c
166
bdev_disk_init(NSD,sd), /* 24: SCSI disk */
sys/arch/landisk/landisk/conf.c
272
cdev_disk_init(NSD,sd), /* 24: SCSI disk */
sys/arch/loongson/loongson/conf.c
144
cdev_disk_init(NSD,sd), /* 9: SCSI disk */
sys/arch/loongson/loongson/conf.c
63
bdev_disk_init(NSD,sd), /* 0: SCSI disk */
sys/arch/luna88k/luna88k/conf.c
111
cdev_disk_init(NSD,sd), /* 8: SCSI disk */
sys/arch/luna88k/luna88k/conf.c
83
bdev_disk_init(NSD,sd), /* 4: SCSI disk */
sys/arch/macppc/macppc/conf.c
138
cdev_disk_init(NSD,sd), /* 8: SCSI disk */
sys/arch/macppc/macppc/conf.c
58
bdev_disk_init(NSD,sd), /* 2 SCSI Disk */
sys/arch/mips64/include/asm.h
148
#define REG_S sd
sys/arch/mips64/include/asm.h
169
#define PTR_S sd
sys/arch/mips64/include/asm.h
195
sd ra, 56(sp); \
sys/arch/mips64/include/asm.h
196
sd gp, 48(sp); \
sys/arch/octeon/octeon/conf.c
160
cdev_disk_init(NSD,sd), /* 9: SCSI disk */
sys/arch/octeon/octeon/conf.c
69
bdev_disk_init(NSD,sd), /* 0: SCSI disk */
sys/arch/powerpc64/powerpc64/conf.c
136
cdev_disk_init(NSD,sd), /* 26: SCSI disk */
sys/arch/powerpc64/powerpc64/conf.c
54
bdev_disk_init(NSD,sd), /* 3: SCSI disk */
sys/arch/riscv64/include/asm.h
114
sd handler, PCB_ONFAULT(tmp0); /* Set the handler */ \
sys/arch/riscv64/include/asm.h
119
sd handler, PCB_ONFAULT(pcb) /* Set the handler */
sys/arch/riscv64/include/asm.h
65
sd ra, 8(sp); \
sys/arch/riscv64/include/asm.h
66
sd fp, 0(sp); \
sys/arch/riscv64/riscv64/conf.c
137
cdev_disk_init(NSD,sd), /* 13: SCSI disk */
sys/arch/riscv64/riscv64/conf.c
55
bdev_disk_init(NSD,sd), /* 4: SCSI disk */
sys/arch/riscv64/riscv64/db_instruction.h
2233
DECLARE_INSN(sd, MATCH_SD, MASK_SD)
sys/arch/sparc64/sparc64/conf.c
128
bdev_disk_init(NSD,sd), /* 7: SCSI disk */
sys/arch/sparc64/sparc64/conf.c
169
cdev_disk_init(NSD,sd), /* 17: SCSI disk */
sys/dev/ata/atascsi.c
1501
struct scsi_sense_data *sd = (struct scsi_sense_data *)xs->data;
sys/dev/ata/atascsi.c
1505
sd->error_code = SSD_ERRCODE_CURRENT;
sys/dev/ata/atascsi.c
1506
sd->flags = SKEY_NO_SENSE;
sys/dev/ata/atascsi.c
1652
struct scsi_sense_data *sd = &xs->sense;
sys/dev/ata/atascsi.c
1660
sd->error_code = SSD_ERRCODE_CURRENT;
sys/dev/ata/atascsi.c
1661
sd->flags = (xa->rfis.error & 0xf0) >> 4;
sys/dev/ata/atascsi.c
1663
sd->flags = SKEY_ILLEGAL_REQUEST;
sys/dev/ata/atascsi.c
1665
sd->flags |= SSD_EOM;
sys/dev/ata/atascsi.c
1667
sd->flags |= SSD_ILI;
sys/dev/ata/atascsi.c
1709
struct scsi_sense_data *sd = (struct scsi_sense_data *)xs->data;
sys/dev/ata/atascsi.c
1712
sd->error_code = SSD_ERRCODE_CURRENT;
sys/dev/ata/atascsi.c
1713
sd->flags = SKEY_NO_SENSE;
sys/dev/ic/aac.c
2104
struct scsi_sense_data sd;
sys/dev/ic/aac.c
2123
bzero(&sd, sizeof sd);
sys/dev/ic/aac.c
2124
sd.error_code = SSD_ERRCODE_CURRENT;
sys/dev/ic/aac.c
2125
sd.segment = 0;
sys/dev/ic/aac.c
2126
sd.flags = SKEY_NO_SENSE;
sys/dev/ic/aac.c
2127
aac_enc32(sd.info, 0);
sys/dev/ic/aac.c
2128
sd.extra_len = 0;
sys/dev/ic/aac.c
2129
scsi_copy_internal_data(xs, &sd, sizeof(sd));
sys/dev/ic/aic7xxx_seeprom.c
101
sd.sd_tag = ahc->tag;
sys/dev/ic/aic7xxx_seeprom.c
102
sd.sd_bsh = ahc->bsh;
sys/dev/ic/aic7xxx_seeprom.c
103
sd.sd_regsize = 1;
sys/dev/ic/aic7xxx_seeprom.c
104
sd.sd_control_offset = SEECTL;
sys/dev/ic/aic7xxx_seeprom.c
105
sd.sd_status_offset = SEECTL;
sys/dev/ic/aic7xxx_seeprom.c
106
sd.sd_dataout_offset = SEECTL;
sys/dev/ic/aic7xxx_seeprom.c
116
sd.sd_chip = C56_66;
sys/dev/ic/aic7xxx_seeprom.c
118
sd.sd_chip = C46;
sys/dev/ic/aic7xxx_seeprom.c
120
sd.sd_MS = SEEMS;
sys/dev/ic/aic7xxx_seeprom.c
121
sd.sd_RDY = SEERDY;
sys/dev/ic/aic7xxx_seeprom.c
122
sd.sd_CS = SEECS;
sys/dev/ic/aic7xxx_seeprom.c
123
sd.sd_CK = SEECK;
sys/dev/ic/aic7xxx_seeprom.c
124
sd.sd_DO = SEEDO;
sys/dev/ic/aic7xxx_seeprom.c
125
sd.sd_DI = SEEDI;
sys/dev/ic/aic7xxx_seeprom.c
127
have_seeprom = ahc_acquire_seeprom(ahc, &sd);
sys/dev/ic/aic7xxx_seeprom.c
137
have_seeprom = read_seeprom(&sd, (uint16_t *)sc,
sys/dev/ic/aic7xxx_seeprom.c
144
if (have_seeprom != 0 || sd.sd_chip == C56_66) {
sys/dev/ic/aic7xxx_seeprom.c
153
sd.sd_chip = C56_66;
sys/dev/ic/aic7xxx_seeprom.c
155
ahc_release_seeprom(&sd);
sys/dev/ic/aic7xxx_seeprom.c
224
ahc_acquire_seeprom(ahc, &sd);
sys/dev/ic/aic7xxx_seeprom.c
225
configure_termination(ahc, &sd, sc->adapter_control, sxfrctl1);
sys/dev/ic/aic7xxx_seeprom.c
226
ahc_release_seeprom(&sd);
sys/dev/ic/aic7xxx_seeprom.c
356
struct seeprom_descriptor *sd,
sys/dev/ic/aic7xxx_seeprom.c
375
SEEPROM_OUTB(sd, sd->sd_MS | sd->sd_CS);
sys/dev/ic/aic7xxx_seeprom.c
577
SEEPROM_OUTB(sd, sd->sd_MS); /* Clear CS */
sys/dev/ic/aic7xxx_seeprom.c
664
ahc_acquire_seeprom(struct ahc_softc *ahc, struct seeprom_descriptor *sd)
sys/dev/ic/aic7xxx_seeprom.c
679
SEEPROM_OUTB(sd, sd->sd_MS);
sys/dev/ic/aic7xxx_seeprom.c
681
while (--wait && ((SEEPROM_STATUS_INB(sd) & sd->sd_RDY) == 0)) {
sys/dev/ic/aic7xxx_seeprom.c
684
if ((SEEPROM_STATUS_INB(sd) & sd->sd_RDY) == 0) {
sys/dev/ic/aic7xxx_seeprom.c
685
SEEPROM_OUTB(sd, 0);
sys/dev/ic/aic7xxx_seeprom.c
692
ahc_release_seeprom(struct seeprom_descriptor *sd)
sys/dev/ic/aic7xxx_seeprom.c
695
SEEPROM_OUTB(sd, 0);
sys/dev/ic/aic7xxx_seeprom.c
96
struct seeprom_descriptor sd;
sys/dev/ic/aic7xxxvar.h
1333
struct seeprom_descriptor *sd);
sys/dev/ic/aic7xxxvar.h
1334
void ahc_release_seeprom(struct seeprom_descriptor *sd);
sys/dev/ic/ami.c
1301
struct scsi_sense_data sd;
sys/dev/ic/ami.c
1364
bzero(&sd, sizeof(sd));
sys/dev/ic/ami.c
1365
sd.error_code = SSD_ERRCODE_CURRENT;
sys/dev/ic/ami.c
1366
sd.segment = 0;
sys/dev/ic/ami.c
1367
sd.flags = SKEY_NO_SENSE;
sys/dev/ic/ami.c
1368
*(u_int32_t*)sd.info = htole32(0);
sys/dev/ic/ami.c
1369
sd.extra_len = 0;
sys/dev/ic/ami.c
1370
scsi_copy_internal_data(xs, &sd, sizeof(sd));
sys/dev/ic/atw.c
351
struct seeprom_descriptor sd;
sys/dev/ic/atw.c
354
(void)memset(&sd, 0, sizeof(sd));
sys/dev/ic/atw.c
376
sd.sd_chip = C56_66;
sys/dev/ic/atw.c
381
sd.sd_chip = C46;
sys/dev/ic/atw.c
402
sd.sd_tag = sc->sc_st;
sys/dev/ic/atw.c
403
sd.sd_bsh = sc->sc_sh;
sys/dev/ic/atw.c
404
sd.sd_regsize = 4;
sys/dev/ic/atw.c
405
sd.sd_control_offset = ATW_SPR;
sys/dev/ic/atw.c
406
sd.sd_status_offset = ATW_SPR;
sys/dev/ic/atw.c
407
sd.sd_dataout_offset = ATW_SPR;
sys/dev/ic/atw.c
408
sd.sd_CK = ATW_SPR_SCLK;
sys/dev/ic/atw.c
409
sd.sd_CS = ATW_SPR_SCS;
sys/dev/ic/atw.c
410
sd.sd_DI = ATW_SPR_SDO;
sys/dev/ic/atw.c
411
sd.sd_DO = ATW_SPR_SDI;
sys/dev/ic/atw.c
412
sd.sd_MS = ATW_SPR_SRS;
sys/dev/ic/atw.c
413
sd.sd_RDY = 0;
sys/dev/ic/atw.c
415
if (!read_seeprom(&sd, sc->sc_srom, 0, sc->sc_sromsz/2)) {
sys/dev/ic/cac.c
566
struct scsi_sense_data sd;
sys/dev/ic/cac.c
594
bzero(&sd, sizeof sd);
sys/dev/ic/cac.c
595
sd.error_code = SSD_ERRCODE_CURRENT;
sys/dev/ic/cac.c
596
sd.segment = 0;
sys/dev/ic/cac.c
597
sd.flags = SKEY_NO_SENSE;
sys/dev/ic/cac.c
598
*(u_int32_t*)sd.info = htole32(0);
sys/dev/ic/cac.c
599
sd.extra_len = 0;
sys/dev/ic/cac.c
600
scsi_copy_internal_data(xs, &sd, sizeof(sd));
sys/dev/ic/gdt_common.c
863
struct scsi_sense_data sd;
sys/dev/ic/gdt_common.c
881
bzero(&sd, sizeof sd);
sys/dev/ic/gdt_common.c
882
sd.error_code = SSD_ERRCODE_CURRENT;
sys/dev/ic/gdt_common.c
883
sd.segment = 0;
sys/dev/ic/gdt_common.c
884
sd.flags = SKEY_NO_SENSE;
sys/dev/ic/gdt_common.c
885
gdt_enc32(sd.info, 0);
sys/dev/ic/gdt_common.c
886
sd.extra_len = 0;
sys/dev/ic/gdt_common.c
887
scsi_copy_internal_data(xs, &sd, sizeof(sd));
sys/dev/ic/gem.c
1649
struct gem_sxd *sd;
sys/dev/ic/gem.c
1656
sd = &sc->sc_txd[cons];
sys/dev/ic/gem.c
1657
if (sd->sd_mbuf != NULL) {
sys/dev/ic/gem.c
1658
bus_dmamap_sync(sc->sc_dmatag, sd->sd_map, 0,
sys/dev/ic/gem.c
1659
sd->sd_map->dm_mapsize, BUS_DMASYNC_POSTWRITE);
sys/dev/ic/gem.c
1660
bus_dmamap_unload(sc->sc_dmatag, sd->sd_map);
sys/dev/ic/gem.c
1661
m_freem(sd->sd_mbuf);
sys/dev/ic/gem.c
1662
sd->sd_mbuf = NULL;
sys/dev/ic/gem.c
1686
gem_load_mbuf(struct gem_softc *sc, struct gem_sxd *sd, struct mbuf *m)
sys/dev/ic/gem.c
1690
error = bus_dmamap_load_mbuf(sc->sc_dmatag, sd->sd_map, m,
sys/dev/ic/gem.c
1698
bus_dmamap_load_mbuf(sc->sc_dmatag, sd->sd_map, m,
sys/dev/ic/gem.c
1714
struct gem_sxd *sd;
sys/dev/ic/gem.c
1746
sd = &sc->sc_txd[first];
sys/dev/ic/gem.c
1747
map = sd->sd_map;
sys/dev/ic/gem.c
1749
if (gem_load_mbuf(sc, sd, m)) {
sys/dev/ic/gem.c
534
struct gem_sxd *sd;
sys/dev/ic/gem.c
564
sd = &sc->sc_txd[i];
sys/dev/ic/gem.c
565
if (sd->sd_mbuf != NULL) {
sys/dev/ic/gem.c
566
bus_dmamap_sync(sc->sc_dmatag, sd->sd_map, 0,
sys/dev/ic/gem.c
567
sd->sd_map->dm_mapsize, BUS_DMASYNC_POSTWRITE);
sys/dev/ic/gem.c
568
bus_dmamap_unload(sc->sc_dmatag, sd->sd_map);
sys/dev/ic/gem.c
569
m_freem(sd->sd_mbuf);
sys/dev/ic/gem.c
570
sd->sd_mbuf = NULL;
sys/dev/ic/hme.c
1256
struct hme_sxd *sd;
sys/dev/ic/hme.c
1264
sd = &sc->sc_rxd[sc->sc_rx_prod];
sys/dev/ic/hme.c
1266
sd->sd_map->dm_segs[0].ds_addr);
sys/dev/ic/hme.c
748
struct hme_sxd *sd;
sys/dev/ic/hme.c
753
sd = &sc->sc_txd[ri];
sys/dev/ic/hme.c
766
if (sd->sd_mbuf != NULL) {
sys/dev/ic/hme.c
767
bus_dmamap_sync(sc->sc_dmatag, sd->sd_map,
sys/dev/ic/hme.c
768
0, sd->sd_map->dm_mapsize, BUS_DMASYNC_POSTWRITE);
sys/dev/ic/hme.c
769
bus_dmamap_unload(sc->sc_dmatag, sd->sd_map);
sys/dev/ic/hme.c
770
m_freem(sd->sd_mbuf);
sys/dev/ic/hme.c
771
sd->sd_mbuf = NULL;
sys/dev/ic/hme.c
776
sd = sc->sc_txd;
sys/dev/ic/hme.c
778
sd++;
sys/dev/ic/hme.c
803
struct hme_sxd *sd;
sys/dev/ic/hme.c
808
sd = &sc->sc_rxd[ri];
sys/dev/ic/hme.c
818
bus_dmamap_sync(sc->sc_dmatag, sd->sd_map,
sys/dev/ic/hme.c
819
0, sd->sd_map->dm_mapsize, BUS_DMASYNC_POSTREAD);
sys/dev/ic/hme.c
820
bus_dmamap_unload(sc->sc_dmatag, sd->sd_map);
sys/dev/ic/hme.c
822
m = sd->sd_mbuf;
sys/dev/ic/hme.c
823
sd->sd_mbuf = NULL;
sys/dev/ic/hme.c
827
sd = sc->sc_rxd;
sys/dev/ic/hme.c
829
sd++;
sys/dev/ic/nvme.c
1926
const struct sd_softc *sd;
sys/dev/ic/nvme.c
1931
sd = (struct sd_softc *)(link->device_softc);
sys/dev/ic/nvme.c
1932
if (ISSET(link->state, SDEV_S_DYING) || sd == NULL ||
sys/dev/ic/nvme.c
1933
ISSET(sd->flags, SDF_DYING))
sys/dev/ic/nvme.c
1939
return DEVNAME(sd);
sys/dev/ic/nvme.c
2016
const char *sd;
sys/dev/ic/nvme.c
2040
sd = nvme_bioctl_sdname(sc, target);
sys/dev/ic/nvme.c
2041
if (sd) {
sys/dev/ic/nvme.c
2042
strlcpy(bv->bv_dev, sd, sizeof(bv->bv_dev));
sys/dev/ic/rtw.c
639
struct seeprom_descriptor sd;
sys/dev/ic/rtw.c
642
bzero(&sd, sizeof(sd));
sys/dev/ic/rtw.c
649
sd.sd_chip = C56_66;
sys/dev/ic/rtw.c
653
sd.sd_chip = C46;
sys/dev/ic/rtw.c
673
sd.sd_tag = regs->r_bt;
sys/dev/ic/rtw.c
674
sd.sd_bsh = regs->r_bh;
sys/dev/ic/rtw.c
675
sd.sd_regsize = 1;
sys/dev/ic/rtw.c
676
sd.sd_control_offset = RTW_9346CR;
sys/dev/ic/rtw.c
677
sd.sd_status_offset = RTW_9346CR;
sys/dev/ic/rtw.c
678
sd.sd_dataout_offset = RTW_9346CR;
sys/dev/ic/rtw.c
679
sd.sd_CK = RTW_9346CR_EESK;
sys/dev/ic/rtw.c
680
sd.sd_CS = RTW_9346CR_EECS;
sys/dev/ic/rtw.c
681
sd.sd_DI = RTW_9346CR_EEDO;
sys/dev/ic/rtw.c
682
sd.sd_DO = RTW_9346CR_EEDI;
sys/dev/ic/rtw.c
684
sd.sd_MS = ecr;
sys/dev/ic/rtw.c
685
sd.sd_RDY = 0;
sys/dev/ic/rtw.c
688
if (!read_seeprom(&sd, sr->sr_content, 0, sr->sr_size/2)) {
sys/dev/ic/smc93cx6.c
109
temp = sd->sd_MS ^ sd->sd_CS;
sys/dev/ic/smc93cx6.c
110
SEEPROM_OUTB(sd, temp ^ sd->sd_CK);
sys/dev/ic/smc93cx6.c
111
CLOCK_PULSE(sd, sd->sd_RDY);
sys/dev/ic/smc93cx6.c
119
temp ^= sd->sd_DO;
sys/dev/ic/smc93cx6.c
120
SEEPROM_OUTB(sd, temp);
sys/dev/ic/smc93cx6.c
121
CLOCK_PULSE(sd, sd->sd_RDY);
sys/dev/ic/smc93cx6.c
122
SEEPROM_OUTB(sd, temp ^ sd->sd_CK);
sys/dev/ic/smc93cx6.c
123
CLOCK_PULSE(sd, sd->sd_RDY);
sys/dev/ic/smc93cx6.c
125
temp ^= sd->sd_DO;
sys/dev/ic/smc93cx6.c
128
for (i = (sd->sd_chip - 1); i >= 0; i--) {
sys/dev/ic/smc93cx6.c
130
temp ^= sd->sd_DO;
sys/dev/ic/smc93cx6.c
131
SEEPROM_OUTB(sd, temp);
sys/dev/ic/smc93cx6.c
132
CLOCK_PULSE(sd, sd->sd_RDY);
sys/dev/ic/smc93cx6.c
133
SEEPROM_OUTB(sd, temp ^ sd->sd_CK);
sys/dev/ic/smc93cx6.c
134
CLOCK_PULSE(sd, sd->sd_RDY);
sys/dev/ic/smc93cx6.c
136
temp ^= sd->sd_DO;
sys/dev/ic/smc93cx6.c
147
SEEPROM_OUTB(sd, temp);
sys/dev/ic/smc93cx6.c
148
CLOCK_PULSE(sd, sd->sd_RDY);
sys/dev/ic/smc93cx6.c
150
if (SEEPROM_DATA_INB(sd) & sd->sd_DI)
sys/dev/ic/smc93cx6.c
152
SEEPROM_OUTB(sd, temp ^ sd->sd_CK);
sys/dev/ic/smc93cx6.c
153
CLOCK_PULSE(sd, sd->sd_RDY);
sys/dev/ic/smc93cx6.c
159
temp = sd->sd_MS;
sys/dev/ic/smc93cx6.c
160
SEEPROM_OUTB(sd, temp);
sys/dev/ic/smc93cx6.c
161
CLOCK_PULSE(sd, sd->sd_RDY);
sys/dev/ic/smc93cx6.c
162
SEEPROM_OUTB(sd, temp ^ sd->sd_CK);
sys/dev/ic/smc93cx6.c
163
CLOCK_PULSE(sd, sd->sd_RDY);
sys/dev/ic/smc93cx6.c
164
SEEPROM_OUTB(sd, temp);
sys/dev/ic/smc93cx6.c
165
CLOCK_PULSE(sd, sd->sd_RDY);
sys/dev/ic/smc93cx6.c
75
#define CLOCK_PULSE(sd, rdy) do { \
sys/dev/ic/smc93cx6.c
84
while ((SEEPROM_STATUS_INB(sd) & rdy) == 0 && cpi-- > 0) { \
sys/dev/ic/smc93cx6.c
87
(void)SEEPROM_INB(sd); /* Clear clock */ \
sys/dev/ic/smc93cx6.c
95
read_seeprom(struct seeprom_descriptor *sd, u_int16_t *buf,
sys/dev/ic/smc93cx6var.h
100
? bus_space_read_4((sd)->sd_tag, (sd)->sd_bsh, \
sys/dev/ic/smc93cx6var.h
101
(sd)->sd_status_offset) \
sys/dev/ic/smc93cx6var.h
102
: bus_space_read_1((sd)->sd_tag, (sd)->sd_bsh, \
sys/dev/ic/smc93cx6var.h
103
(sd)->sd_status_offset))
sys/dev/ic/smc93cx6var.h
105
#define SEEPROM_DATA_INB(sd) \
sys/dev/ic/smc93cx6var.h
106
(((sd)->sd_regsize == 4) \
sys/dev/ic/smc93cx6var.h
107
? bus_space_read_4((sd)->sd_tag, (sd)->sd_bsh, \
sys/dev/ic/smc93cx6var.h
108
(sd)->sd_dataout_offset) \
sys/dev/ic/smc93cx6var.h
109
: bus_space_read_1((sd)->sd_tag, (sd)->sd_bsh, \
sys/dev/ic/smc93cx6var.h
110
(sd)->sd_dataout_offset))
sys/dev/ic/smc93cx6var.h
81
#define SEEPROM_INB(sd) \
sys/dev/ic/smc93cx6var.h
82
(((sd)->sd_regsize == 4) \
sys/dev/ic/smc93cx6var.h
83
? bus_space_read_4((sd)->sd_tag, (sd)->sd_bsh, \
sys/dev/ic/smc93cx6var.h
84
(sd)->sd_control_offset) \
sys/dev/ic/smc93cx6var.h
85
: bus_space_read_1((sd)->sd_tag, (sd)->sd_bsh, \
sys/dev/ic/smc93cx6var.h
86
(sd)->sd_control_offset))
sys/dev/ic/smc93cx6var.h
88
#define SEEPROM_OUTB(sd, value) \
sys/dev/ic/smc93cx6var.h
90
if ((sd)->sd_regsize == 4) \
sys/dev/ic/smc93cx6var.h
91
bus_space_write_4((sd)->sd_tag, (sd)->sd_bsh, \
sys/dev/ic/smc93cx6var.h
92
(sd)->sd_control_offset, (value)); \
sys/dev/ic/smc93cx6var.h
94
bus_space_write_1((sd)->sd_tag, (sd)->sd_bsh, \
sys/dev/ic/smc93cx6var.h
95
(sd)->sd_control_offset, (u_int8_t) (value)); \
sys/dev/ic/smc93cx6var.h
98
#define SEEPROM_STATUS_INB(sd) \
sys/dev/ic/smc93cx6var.h
99
(((sd)->sd_regsize == 4) \
sys/dev/ic/twe.c
752
struct scsi_sense_data sd;
sys/dev/ic/twe.c
785
bzero(&sd, sizeof sd);
sys/dev/ic/twe.c
786
sd.error_code = SSD_ERRCODE_CURRENT;
sys/dev/ic/twe.c
787
sd.segment = 0;
sys/dev/ic/twe.c
788
sd.flags = SKEY_NO_SENSE;
sys/dev/ic/twe.c
789
*(u_int32_t*)sd.info = htole32(0);
sys/dev/ic/twe.c
790
sd.extra_len = 0;
sys/dev/ic/twe.c
791
scsi_copy_internal_data(xs, &sd, sizeof(sd));
sys/dev/ofw/ofw_misc.c
353
sfp_register(struct sfp_device *sd)
sys/dev/ofw/ofw_misc.c
355
sd->sd_phandle = OF_getpropint(sd->sd_node, "phandle", 0);
sys/dev/ofw/ofw_misc.c
356
if (sd->sd_phandle == 0)
sys/dev/ofw/ofw_misc.c
359
LIST_INSERT_HEAD(&sfp_devices, sd, sd_list);
sys/dev/ofw/ofw_misc.c
365
struct sfp_device *sd;
sys/dev/ofw/ofw_misc.c
370
LIST_FOREACH(sd, &sfp_devices, sd_list) {
sys/dev/ofw/ofw_misc.c
371
if (sd->sd_phandle == phandle)
sys/dev/ofw/ofw_misc.c
372
return sd->sd_enable(sd->sd_cookie, enable);
sys/dev/ofw/ofw_misc.c
393
struct sfp_device *sd;
sys/dev/ofw/ofw_misc.c
398
LIST_FOREACH(sd, &sfp_devices, sd_list) {
sys/dev/ofw/ofw_misc.c
399
if (sd->sd_phandle == phandle)
sys/dev/ofw/ofw_misc.c
400
return sd->sd_get_sffpage(sd->sd_cookie, sff);
sys/dev/pci/drm/amd/amdgpu/amdgpu_aca.c
738
if (adev->dev->kobj.sd)
sys/dev/pci/drm/amd/amdgpu/amdgpu_display.h
38
#define amdgpu_display_add_connector(adev, ci, sd, ct, ib, coi, h, r) (adev)->mode_info.funcs->add_connector((adev), (ci), (sd), (ct), (ib), (coi), (h), (r))
sys/dev/pci/drm/amd/amdgpu/amdgpu_gfx.c
1912
if (adev->dev->kobj.sd) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_jpeg.c
459
if (adev->dev->kobj.sd) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_preempt_mgr.c
141
if (adev->dev->kobj.sd)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1910
if (adev->dev->kobj.sd)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1931
if (adev->dev->kobj.sd)
sys/dev/pci/drm/amd/amdgpu/amdgpu_ras.c
1993
if (adev->dev->kobj.sd)
sys/dev/pci/drm/amd/amdgpu/amdgpu_sdma.c
497
if (adev->dev->kobj.sd) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_vcn.c
1386
if (adev->dev->kobj.sd) {
sys/dev/pci/drm/amd/amdgpu/amdgpu_vpe.c
955
if (adev->dev->kobj.sd) {
sys/dev/pci/drm/amd/amdgpu/df_v3_6.c
258
if (adev->dev->kobj.sd)
sys/dev/pci/drm/radeon/radeon.h
1590
unsigned sd;
sys/dev/pci/drm/radeon/radeon_pm.c
1210
enable |= rdev->pm.dpm.sd > 0;
sys/dev/pci/drm/radeon/radeon_pm.c
1221
if ((rdev->pm.dpm.sd == 1) && (rdev->pm.dpm.hd == 0))
sys/dev/pci/drm/radeon/radeon_pm.c
1223
else if ((rdev->pm.dpm.sd == 2) && (rdev->pm.dpm.hd == 0))
sys/dev/pci/drm/radeon/radeon_pm.c
1225
else if ((rdev->pm.dpm.sd == 0) && (rdev->pm.dpm.hd == 1))
sys/dev/pci/drm/radeon/radeon_pm.c
1227
else if ((rdev->pm.dpm.sd == 0) && (rdev->pm.dpm.hd == 2))
sys/dev/pci/drm/radeon/radeon_uvd.c
841
unsigned *sd, unsigned *hd)
sys/dev/pci/drm/radeon/radeon_uvd.c
845
*sd = 0;
sys/dev/pci/drm/radeon/radeon_uvd.c
855
++(*sd);
sys/dev/pci/drm/radeon/radeon_uvd.c
866
radeon_uvd_count_handles(rdev, &rdev->pm.dpm.sd,
sys/dev/pci/drm/radeon/radeon_uvd.c
886
unsigned hd = 0, sd = 0;
sys/dev/pci/drm/radeon/radeon_uvd.c
887
radeon_uvd_count_handles(rdev, &sd, &hd);
sys/dev/pci/drm/radeon/radeon_uvd.c
888
if ((rdev->pm.dpm.sd != sd) ||
sys/dev/pci/drm/radeon/radeon_uvd.c
890
rdev->pm.dpm.sd = sd;
sys/dev/pci/if_cas.c
1830
struct cas_sxd *sd;
sys/dev/pci/if_cas.c
1838
sd = &sc->sc_txd[cons];
sys/dev/pci/if_cas.c
1839
if (sd->sd_mbuf != NULL) {
sys/dev/pci/if_cas.c
1840
bus_dmamap_sync(sc->sc_dmatag, sd->sd_map, 0,
sys/dev/pci/if_cas.c
1841
sd->sd_map->dm_mapsize, BUS_DMASYNC_POSTWRITE);
sys/dev/pci/if_cas.c
1842
bus_dmamap_unload(sc->sc_dmatag, sd->sd_map);
sys/dev/pci/if_cas.c
1843
m_freem(sd->sd_mbuf);
sys/dev/pci/if_cas.c
1844
sd->sd_mbuf = NULL;
sys/dev/pci/if_cas.c
708
struct cas_sxd *sd;
sys/dev/pci/if_cas.c
734
sd = &sc->sc_txd[i];
sys/dev/pci/if_cas.c
735
if (sd->sd_mbuf != NULL) {
sys/dev/pci/if_cas.c
736
bus_dmamap_sync(sc->sc_dmatag, sd->sd_map, 0,
sys/dev/pci/if_cas.c
737
sd->sd_map->dm_mapsize, BUS_DMASYNC_POSTWRITE);
sys/dev/pci/if_cas.c
738
bus_dmamap_unload(sc->sc_dmatag, sd->sd_map);
sys/dev/pci/if_cas.c
739
m_freem(sd->sd_mbuf);
sys/dev/pci/if_cas.c
740
sd->sd_mbuf = NULL;
sys/dev/pci/if_txp.c
1001
MCLGET(sd->sd_mbuf, M_DONTWAIT);
sys/dev/pci/if_txp.c
1002
if ((sd->sd_mbuf->m_flags & M_EXT) == 0) {
sys/dev/pci/if_txp.c
1005
sd->sd_mbuf->m_pkthdr.len = sd->sd_mbuf->m_len = MCLBYTES;
sys/dev/pci/if_txp.c
1007
TXP_MAX_PKTLEN, 0, BUS_DMA_NOWAIT, &sd->sd_map)) {
sys/dev/pci/if_txp.c
1010
if (bus_dmamap_load_mbuf(sc->sc_dmat, sd->sd_map, sd->sd_mbuf,
sys/dev/pci/if_txp.c
1012
bus_dmamap_destroy(sc->sc_dmat, sd->sd_map);
sys/dev/pci/if_txp.c
1015
bus_dmamap_sync(sc->sc_dmat, sd->sd_map, 0,
sys/dev/pci/if_txp.c
1016
sd->sd_map->dm_mapsize, BUS_DMASYNC_PREREAD);
sys/dev/pci/if_txp.c
1019
((u_int64_t)sd->sd_map->dm_segs[0].ds_addr) & 0xffffffff;
sys/dev/pci/if_txp.c
1021
((u_int64_t)sd->sd_map->dm_segs[0].ds_addr) >> 32;
sys/dev/pci/if_txp.c
1078
bcopy((u_long *)&sc->sc_rxbufs[i].rb_vaddrlo, &sd, sizeof(sd));
sys/dev/pci/if_txp.c
1079
if (sd)
sys/dev/pci/if_txp.c
1080
free(sd, M_DEVBUF, 0);
sys/dev/pci/if_txp.c
1266
struct txp_swdesc *sd;
sys/dev/pci/if_txp.c
1283
sd = sc->sc_txd + prod;
sys/dev/pci/if_txp.c
1284
sd->sd_mbuf = m;
sys/dev/pci/if_txp.c
1286
switch (bus_dmamap_load_mbuf(sc->sc_dmat, sd->sd_map, m,
sys/dev/pci/if_txp.c
1292
bus_dmamap_load_mbuf(sc->sc_dmat, sd->sd_map, m,
sys/dev/pci/if_txp.c
1308
txd->tx_numdesc = sd->sd_map->dm_nsegs;
sys/dev/pci/if_txp.c
1331
bus_dmamap_sync(sc->sc_dmat, sd->sd_map, 0,
sys/dev/pci/if_txp.c
1332
sd->sd_map->dm_mapsize, BUS_DMASYNC_PREWRITE);
sys/dev/pci/if_txp.c
1335
for (i = 0; i < sd->sd_map->dm_nsegs; i++) {
sys/dev/pci/if_txp.c
1339
fxd->frag_len = sd->sd_map->dm_segs[i].ds_len;
sys/dev/pci/if_txp.c
1341
((u_int64_t)sd->sd_map->dm_segs[i].ds_addr) &
sys/dev/pci/if_txp.c
1344
((u_int64_t)sd->sd_map->dm_segs[i].ds_addr) >>
sys/dev/pci/if_txp.c
595
struct txp_swdesc *sd;
sys/dev/pci/if_txp.c
619
bcopy((u_long *)&rxd->rx_vaddrlo, &sd, sizeof(sd));
sys/dev/pci/if_txp.c
621
bus_dmamap_sync(sc->sc_dmat, sd->sd_map, 0,
sys/dev/pci/if_txp.c
622
sd->sd_map->dm_mapsize, BUS_DMASYNC_POSTREAD);
sys/dev/pci/if_txp.c
623
bus_dmamap_unload(sc->sc_dmat, sd->sd_map);
sys/dev/pci/if_txp.c
624
bus_dmamap_destroy(sc->sc_dmat, sd->sd_map);
sys/dev/pci/if_txp.c
625
m = sd->sd_mbuf;
sys/dev/pci/if_txp.c
626
free(sd, M_DEVBUF, 0);
sys/dev/pci/if_txp.c
718
struct txp_swdesc *sd;
sys/dev/pci/if_txp.c
730
sd = (struct txp_swdesc *)malloc(sizeof(struct txp_swdesc),
sys/dev/pci/if_txp.c
732
if (sd == NULL)
sys/dev/pci/if_txp.c
735
MGETHDR(sd->sd_mbuf, M_DONTWAIT, MT_DATA);
sys/dev/pci/if_txp.c
736
if (sd->sd_mbuf == NULL)
sys/dev/pci/if_txp.c
739
MCLGET(sd->sd_mbuf, M_DONTWAIT);
sys/dev/pci/if_txp.c
740
if ((sd->sd_mbuf->m_flags & M_EXT) == 0)
sys/dev/pci/if_txp.c
742
sd->sd_mbuf->m_pkthdr.len = sd->sd_mbuf->m_len = MCLBYTES;
sys/dev/pci/if_txp.c
744
TXP_MAX_PKTLEN, 0, BUS_DMA_NOWAIT, &sd->sd_map))
sys/dev/pci/if_txp.c
746
if (bus_dmamap_load_mbuf(sc->sc_dmat, sd->sd_map, sd->sd_mbuf,
sys/dev/pci/if_txp.c
748
bus_dmamap_destroy(sc->sc_dmat, sd->sd_map);
sys/dev/pci/if_txp.c
757
bcopy(&sd, (u_long *)&rbd->rb_vaddrlo, sizeof(sd));
sys/dev/pci/if_txp.c
759
rbd->rb_paddrlo = ((u_int64_t)sd->sd_map->dm_segs[0].ds_addr)
sys/dev/pci/if_txp.c
761
rbd->rb_paddrhi = ((u_int64_t)sd->sd_map->dm_segs[0].ds_addr)
sys/dev/pci/if_txp.c
764
bus_dmamap_sync(sc->sc_dmat, sd->sd_map, 0,
sys/dev/pci/if_txp.c
765
sd->sd_map->dm_mapsize, BUS_DMASYNC_PREREAD);
sys/dev/pci/if_txp.c
782
m_freem(sd->sd_mbuf);
sys/dev/pci/if_txp.c
784
free(sd, M_DEVBUF, 0);
sys/dev/pci/if_txp.c
798
struct txp_swdesc *sd = sc->sc_txd + cons;
sys/dev/pci/if_txp.c
812
bus_dmamap_sync(sc->sc_dmat, sd->sd_map, 0,
sys/dev/pci/if_txp.c
813
sd->sd_map->dm_mapsize, BUS_DMASYNC_POSTWRITE);
sys/dev/pci/if_txp.c
814
bus_dmamap_unload(sc->sc_dmat, sd->sd_map);
sys/dev/pci/if_txp.c
815
m = sd->sd_mbuf;
sys/dev/pci/if_txp.c
827
sd = sc->sc_txd;
sys/dev/pci/if_txp.c
830
sd++;
sys/dev/pci/if_txp.c
846
struct txp_swdesc *sd;
sys/dev/pci/if_txp.c
987
sd = (struct txp_swdesc *)malloc(sizeof(struct txp_swdesc),
sys/dev/pci/if_txp.c
991
bcopy(&sd, (u_long *)&sc->sc_rxbufs[i].rb_vaddrlo, sizeof(sd));
sys/dev/pci/if_txp.c
993
if (sd == NULL)
sys/dev/pci/if_txp.c
996
MGETHDR(sd->sd_mbuf, M_DONTWAIT, MT_DATA);
sys/dev/pci/if_txp.c
997
if (sd->sd_mbuf == NULL) {
sys/dev/pci/ips.c
835
struct scsi_sense_data sd;
sys/dev/pci/ips.c
933
bzero(&sd, sizeof(sd));
sys/dev/pci/ips.c
934
sd.error_code = SSD_ERRCODE_CURRENT;
sys/dev/pci/ips.c
935
sd.flags = SKEY_NO_SENSE;
sys/dev/pci/ips.c
936
scsi_copy_internal_data(xs, &sd, sizeof(sd));
sys/dev/pci/sili_pci.c
103
const struct sili_device *sd;
sys/dev/pci/sili_pci.c
108
sd = sili_lookup(pa);
sys/dev/pci/sili_pci.c
116
sc->sc_nports = sd->sd_nports;
sys/dev/pci/sili_pci.c
79
const struct sili_device *sd;
sys/dev/pci/sili_pci.c
82
sd = &sili_devices[i];
sys/dev/pci/sili_pci.c
83
if (sd->sd_vendor == PCI_VENDOR(pa->pa_id) &&
sys/dev/pci/sili_pci.c
84
sd->sd_product == PCI_PRODUCT(pa->pa_id))
sys/dev/pci/sili_pci.c
85
return (sd);
sys/dev/softraid.c
1512
struct sr_discipline *sd;
sys/dev/softraid.c
1529
TAILQ_FOREACH(sd, &sc->sc_dis_list, sd_link) {
sys/dev/softraid.c
1530
SLIST_FOREACH(omi, &sd->sd_meta_opt, omi_link) {
sys/dev/softraid.c
1612
sr_meta_native_attach(struct sr_discipline *sd, int force)
sys/dev/softraid.c
1614
struct sr_softc *sc = sd->sd_sc;
sys/dev/softraid.c
1615
struct sr_chunk_head *cl = &sd->sd_vol.sv_chunk_list;
sys/dev/softraid.c
1637
if (sr_meta_native_read(sd, ch_entry->src_dev_mm, md, NULL)) {
sys/dev/softraid.c
1681
if (sr_meta_native_read(sd, ch_entry->src_dev_mm, md,
sys/dev/softraid.c
1685
sd->sd_vol.sv_chunks[d]->src_meta.scm_status =
sys/dev/softraid.c
1702
sr_meta_native_read(struct sr_discipline *sd, dev_t dev,
sys/dev/softraid.c
1706
struct sr_softc *sc = sd->sd_sc;
sys/dev/softraid.c
1711
return (sr_meta_rw(sd, dev, md, B_READ));
sys/dev/softraid.c
1715
sr_meta_native_write(struct sr_discipline *sd, dev_t dev,
sys/dev/softraid.c
1719
struct sr_softc *sc = sd->sd_sc;
sys/dev/softraid.c
1724
return (sr_meta_rw(sd, dev, md, B_WRITE));
sys/dev/softraid.c
1728
sr_hotplug_register(struct sr_discipline *sd, void *func)
sys/dev/softraid.c
1733
DEVNAME(sd->sd_sc), func);
sys/dev/softraid.c
1743
mhe->sh_sd = sd;
sys/dev/softraid.c
1748
sr_hotplug_unregister(struct sr_discipline *sd, void *func)
sys/dev/softraid.c
1753
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname, func);
sys/dev/softraid.c
1899
sr_ccb_alloc(struct sr_discipline *sd)
sys/dev/softraid.c
1904
if (!sd)
sys/dev/softraid.c
1907
DNPRINTF(SR_D_CCB, "%s: sr_ccb_alloc\n", DEVNAME(sd->sd_sc));
sys/dev/softraid.c
1909
if (sd->sd_ccb)
sys/dev/softraid.c
1912
sd->sd_ccb = mallocarray(sd->sd_max_wu,
sys/dev/softraid.c
1913
sd->sd_max_ccb_per_wu * sizeof(struct sr_ccb),
sys/dev/softraid.c
1915
TAILQ_INIT(&sd->sd_ccb_freeq);
sys/dev/softraid.c
1916
for (i = 0; i < sd->sd_max_wu * sd->sd_max_ccb_per_wu; i++) {
sys/dev/softraid.c
1917
ccb = &sd->sd_ccb[i];
sys/dev/softraid.c
1918
ccb->ccb_dis = sd;
sys/dev/softraid.c
1923
DEVNAME(sd->sd_sc), sd->sd_max_wu * sd->sd_max_ccb_per_wu);
sys/dev/softraid.c
1929
sr_ccb_free(struct sr_discipline *sd)
sys/dev/softraid.c
1933
if (!sd)
sys/dev/softraid.c
1936
DNPRINTF(SR_D_CCB, "%s: sr_ccb_free %p\n", DEVNAME(sd->sd_sc), sd);
sys/dev/softraid.c
1938
while ((ccb = TAILQ_FIRST(&sd->sd_ccb_freeq)) != NULL)
sys/dev/softraid.c
1939
TAILQ_REMOVE(&sd->sd_ccb_freeq, ccb, ccb_link);
sys/dev/softraid.c
1941
free(sd->sd_ccb, M_DEVBUF, sd->sd_max_wu * sd->sd_max_ccb_per_wu *
sys/dev/softraid.c
1946
sr_ccb_get(struct sr_discipline *sd)
sys/dev/softraid.c
1953
ccb = TAILQ_FIRST(&sd->sd_ccb_freeq);
sys/dev/softraid.c
1955
TAILQ_REMOVE(&sd->sd_ccb_freeq, ccb, ccb_link);
sys/dev/softraid.c
1961
DNPRINTF(SR_D_CCB, "%s: sr_ccb_get: %p\n", DEVNAME(sd->sd_sc),
sys/dev/softraid.c
1970
struct sr_discipline *sd = ccb->ccb_dis;
sys/dev/softraid.c
1973
DNPRINTF(SR_D_CCB, "%s: sr_ccb_put: %p\n", DEVNAME(sd->sd_sc),
sys/dev/softraid.c
1983
TAILQ_INSERT_TAIL(&sd->sd_ccb_freeq, ccb, ccb_link);
sys/dev/softraid.c
1989
sr_ccb_rw(struct sr_discipline *sd, int chunk, daddr_t blkno,
sys/dev/softraid.c
1992
struct sr_chunk *sc = sd->sd_vol.sv_chunks[chunk];
sys/dev/softraid.c
1996
ccb = sr_ccb_get(sd);
sys/dev/softraid.c
2009
ccb->ccb_buf.b_blkno = blkno + sd->sd_meta->ssd_data_blkno;
sys/dev/softraid.c
2015
ccb->ccb_buf.b_iodone = sd->sd_scsi_intr;
sys/dev/softraid.c
2029
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname, sd->sd_name,
sys/dev/softraid.c
2041
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid.c
2042
struct sr_softc *sc = sd->sd_sc;
sys/dev/softraid.c
2046
DEVNAME(sc), sd->sd_meta->ssd_devname, sd->sd_name,
sys/dev/softraid.c
2059
if (ISSET(sd->sd_capabilities, SR_CAP_REDUNDANT))
sys/dev/softraid.c
2060
sd->sd_set_chunk_state(sd, ccb->ccb_target,
sys/dev/softraid.c
2064
DEVNAME(sc), sd->sd_meta->ssd_devname,
sys/dev/softraid.c
2065
ccb->ccb_buf.b_error, sd->sd_name,
sys/dev/softraid.c
2078
sr_wu_alloc(struct sr_discipline *sd)
sys/dev/softraid.c
2083
DNPRINTF(SR_D_WU, "%s: sr_wu_alloc %p %d\n", DEVNAME(sd->sd_sc),
sys/dev/softraid.c
2084
sd, sd->sd_max_wu);
sys/dev/softraid.c
2086
no_wu = sd->sd_max_wu;
sys/dev/softraid.c
2087
sd->sd_wu_pending = no_wu;
sys/dev/softraid.c
2089
mtx_init(&sd->sd_wu_mtx, IPL_BIO);
sys/dev/softraid.c
2090
TAILQ_INIT(&sd->sd_wu);
sys/dev/softraid.c
2091
TAILQ_INIT(&sd->sd_wu_freeq);
sys/dev/softraid.c
2092
TAILQ_INIT(&sd->sd_wu_pendq);
sys/dev/softraid.c
2093
TAILQ_INIT(&sd->sd_wu_defq);
sys/dev/softraid.c
2096
wu = malloc(sd->sd_wu_size, M_DEVBUF, M_WAITOK | M_ZERO);
sys/dev/softraid.c
2097
TAILQ_INSERT_TAIL(&sd->sd_wu, wu, swu_next);
sys/dev/softraid.c
2099
wu->swu_dis = sd;
sys/dev/softraid.c
2101
sr_wu_put(sd, wu);
sys/dev/softraid.c
2108
sr_wu_free(struct sr_discipline *sd)
sys/dev/softraid.c
2112
DNPRINTF(SR_D_WU, "%s: sr_wu_free %p\n", DEVNAME(sd->sd_sc), sd);
sys/dev/softraid.c
2114
while ((wu = TAILQ_FIRST(&sd->sd_wu_freeq)) != NULL)
sys/dev/softraid.c
2115
TAILQ_REMOVE(&sd->sd_wu_freeq, wu, swu_link);
sys/dev/softraid.c
2116
while ((wu = TAILQ_FIRST(&sd->sd_wu_pendq)) != NULL)
sys/dev/softraid.c
2117
TAILQ_REMOVE(&sd->sd_wu_pendq, wu, swu_link);
sys/dev/softraid.c
2118
while ((wu = TAILQ_FIRST(&sd->sd_wu_defq)) != NULL)
sys/dev/softraid.c
2119
TAILQ_REMOVE(&sd->sd_wu_defq, wu, swu_link);
sys/dev/softraid.c
2121
while ((wu = TAILQ_FIRST(&sd->sd_wu)) != NULL) {
sys/dev/softraid.c
2122
TAILQ_REMOVE(&sd->sd_wu, wu, swu_next);
sys/dev/softraid.c
2123
free(wu, M_DEVBUF, sd->sd_wu_size);
sys/dev/softraid.c
2130
struct sr_discipline *sd = (struct sr_discipline *)xsd;
sys/dev/softraid.c
2133
mtx_enter(&sd->sd_wu_mtx);
sys/dev/softraid.c
2134
wu = TAILQ_FIRST(&sd->sd_wu_freeq);
sys/dev/softraid.c
2136
TAILQ_REMOVE(&sd->sd_wu_freeq, wu, swu_link);
sys/dev/softraid.c
2137
sd->sd_wu_pending++;
sys/dev/softraid.c
2139
mtx_leave(&sd->sd_wu_mtx);
sys/dev/softraid.c
2141
DNPRINTF(SR_D_WU, "%s: sr_wu_get: %p\n", DEVNAME(sd->sd_sc), wu);
sys/dev/softraid.c
2149
struct sr_discipline *sd = (struct sr_discipline *)xsd;
sys/dev/softraid.c
2152
DNPRINTF(SR_D_WU, "%s: sr_wu_put: %p\n", DEVNAME(sd->sd_sc), wu);
sys/dev/softraid.c
2155
sr_wu_init(sd, wu);
sys/dev/softraid.c
2157
mtx_enter(&sd->sd_wu_mtx);
sys/dev/softraid.c
2158
TAILQ_INSERT_TAIL(&sd->sd_wu_freeq, wu, swu_link);
sys/dev/softraid.c
2159
sd->sd_wu_pending--;
sys/dev/softraid.c
2160
mtx_leave(&sd->sd_wu_mtx);
sys/dev/softraid.c
2164
sr_wu_init(struct sr_discipline *sd, struct sr_workunit *wu)
sys/dev/softraid.c
2170
panic("%s: sr_wu_init got active wu", DEVNAME(sd->sd_sc));
sys/dev/softraid.c
2184
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid.c
2190
DEVNAME(sd->sd_sc));
sys/dev/softraid.c
2217
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid.c
2220
DEVNAME(sd->sd_sc), wu->swu_io_count, wu->swu_ios_complete,
sys/dev/softraid.c
2226
task_add(sd->sd_taskq, &wu->swu_task);
sys/dev/softraid.c
223
sr_meta_attach(struct sr_discipline *sd, int chunk_no, int force)
sys/dev/softraid.c
2233
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid.c
225
struct sr_softc *sc = sd->sd_sc;
sys/dev/softraid.c
2254
if (sd->sd_scsi_wu_done) {
sys/dev/softraid.c
2255
if (sd->sd_scsi_wu_done(wu) == SR_WU_RESTART)
sys/dev/softraid.c
2260
TAILQ_FOREACH(wup, &sd->sd_wu_pendq, swu_link)
sys/dev/softraid.c
2265
DEVNAME(sd->sd_sc), wu);
sys/dev/softraid.c
2266
TAILQ_REMOVE(&sd->sd_wu_pendq, wu, swu_link);
sys/dev/softraid.c
2284
if (sd->sd_scsi_done)
sys/dev/softraid.c
2285
sd->sd_scsi_done(wu);
sys/dev/softraid.c
2287
sr_scsi_wu_put(sd, wu);
sys/dev/softraid.c
2289
sr_scsi_done(sd, xs);
sys/dev/softraid.c
2296
sr_scsi_wu_get(struct sr_discipline *sd, int flags)
sys/dev/softraid.c
2298
return scsi_io_get(&sd->sd_iopool, flags);
sys/dev/softraid.c
2302
sr_scsi_wu_put(struct sr_discipline *sd, struct sr_workunit *wu)
sys/dev/softraid.c
2304
scsi_io_put(&sd->sd_iopool, wu);
sys/dev/softraid.c
2306
if (sd->sd_sync && sd->sd_wu_pending == 0)
sys/dev/softraid.c
2307
wakeup(sd);
sys/dev/softraid.c
2311
sr_scsi_done(struct sr_discipline *sd, struct scsi_xfer *xs)
sys/dev/softraid.c
2313
DNPRINTF(SR_D_DIS, "%s: sr_scsi_done: xs %p\n", DEVNAME(sd->sd_sc), xs);
sys/dev/softraid.c
2320
if (sd->sd_sync && sd->sd_wu_pending == 0)
sys/dev/softraid.c
2321
wakeup(sd);
sys/dev/softraid.c
233
sd->sd_meta = malloc(SR_META_SIZE * DEV_BSIZE, M_DEVBUF,
sys/dev/softraid.c
2330
struct sr_discipline *sd;
sys/dev/softraid.c
2335
sd = sc->sc_targets[link->target];
sys/dev/softraid.c
2336
if (sd == NULL)
sys/dev/softraid.c
2339
if (sd->sd_deleted) {
sys/dev/softraid.c
2341
DEVNAME(sc), sd->sd_meta->ssd_devname);
sys/dev/softraid.c
2347
sr_wu_init(sd, wu);
sys/dev/softraid.c
235
if (!sd->sd_meta) {
sys/dev/softraid.c
2360
if (sd->sd_scsi_rw(wu))
sys/dev/softraid.c
2367
if (sd->sd_scsi_sync(wu))
sys/dev/softraid.c
2374
if (sd->sd_scsi_tur(wu))
sys/dev/softraid.c
2381
if (sd->sd_scsi_start_stop(wu))
sys/dev/softraid.c
2388
if (sd->sd_scsi_inquiry(wu))
sys/dev/softraid.c
2396
if (sd->sd_scsi_read_cap(wu))
sys/dev/softraid.c
240
if (sd->sd_meta_type != SR_META_F_NATIVE) {
sys/dev/softraid.c
2403
if (sd->sd_scsi_req_sense(wu))
sys/dev/softraid.c
2416
if (sd->sd_scsi_sense.error_code) {
sys/dev/softraid.c
2418
memcpy(&xs->sense, &sd->sd_scsi_sense, sizeof(xs->sense));
sys/dev/softraid.c
2419
bzero(&sd->sd_scsi_sense, sizeof(sd->sd_scsi_sense));
sys/dev/softraid.c
242
sd->sd_meta_foreign = malloc(smd[sd->sd_meta_type].smd_size,
sys/dev/softraid.c
2424
sr_scsi_done(sd, xs);
sys/dev/softraid.c
2431
struct sr_discipline *sd;
sys/dev/softraid.c
2435
sd = sc->sc_targets[link->target];
sys/dev/softraid.c
2436
if (sd == NULL)
sys/dev/softraid.c
2439
link->pool = &sd->sd_iopool;
sys/dev/softraid.c
244
if (!sd->sd_meta_foreign) {
sys/dev/softraid.c
2440
if (sd->sd_openings)
sys/dev/softraid.c
2441
link->openings = sd->sd_openings(sd);
sys/dev/softraid.c
2443
link->openings = sd->sd_max_wu;
sys/dev/softraid.c
2452
struct sr_discipline *sd;
sys/dev/softraid.c
2454
sd = sc->sc_targets[link->target];
sys/dev/softraid.c
2455
if (sd == NULL)
sys/dev/softraid.c
2459
DEVNAME(sc), sd->sd_meta->ssd_devname, cmd);
sys/dev/softraid.c
2463
return (sr_bio_handler(sc, sd, cmd, (struct bio *)addr));
sys/dev/softraid.c
2484
sr_bio_handler(struct sr_softc *sc, struct sr_discipline *sd, u_long cmd,
sys/dev/softraid.c
253
cl = &sd->sd_vol.sv_chunk_list;
sys/dev/softraid.c
2534
rv = sr_ioctl_deleteraid(sc, sd, (struct bioc_deleteraid *)bio);
sys/dev/softraid.c
2539
rv = sr_ioctl_discipline(sc, sd, (struct bioc_discipline *)bio);
sys/dev/softraid.c
254
sd->sd_vol.sv_chunks = mallocarray(chunk_no, sizeof(struct sr_chunk *),
sys/dev/softraid.c
2544
rv = sr_ioctl_installboot(sc, sd,
sys/dev/softraid.c
2568
struct sr_discipline *sd;
sys/dev/softraid.c
2571
TAILQ_FOREACH(sd, &sc->sc_dis_list, sd_link) {
sys/dev/softraid.c
2573
disk += sd->sd_meta->ssdi.ssd_chunk_no;
sys/dev/softraid.c
2587
struct sr_discipline *sd;
sys/dev/softraid.c
2590
TAILQ_FOREACH(sd, &sc->sc_dis_list, sd_link) {
sys/dev/softraid.c
2595
bv->bv_status = sd->sd_vol_status;
sys/dev/softraid.c
2596
bv->bv_size = sd->sd_meta->ssdi.ssd_size << DEV_BSHIFT;
sys/dev/softraid.c
2597
bv->bv_level = sd->sd_meta->ssdi.ssd_level;
sys/dev/softraid.c
2598
bv->bv_nodisk = sd->sd_meta->ssdi.ssd_chunk_no;
sys/dev/softraid.c
260
sd->sd_vol.sv_chunks[i++] = ch_entry;
sys/dev/softraid.c
2601
if (sd->sd_meta->ssdi.ssd_level == 'C' &&
sys/dev/softraid.c
2602
sd->mds.mdd_crypto.key_disk != NULL)
sys/dev/softraid.c
2604
else if (sd->sd_meta->ssdi.ssd_level == 0x1C &&
sys/dev/softraid.c
2605
sd->mds.mdd_raid1c.sr1c_crypto.key_disk != NULL)
sys/dev/softraid.c
2609
bv->bv_percent = sr_rebuild_percent(sd);
sys/dev/softraid.c
2611
strlcpy(bv->bv_dev, sd->sd_meta->ssd_devname,
sys/dev/softraid.c
2613
strlcpy(bv->bv_vendor, sd->sd_meta->ssdi.ssd_vendor,
sys/dev/softraid.c
263
if (smd[sd->sd_meta_type].smd_attach(sd, force))
sys/dev/softraid.c
2644
struct sr_discipline *sd;
sys/dev/softraid.c
2651
TAILQ_FOREACH(sd, &sc->sc_dis_list, sd_link) {
sys/dev/softraid.c
2656
if (bd->bd_diskid < sd->sd_meta->ssdi.ssd_chunk_no)
sys/dev/softraid.c
2657
src = sd->sd_vol.sv_chunks[bd->bd_diskid];
sys/dev/softraid.c
2659
else if (bd->bd_diskid == sd->sd_meta->ssdi.ssd_chunk_no &&
sys/dev/softraid.c
2660
sd->sd_meta->ssdi.ssd_level == 'C' &&
sys/dev/softraid.c
2661
sd->mds.mdd_crypto.key_disk != NULL)
sys/dev/softraid.c
2662
src = sd->mds.mdd_crypto.key_disk;
sys/dev/softraid.c
2663
else if (bd->bd_diskid == sd->sd_meta->ssdi.ssd_chunk_no &&
sys/dev/softraid.c
2664
sd->sd_meta->ssdi.ssd_level == 0x1C &&
sys/dev/softraid.c
2665
sd->mds.mdd_raid1c.sr1c_crypto.key_disk != NULL)
sys/dev/softraid.c
2666
src = sd->mds.mdd_crypto.key_disk;
sys/dev/softraid.c
269
ch_entry = sd->sd_vol.sv_chunks[i];
sys/dev/softraid.c
2709
struct sr_discipline *sd;
sys/dev/softraid.c
2721
TAILQ_FOREACH(sd, &sc->sc_dis_list, sd_link) {
sys/dev/softraid.c
2726
if (sd == NULL)
sys/dev/softraid.c
2733
cl = &sd->sd_vol.sv_chunk_list;
sys/dev/softraid.c
2747
sd->sd_set_chunk_state(sd, c, BIOC_SDOFFLINE);
sys/dev/softraid.c
2749
if (sr_meta_save(sd, SR_META_DIRTY)) {
sys/dev/softraid.c
2751
sd->sd_meta->ssd_devname);
sys/dev/softraid.c
2761
rv = sr_rebuild_init(sd, (dev_t)bs->bs_other_id, 0);
sys/dev/softraid.c
2775
struct sr_discipline *sd;
sys/dev/softraid.c
2785
TAILQ_FOREACH(sd, &sc->sc_dis_list, sd_link) {
sys/dev/softraid.c
2786
for (i = 0; i < sd->sd_meta->ssdi.ssd_chunk_no; i++) {
sys/dev/softraid.c
2787
chunk = sd->sd_vol.sv_chunks[i];
sys/dev/softraid.c
2804
struct sr_discipline *sd = NULL;
sys/dev/softraid.c
284
sd->sd_vol.sv_chunks[i++] = ch_entry;
sys/dev/softraid.c
292
sr_meta_probe(struct sr_discipline *sd, dev_t *dt, int no_chunk)
sys/dev/softraid.c
2924
sd = malloc(sizeof(struct sr_discipline), M_DEVBUF, M_WAITOK | M_ZERO);
sys/dev/softraid.c
2925
sd->sd_sc = sc;
sys/dev/softraid.c
2926
sd->sd_meta = sm;
sys/dev/softraid.c
2927
sd->sd_meta_type = SR_META_F_NATIVE;
sys/dev/softraid.c
2928
sd->sd_vol_status = BIOC_SVONLINE;
sys/dev/softraid.c
2929
strlcpy(sd->sd_name, "HOTSPARE", sizeof(sd->sd_name));
sys/dev/softraid.c
2930
SLIST_INIT(&sd->sd_meta_opt);
sys/dev/softraid.c
2933
sd->sd_vol.sv_chunks = malloc(sizeof(struct sr_chunk *), M_DEVBUF,
sys/dev/softraid.c
2935
sd->sd_vol.sv_chunks[0] = hotspare;
sys/dev/softraid.c
2936
SLIST_INIT(&sd->sd_vol.sv_chunk_list);
sys/dev/softraid.c
2937
SLIST_INSERT_HEAD(&sd->sd_vol.sv_chunk_list, hotspare, src_link);
sys/dev/softraid.c
294
struct sr_softc *sc = sd->sd_sc;
sys/dev/softraid.c
2940
if (sr_meta_save(sd, SR_META_DIRTY)) {
sys/dev/softraid.c
2967
if (sd)
sys/dev/softraid.c
2968
free(sd->sd_vol.sv_chunks, M_DEVBUF,
sys/dev/softraid.c
2969
sizeof(sd->sd_vol.sv_chunks));
sys/dev/softraid.c
2971
free(sd, M_DEVBUF, sizeof(*sd));
sys/dev/softraid.c
2984
struct sr_discipline *sd = xsd;
sys/dev/softraid.c
2985
sr_hotspare_rebuild(sd);
sys/dev/softraid.c
2989
sr_hotspare_rebuild(struct sr_discipline *sd)
sys/dev/softraid.c
2991
struct sr_softc *sc = sd->sd_sc;
sys/dev/softraid.c
3003
for (cid = 0; cid < sd->sd_meta->ssdi.ssd_chunk_no; cid++) {
sys/dev/softraid.c
3004
if (sd->sd_vol.sv_chunks[cid]->src_meta.scm_status ==
sys/dev/softraid.c
3006
chunk = sd->sd_vol.sv_chunks[cid];
sys/dev/softraid.c
3012
DEVNAME(sc), sd->sd_meta->ssd_devname);
sys/dev/softraid.c
3021
hotspare->src_secsize <= sd->sd_meta->ssdi.ssd_secsize)
sys/dev/softraid.c
3028
sd->sd_meta->ssd_devname, hotspare->src_devname);
sys/dev/softraid.c
3039
TAILQ_FOREACH(wu, &sd->sd_wu_pendq, swu_link) {
sys/dev/softraid.c
3045
TAILQ_FOREACH(wu, &sd->sd_wu_defq, swu_link) {
sys/dev/softraid.c
3054
tsleep_nsec(sd, PRIBIO, "sr_hotspare",
sys/dev/softraid.c
307
cl = &sd->sd_vol.sv_chunk_list;
sys/dev/softraid.c
3075
if (sr_rebuild_init(sd, hotspare->src_dev_mm, 1) == 0) {
sys/dev/softraid.c
3091
sr_rebuild_init(struct sr_discipline *sd, dev_t dev, int hotspare)
sys/dev/softraid.c
3093
struct sr_softc *sc = sd->sd_sc;
sys/dev/softraid.c
3108
if (!(sd->sd_capabilities & SR_CAP_REBUILD)) {
sys/dev/softraid.c
3114
if (sd->sd_vol_status == BIOC_SVREBUILD) {
sys/dev/softraid.c
3118
if (sd->sd_vol_status != BIOC_SVDEGRADED) {
sys/dev/softraid.c
3124
for (cid = 0; cid < sd->sd_meta->ssdi.ssd_chunk_no; cid++) {
sys/dev/softraid.c
3125
if (sd->sd_vol.sv_chunks[cid]->src_meta.scm_status ==
sys/dev/softraid.c
3127
chunk = sd->sd_vol.sv_chunks[cid];
sys/dev/softraid.c
3138
for (i = 0; i < sd->sd_meta->ssdi.ssd_chunk_no; i++) {
sys/dev/softraid.c
3139
if (sd->sd_vol.sv_chunks[i]->src_meta.scm_status ==
sys/dev/softraid.c
3141
meta = &sd->sd_vol.sv_chunks[i]->src_meta;
sys/dev/softraid.c
3183
if (size <= sd->sd_meta->ssd_data_blkno) {
sys/dev/softraid.c
3188
size -= sd->sd_meta->ssd_data_blkno;
sys/dev/softraid.c
3201
if (label->d_secsize > sd->sd_meta->ssdi.ssd_secsize) {
sys/dev/softraid.c
3203
"required", devname, sd->sd_meta->ssdi.ssd_secsize);
sys/dev/softraid.c
3216
sd->sd_meta->ssd_rebuild = 0;
sys/dev/softraid.c
3227
meta->scmi.scm_volid = sd->sd_meta->ssdi.ssd_volid;
sys/dev/softraid.c
3233
memcpy(&meta->scmi.scm_uuid, &sd->sd_meta->ssdi.ssd_uuid,
sys/dev/softraid.c
3238
sd->sd_set_chunk_state(sd, cid, BIOC_SDREBUILD);
sys/dev/softraid.c
3240
if (sr_meta_save(sd, SR_META_DIRTY)) {
sys/dev/softraid.c
3247
sd->sd_meta->ssd_devname, devname);
sys/dev/softraid.c
3249
sd->sd_reb_abort = 0;
sys/dev/softraid.c
3250
kthread_create_deferred(sr_rebuild_start, sd);
sys/dev/softraid.c
3264
sr_rebuild_percent(struct sr_discipline *sd)
sys/dev/softraid.c
3268
sz = sd->sd_meta->ssdi.ssd_size;
sys/dev/softraid.c
3269
rb = sd->sd_meta->ssd_rebuild;
sys/dev/softraid.c
3278
sr_roam_chunks(struct sr_discipline *sd)
sys/dev/softraid.c
3280
struct sr_softc *sc = sd->sd_sc;
sys/dev/softraid.c
3286
SLIST_FOREACH(chunk, &sd->sd_vol.sv_chunk_list, src_link) {
sys/dev/softraid.c
3302
sr_meta_save(sd, SR_META_DIRTY);
sys/dev/softraid.c
3311
struct sr_discipline *sd = NULL;
sys/dev/softraid.c
3335
sd = malloc(sizeof(struct sr_discipline), M_DEVBUF, M_WAITOK | M_ZERO);
sys/dev/softraid.c
3336
sd->sd_sc = sc;
sys/dev/softraid.c
3337
SLIST_INIT(&sd->sd_meta_opt);
sys/dev/softraid.c
3338
sd->sd_taskq = taskq_create("srdis", 1, IPL_BIO, 0);
sys/dev/softraid.c
3339
if (sd->sd_taskq == NULL) {
sys/dev/softraid.c
3343
if (sr_discipline_init(sd, bc->bc_level)) {
sys/dev/softraid.c
3349
cl = &sd->sd_vol.sv_chunk_list;
sys/dev/softraid.c
3361
sd->sd_meta_type = sr_meta_probe(sd, dt, no_chunk);
sys/dev/softraid.c
3362
if (sd->sd_meta_type == SR_META_F_INVALID) {
sys/dev/softraid.c
3367
if (sr_meta_attach(sd, no_chunk, bc->bc_flags & BIOC_SCFORCE))
sys/dev/softraid.c
3373
if (sr_meta_read(sd))
sys/dev/softraid.c
3374
if (sr_already_assembled(sd)) {
sys/dev/softraid.c
3376
&sd->sd_meta->ssdi.ssd_uuid);
sys/dev/softraid.c
3383
if (sr_meta_clear(sd)) {
sys/dev/softraid.c
3389
no_meta = sr_meta_read(sd);
sys/dev/softraid.c
3400
sr_meta_init(sd, bc->bc_level, no_chunk);
sys/dev/softraid.c
3401
sd->sd_vol_status = BIOC_SVONLINE;
sys/dev/softraid.c
3402
sd->sd_meta_flags = bc->bc_flags & BIOC_SCNOAUTOASSEMBLE;
sys/dev/softraid.c
3403
if (sd->sd_create) {
sys/dev/softraid.c
3404
if ((i = sd->sd_create(sd, bc, no_chunk,
sys/dev/softraid.c
3405
sd->sd_vol.sv_chunk_minsz))) {
sys/dev/softraid.c
3410
sr_meta_init_complete(sd);
sys/dev/softraid.c
3414
DEVNAME(sc), sd->sd_meta->ssdi.ssd_size);
sys/dev/softraid.c
3417
if ((sd->sd_capabilities & SR_CAP_NON_COERCED) == 0 &&
sys/dev/softraid.c
3418
sd->sd_vol.sv_chunk_minsz != sd->sd_vol.sv_chunk_maxsz)
sys/dev/softraid.c
3421
sd->sd_vol.sv_chunk_maxsz -
sys/dev/softraid.c
3422
sd->sd_vol.sv_chunk_minsz);
sys/dev/softraid.c
3428
sd->sd_meta->ssdi.ssd_chunk_no > no_chunk) {
sys/dev/softraid.c
3430
sd->sd_meta->ssd_devname);
sys/dev/softraid.c
3431
} else if (sd->sd_meta->ssdi.ssd_chunk_no != no_chunk) {
sys/dev/softraid.c
3438
if (sd->sd_meta->ssdi.ssd_level != bc->bc_level) {
sys/dev/softraid.c
3444
if (sr_already_assembled(sd)) {
sys/dev/softraid.c
3445
uuid = sr_uuid_format(&sd->sd_meta->ssdi.ssd_uuid);
sys/dev/softraid.c
3451
if (user == 0 && (sd->sd_meta_flags & BIOC_SCNOAUTOASSEMBLE)) {
sys/dev/softraid.c
3459
sd->sd_meta->ssd_devname);
sys/dev/softraid.c
3461
if (sd->sd_meta->ssd_meta_flags & SR_META_DIRTY)
sys/dev/softraid.c
3463
sd->sd_meta->ssd_devname);
sys/dev/softraid.c
3465
SLIST_FOREACH(omi, &sd->sd_meta_opt, omi_link)
sys/dev/softraid.c
3466
if (sd->sd_meta_opt_handler == NULL ||
sys/dev/softraid.c
3467
sd->sd_meta_opt_handler(sd, omi->omi_som) != 0)
sys/dev/softraid.c
3468
sr_meta_opt_handler(sd, omi->omi_som);
sys/dev/softraid.c
3470
if (sd->sd_assemble) {
sys/dev/softraid.c
3471
if ((i = sd->sd_assemble(sd, bc, no_chunk, data))) {
sys/dev/softraid.c
3483
TAILQ_INSERT_TAIL(&sc->sc_dis_list, sd, sd_link);
sys/dev/softraid.c
3486
if ((rv = sd->sd_alloc_resources(sd)))
sys/dev/softraid.c
3490
if ((sd->sd_capabilities & SR_CAP_AUTO_ASSEMBLE) &&
sys/dev/softraid.c
3492
(sd->sd_meta->ssdi.ssd_vol_flags & BIOC_SCNOAUTOASSEMBLE)) {
sys/dev/softraid.c
3493
sd->sd_meta->ssdi.ssd_vol_flags &= ~BIOC_SCNOAUTOASSEMBLE;
sys/dev/softraid.c
3494
sd->sd_meta->ssdi.ssd_vol_flags |=
sys/dev/softraid.c
3498
if (sd->sd_capabilities & SR_CAP_SYSTEM_DISK) {
sys/dev/softraid.c
3500
sd->sd_set_vol_state(sd);
sys/dev/softraid.c
3501
if (sd->sd_vol_status == BIOC_SVOFFLINE) {
sys/dev/softraid.c
3503
"online", sd->sd_meta->ssd_devname);
sys/dev/softraid.c
3508
scsi_iopool_init(&sd->sd_iopool, sd, sr_wu_get, sr_wu_put);
sys/dev/softraid.c
3527
sd->sd_meta->ssd_devname);
sys/dev/softraid.c
3532
bzero(&sd->sd_scsi_sense, sizeof(sd->sd_scsi_sense));
sys/dev/softraid.c
3535
sd->sd_target = target;
sys/dev/softraid.c
3536
sc->sc_targets[target] = sd;
sys/dev/softraid.c
3540
sd->sd_target = 0;
sys/dev/softraid.c
3550
DEVNAME(sc), dev->dv_xname, sd->sd_target);
sys/dev/softraid.c
3553
for (i = 0, vol = -1; i <= sd->sd_target; i++)
sys/dev/softraid.c
3559
if (sd->sd_meta->ssd_devname[0] != '\0' &&
sys/dev/softraid.c
3560
strncmp(sd->sd_meta->ssd_devname, dev->dv_xname,
sys/dev/softraid.c
3564
sd->sd_meta->ssd_devname);
sys/dev/softraid.c
3567
sd->sd_meta->ssdi.ssd_volid = vol;
sys/dev/softraid.c
3568
strlcpy(sd->sd_meta->ssd_devname, dev->dv_xname,
sys/dev/softraid.c
3569
sizeof(sd->sd_meta->ssd_devname));
sys/dev/softraid.c
3572
sd->sd_name, sd->sd_meta->ssd_devname);
sys/dev/softraid.c
3575
sr_roam_chunks(sd);
sys/dev/softraid.c
3578
if (sr_sensors_create(sd))
sys/dev/softraid.c
3585
strlcpy(sd->sd_meta->ssd_devname, ch_entry->src_devname,
sys/dev/softraid.c
3586
sizeof(sd->sd_meta->ssd_devname));
sys/dev/softraid.c
3588
if (sd->sd_start_discipline(sd))
sys/dev/softraid.c
3593
rv = sr_meta_save(sd, SR_META_DIRTY);
sys/dev/softraid.c
3595
if (sd->sd_vol_status == BIOC_SVREBUILD)
sys/dev/softraid.c
3596
kthread_create_deferred(sr_rebuild_start, sd);
sys/dev/softraid.c
3598
sd->sd_ready = 1;
sys/dev/softraid.c
3607
sr_discipline_shutdown(sd, 0, 0);
sys/dev/softraid.c
3616
sr_ioctl_deleteraid(struct sr_softc *sc, struct sr_discipline *sd,
sys/dev/softraid.c
3624
if (sd == NULL && (sd = sr_find_discipline(sc, bd->bd_dev)) == NULL) {
sys/dev/softraid.c
3633
if (bcmp(&sr_bootuuid, &sd->sd_meta->ssdi.ssd_uuid,
sys/dev/softraid.c
3639
sd->sd_deleted = 1;
sys/dev/softraid.c
3640
sd->sd_meta->ssdi.ssd_vol_flags = BIOC_SCNOAUTOASSEMBLE;
sys/dev/softraid.c
3641
sr_discipline_shutdown(sd, 1, 0);
sys/dev/softraid.c
3649
sr_ioctl_discipline(struct sr_softc *sc, struct sr_discipline *sd,
sys/dev/softraid.c
3659
if (sd == NULL && (sd = sr_find_discipline(sc, bd->bd_dev)) == NULL) {
sys/dev/softraid.c
3664
if (sd->sd_ioctl_handler)
sys/dev/softraid.c
3665
rv = sd->sd_ioctl_handler(sd, bd);
sys/dev/softraid.c
3672
sr_ioctl_installboot(struct sr_softc *sc, struct sr_discipline *sd,
sys/dev/softraid.c
3688
if (sd == NULL && (sd = sr_find_discipline(sc, bb->bb_dev)) == NULL) {
sys/dev/softraid.c
3704
if (sd->sd_meta->ssd_data_blkno < (SR_BOOT_OFFSET + SR_BOOT_SIZE)) {
sys/dev/softraid.c
3721
secsize = sd->sd_meta->ssdi.ssd_secsize;
sys/dev/softraid.c
3736
SLIST_FOREACH(omi, &sd->sd_meta_opt, omi_link)
sys/dev/softraid.c
3746
SLIST_INSERT_HEAD(&sd->sd_meta_opt, omi, omi_link);
sys/dev/softraid.c
3747
sd->sd_meta->ssdi.ssd_opt_no++;
sys/dev/softraid.c
3760
for (i = 0; i < sd->sd_meta->ssdi.ssd_chunk_no; i++) {
sys/dev/softraid.c
3762
chunk = sd->sd_vol.sv_chunks[i];
sys/dev/softraid.c
3797
sd->sd_meta->ssdi.ssd_vol_flags |= BIOC_SCBOOTABLE;
sys/dev/softraid.c
3798
if (sr_meta_save(sd, SR_META_DIRTY)) {
sys/dev/softraid.c
3844
sr_discipline_free(struct sr_discipline *sd)
sys/dev/softraid.c
3851
if (!sd)
sys/dev/softraid.c
3854
sc = sd->sd_sc;
sys/dev/softraid.c
3858
sd->sd_meta ? sd->sd_meta->ssd_devname : "nodev");
sys/dev/softraid.c
3859
if (sd->sd_free_resources)
sys/dev/softraid.c
3860
sd->sd_free_resources(sd);
sys/dev/softraid.c
3861
free(sd->sd_vol.sv_chunks, M_DEVBUF, 0);
sys/dev/softraid.c
3862
free(sd->sd_meta, M_DEVBUF, SR_META_SIZE * DEV_BSIZE);
sys/dev/softraid.c
3863
free(sd->sd_meta_foreign, M_DEVBUF, smd[sd->sd_meta_type].smd_size);
sys/dev/softraid.c
3865
som = &sd->sd_meta_opt;
sys/dev/softraid.c
3872
if (sd->sd_target != 0) {
sys/dev/softraid.c
3873
KASSERT(sc->sc_targets[sd->sd_target] == sd);
sys/dev/softraid.c
3874
sc->sc_targets[sd->sd_target] = NULL;
sys/dev/softraid.c
3878
if (sdtmp1 == sd)
sys/dev/softraid.c
3882
TAILQ_REMOVE(&sc->sc_dis_list, sd, sd_link);
sys/dev/softraid.c
3884
explicit_bzero(sd, sizeof *sd);
sys/dev/softraid.c
3885
free(sd, M_DEVBUF, sizeof(*sd));
sys/dev/softraid.c
3889
sr_discipline_shutdown(struct sr_discipline *sd, int meta_save, int dying)
sys/dev/softraid.c
3894
if (!sd)
sys/dev/softraid.c
3896
sc = sd->sd_sc;
sys/dev/softraid.c
3899
sd->sd_meta ? sd->sd_meta->ssd_devname : "nodev");
sys/dev/softraid.c
3902
if (sd->sd_reb_active) {
sys/dev/softraid.c
3903
sd->sd_reb_abort = 1;
sys/dev/softraid.c
3904
while (sd->sd_reb_active)
sys/dev/softraid.c
3905
tsleep_nsec(sd, PWAIT, "sr_shutdown", MSEC_TO_NSEC(1));
sys/dev/softraid.c
3909
sr_meta_save(sd, 0);
sys/dev/softraid.c
3913
sd->sd_ready = 0;
sys/dev/softraid.c
3916
wakeup(sd);
sys/dev/softraid.c
3917
while (sd->sd_sync || sd->sd_must_flush) {
sys/dev/softraid.c
3918
ret = tsleep_nsec(&sd->sd_sync, MAXPRI, "sr_down",
sys/dev/softraid.c
3924
sd->sd_ready = 1;
sys/dev/softraid.c
3930
sr_sensors_delete(sd);
sys/dev/softraid.c
3933
if (sd->sd_target != 0)
sys/dev/softraid.c
3934
scsi_detach_lun(sc->sc_scsibus, sd->sd_target, 0,
sys/dev/softraid.c
3937
sr_chunks_unwind(sc, &sd->sd_vol.sv_chunk_list);
sys/dev/softraid.c
3939
if (sd->sd_taskq)
sys/dev/softraid.c
3940
taskq_destroy(sd->sd_taskq);
sys/dev/softraid.c
3942
sr_discipline_free(sd);
sys/dev/softraid.c
3948
sr_discipline_init(struct sr_discipline *sd, int level)
sys/dev/softraid.c
3953
sd->sd_alloc_resources = sr_alloc_resources;
sys/dev/softraid.c
3954
sd->sd_assemble = NULL;
sys/dev/softraid.c
3955
sd->sd_create = NULL;
sys/dev/softraid.c
3956
sd->sd_free_resources = sr_free_resources;
sys/dev/softraid.c
3957
sd->sd_ioctl_handler = NULL;
sys/dev/softraid.c
3958
sd->sd_openings = NULL;
sys/dev/softraid.c
3959
sd->sd_meta_opt_handler = NULL;
sys/dev/softraid.c
3960
sd->sd_rebuild = sr_rebuild;
sys/dev/softraid.c
3961
sd->sd_scsi_inquiry = sr_raid_inquiry;
sys/dev/softraid.c
3962
sd->sd_scsi_read_cap = sr_raid_read_cap;
sys/dev/softraid.c
3963
sd->sd_scsi_tur = sr_raid_tur;
sys/dev/softraid.c
3964
sd->sd_scsi_req_sense = sr_raid_request_sense;
sys/dev/softraid.c
3965
sd->sd_scsi_start_stop = sr_raid_start_stop;
sys/dev/softraid.c
3966
sd->sd_scsi_sync = sr_raid_sync;
sys/dev/softraid.c
3967
sd->sd_scsi_rw = NULL;
sys/dev/softraid.c
3968
sd->sd_scsi_intr = sr_raid_intr;
sys/dev/softraid.c
3969
sd->sd_scsi_wu_done = NULL;
sys/dev/softraid.c
3970
sd->sd_scsi_done = NULL;
sys/dev/softraid.c
3971
sd->sd_set_chunk_state = sr_set_chunk_state;
sys/dev/softraid.c
3972
sd->sd_set_vol_state = sr_set_vol_state;
sys/dev/softraid.c
3973
sd->sd_start_discipline = NULL;
sys/dev/softraid.c
3975
task_set(&sd->sd_meta_save_task, sr_meta_save_callback, sd);
sys/dev/softraid.c
3976
task_set(&sd->sd_hotspare_rebuild_task, sr_hotspare_rebuild_callback,
sys/dev/softraid.c
3977
sd);
sys/dev/softraid.c
3979
sd->sd_wu_size = sizeof(struct sr_workunit);
sys/dev/softraid.c
3982
sr_raid0_discipline_init(sd);
sys/dev/softraid.c
3985
sr_raid1_discipline_init(sd);
sys/dev/softraid.c
3988
sr_raid5_discipline_init(sd);
sys/dev/softraid.c
3991
sr_raid6_discipline_init(sd);
sys/dev/softraid.c
3995
sr_crypto_discipline_init(sd);
sys/dev/softraid.c
3998
sr_raid1c_discipline_init(sd);
sys/dev/softraid.c
4002
sr_concat_discipline_init(sd);
sys/dev/softraid.c
4016
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid.c
4021
DNPRINTF(SR_D_DIS, "%s: sr_raid_inquiry\n", DEVNAME(sd->sd_sc));
sys/dev/softraid.c
4036
strlcpy(inq.vendor, sd->sd_meta->ssdi.ssd_vendor,
sys/dev/softraid.c
4038
strlcpy(inq.product, sd->sd_meta->ssdi.ssd_product,
sys/dev/softraid.c
4040
strlcpy(inq.revision, sd->sd_meta->ssdi.ssd_revision,
sys/dev/softraid.c
4050
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid.c
4058
DNPRINTF(SR_D_DIS, "%s: sr_raid_read_cap\n", DEVNAME(sd->sd_sc));
sys/dev/softraid.c
4060
secsize = sd->sd_meta->ssdi.ssd_secsize;
sys/dev/softraid.c
4062
addr = ((sd->sd_meta->ssdi.ssd_size * DEV_BSIZE) / secsize) - 1;
sys/dev/softraid.c
4086
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid.c
4088
DNPRINTF(SR_D_DIS, "%s: sr_raid_tur\n", DEVNAME(sd->sd_sc));
sys/dev/softraid.c
4090
if (sd->sd_vol_status == BIOC_SVOFFLINE) {
sys/dev/softraid.c
4091
sd->sd_scsi_sense.error_code = SSD_ERRCODE_CURRENT;
sys/dev/softraid.c
4092
sd->sd_scsi_sense.flags = SKEY_NOT_READY;
sys/dev/softraid.c
4093
sd->sd_scsi_sense.add_sense_code = 0x04;
sys/dev/softraid.c
4094
sd->sd_scsi_sense.add_sense_code_qual = 0x11;
sys/dev/softraid.c
4095
sd->sd_scsi_sense.extra_len = 4;
sys/dev/softraid.c
4097
} else if (sd->sd_vol_status == BIOC_SVINVALID) {
sys/dev/softraid.c
4098
sd->sd_scsi_sense.error_code = SSD_ERRCODE_CURRENT;
sys/dev/softraid.c
4099
sd->sd_scsi_sense.flags = SKEY_HARDWARE_ERROR;
sys/dev/softraid.c
4100
sd->sd_scsi_sense.add_sense_code = 0x05;
sys/dev/softraid.c
4101
sd->sd_scsi_sense.add_sense_code_qual = 0x00;
sys/dev/softraid.c
4102
sd->sd_scsi_sense.extra_len = 4;
sys/dev/softraid.c
4112
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid.c
4116
DEVNAME(sd->sd_sc));
sys/dev/softraid.c
4119
memcpy(&xs->sense, &sd->sd_scsi_sense, sizeof(xs->sense));
sys/dev/softraid.c
4122
bzero(&sd->sd_scsi_sense, sizeof(sd->sd_scsi_sense));
sys/dev/softraid.c
4149
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid.c
4152
DNPRINTF(SR_D_DIS, "%s: sr_raid_sync\n", DEVNAME(sd->sd_sc));
sys/dev/softraid.c
4158
sd->sd_sync = 1;
sys/dev/softraid.c
4159
while (sd->sd_wu_pending > ios) {
sys/dev/softraid.c
4160
ret = tsleep_nsec(sd, PRIBIO, "sr_sync", SEC_TO_NSEC(15));
sys/dev/softraid.c
4163
DEVNAME(sd->sd_sc));
sys/dev/softraid.c
4168
sd->sd_sync = 0;
sys/dev/softraid.c
4171
wakeup(&sd->sd_sync);
sys/dev/softraid.c
4182
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid.c
4188
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname, sd->sd_name, bp, xs);
sys/dev/softraid.c
4199
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid.c
4227
TAILQ_FOREACH_REVERSE(wup, &sd->sd_wu_pendq, sr_wu_list, swu_link) {
sys/dev/softraid.c
4239
TAILQ_INSERT_TAIL(&sd->sd_wu_defq, wu, swu_link);
sys/dev/softraid.c
4240
sd->sd_wu_collisions++;
sys/dev/softraid.c
4254
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid.c
4262
TAILQ_REMOVE(&sd->sd_wu_defq, wu, swu_link);
sys/dev/softraid.c
4267
TAILQ_INSERT_TAIL(&sd->sd_wu_pendq, wu, swu_link);
sys/dev/softraid.c
4271
panic("%s: sr_startwu_callback", DEVNAME(sd->sd_sc));
sys/dev/softraid.c
4283
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid.c
4295
if (sd->sd_scsi_rw(wup))
sys/dev/softraid.c
4303
sr_alloc_resources(struct sr_discipline *sd)
sys/dev/softraid.c
4305
if (sr_wu_alloc(sd)) {
sys/dev/softraid.c
4306
sr_error(sd->sd_sc, "unable to allocate work units");
sys/dev/softraid.c
4309
if (sr_ccb_alloc(sd)) {
sys/dev/softraid.c
4310
sr_error(sd->sd_sc, "unable to allocate ccbs");
sys/dev/softraid.c
4318
sr_free_resources(struct sr_discipline *sd)
sys/dev/softraid.c
4320
sr_wu_free(sd);
sys/dev/softraid.c
4321
sr_ccb_free(sd);
sys/dev/softraid.c
4325
sr_set_chunk_state(struct sr_discipline *sd, int c, int new_state)
sys/dev/softraid.c
4330
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname,
sys/dev/softraid.c
4331
sd->sd_vol.sv_chunks[c]->src_meta.scmi.scm_devname, c, new_state);
sys/dev/softraid.c
4335
old_state = sd->sd_vol.sv_chunks[c]->src_meta.scm_status;
sys/dev/softraid.c
4356
DEVNAME(sd->sd_sc),
sys/dev/softraid.c
4357
sd->sd_meta->ssd_devname,
sys/dev/softraid.c
4358
sd->sd_vol.sv_chunks[c]->src_meta.scmi.scm_devname,
sys/dev/softraid.c
4363
sd->sd_vol.sv_chunks[c]->src_meta.scm_status = new_state;
sys/dev/softraid.c
4364
sd->sd_set_vol_state(sd);
sys/dev/softraid.c
4366
sd->sd_must_flush = 1;
sys/dev/softraid.c
4367
task_add(systq, &sd->sd_meta_save_task);
sys/dev/softraid.c
4373
sr_set_vol_state(struct sr_discipline *sd)
sys/dev/softraid.c
4377
int old_state = sd->sd_vol_status;
sys/dev/softraid.c
4381
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname);
sys/dev/softraid.c
4383
nd = sd->sd_meta->ssdi.ssd_chunk_no;
sys/dev/softraid.c
4389
s = sd->sd_vol.sv_chunks[i]->src_meta.scm_status;
sys/dev/softraid.c
4392
DEVNAME(sd->sd_sc),
sys/dev/softraid.c
4393
sd->sd_meta->ssd_devname,
sys/dev/softraid.c
4394
sd->sd_vol.sv_chunks[i]->src_meta.scmi.scm_devname);
sys/dev/softraid.c
4404
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname,
sys/dev/softraid.c
4422
DEVNAME(sd->sd_sc),
sys/dev/softraid.c
4423
sd->sd_meta->ssd_devname,
sys/dev/softraid.c
4428
sd->sd_vol_status = new_state;
sys/dev/softraid.c
4432
sr_block_get(struct sr_discipline *sd, long length)
sys/dev/softraid.c
4438
sr_block_put(struct sr_discipline *sd, void *ptr, int length)
sys/dev/softraid.c
4510
sr_already_assembled(struct sr_discipline *sd)
sys/dev/softraid.c
4512
struct sr_softc *sc = sd->sd_sc;
sys/dev/softraid.c
4516
if (!bcmp(&sd->sd_meta->ssdi.ssd_uuid,
sys/dev/softraid.c
4518
sizeof(sd->sd_meta->ssdi.ssd_uuid)))
sys/dev/softraid.c
4550
struct sr_discipline *sd, *nsd;
sys/dev/softraid.c
4556
TAILQ_FOREACH_REVERSE_SAFE(sd, &sc->sc_dis_list,
sys/dev/softraid.c
4558
sr_discipline_shutdown(sd, 1, -1);
sys/dev/softraid.c
4565
struct sr_discipline *sd;
sys/dev/softraid.c
4580
while ((sd = TAILQ_LAST(&sc->sc_dis_list, sr_discipline_list)) != NULL)
sys/dev/softraid.c
4581
sr_discipline_shutdown(sd, 1, dying);
sys/dev/softraid.c
4587
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid.c
4591
DNPRINTF(SR_D_DIS, "%s: %s 0x%02x\n", DEVNAME(sd->sd_sc), func,
sys/dev/softraid.c
4594
if (sd->sd_meta->ssd_data_blkno == 0)
sys/dev/softraid.c
4597
if (sd->sd_vol_status == BIOC_SVOFFLINE) {
sys/dev/softraid.c
4599
DEVNAME(sd->sd_sc), func);
sys/dev/softraid.c
4605
DEVNAME(sd->sd_sc), func, sd->sd_meta->ssd_devname);
sys/dev/softraid.c
4617
DEVNAME(sd->sd_sc), func, sd->sd_meta->ssd_devname);
sys/dev/softraid.c
4621
*blkno *= (sd->sd_meta->ssdi.ssd_secsize / DEV_BSIZE);
sys/dev/softraid.c
4626
if (wu->swu_blk_end > sd->sd_meta->ssdi.ssd_size) {
sys/dev/softraid.c
4629
DEVNAME(sd->sd_sc), func, (long long)wu->swu_blk_start,
sys/dev/softraid.c
4632
sd->sd_scsi_sense.error_code = SSD_ERRCODE_CURRENT |
sys/dev/softraid.c
4634
sd->sd_scsi_sense.flags = SKEY_ILLEGAL_REQUEST;
sys/dev/softraid.c
4635
sd->sd_scsi_sense.add_sense_code = 0x21;
sys/dev/softraid.c
4636
sd->sd_scsi_sense.add_sense_code_qual = 0x00;
sys/dev/softraid.c
4637
sd->sd_scsi_sense.extra_len = 4;
sys/dev/softraid.c
4649
struct sr_discipline *sd = arg;
sys/dev/softraid.c
4650
struct sr_softc *sc = sd->sd_sc;
sys/dev/softraid.c
4653
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname);
sys/dev/softraid.c
4655
if (kthread_create(sr_rebuild_thread, sd, &sd->sd_background_proc,
sys/dev/softraid.c
4664
struct sr_discipline *sd = arg;
sys/dev/softraid.c
4667
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname);
sys/dev/softraid.c
4669
sd->sd_reb_active = 1;
sys/dev/softraid.c
4670
sd->sd_rebuild(sd);
sys/dev/softraid.c
4671
sd->sd_reb_active = 0;
sys/dev/softraid.c
4677
sr_rebuild(struct sr_discipline *sd)
sys/dev/softraid.c
4679
struct sr_softc *sc = sd->sd_sc;
sys/dev/softraid.c
4688
whole_blk = sd->sd_meta->ssdi.ssd_size / SR_REBUILD_IO_SIZE;
sys/dev/softraid.c
4689
partial_blk = sd->sd_meta->ssdi.ssd_size % SR_REBUILD_IO_SIZE;
sys/dev/softraid.c
4691
restart = sd->sd_meta->ssd_rebuild / SR_REBUILD_IO_SIZE;
sys/dev/softraid.c
4707
percent = sr_rebuild_percent(sd);
sys/dev/softraid.c
4709
DEVNAME(sc), sd->sd_meta->ssd_devname, percent);
sys/dev/softraid.c
4724
wu_r = sr_scsi_wu_get(sd, 0);
sys/dev/softraid.c
4725
wu_w = sr_scsi_wu_get(sd, 0);
sys/dev/softraid.c
4728
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname, wu_r, wu_w);
sys/dev/softraid.c
4744
if (sd->sd_scsi_rw(wu_r)) {
sys/dev/softraid.c
4764
if (sd->sd_scsi_rw(wu_w)) {
sys/dev/softraid.c
477
sr_meta_rw(struct sr_discipline *sd, dev_t dev, void *md, long flags)
sys/dev/softraid.c
4777
TAILQ_INSERT_TAIL(&sd->sd_wu_defq, wu_w, swu_link);
sys/dev/softraid.c
4781
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname, wu_r);
sys/dev/softraid.c
4796
sr_scsi_wu_put(sd, wu_r);
sys/dev/softraid.c
4797
sr_scsi_wu_put(sd, wu_w);
sys/dev/softraid.c
4799
sd->sd_meta->ssd_rebuild = lba;
sys/dev/softraid.c
4803
percent = sr_rebuild_percent(sd);
sys/dev/softraid.c
4805
if (sr_meta_save(sd, SR_META_DIRTY))
sys/dev/softraid.c
4807
DEVNAME(sc), sd->sd_meta->ssd_devname);
sys/dev/softraid.c
4811
if (sd->sd_reb_abort)
sys/dev/softraid.c
4816
sd->sd_meta->ssd_rebuild = 0;
sys/dev/softraid.c
4817
for (c = 0; c < sd->sd_meta->ssdi.ssd_chunk_no; c++) {
sys/dev/softraid.c
4818
if (sd->sd_vol.sv_chunks[c]->src_meta.scm_status ==
sys/dev/softraid.c
482
DEVNAME(sd->sd_sc), dev, md, flags);
sys/dev/softraid.c
4820
sd->sd_set_chunk_state(sd, c, BIOC_SDONLINE);
sys/dev/softraid.c
4826
if (sr_meta_save(sd, SR_META_DIRTY))
sys/dev/softraid.c
4828
DEVNAME(sc), sd->sd_meta->ssd_devname);
sys/dev/softraid.c
4836
struct sr_discipline *sd;
sys/dev/softraid.c
4838
TAILQ_FOREACH(sd, &sc->sc_dis_list, sd_link)
sys/dev/softraid.c
4839
if (!strncmp(sd->sd_meta->ssd_devname, devname,
sys/dev/softraid.c
4840
sizeof(sd->sd_meta->ssd_devname)))
sys/dev/softraid.c
4842
return sd;
sys/dev/softraid.c
4847
sr_sensors_create(struct sr_discipline *sd)
sys/dev/softraid.c
4849
struct sr_softc *sc = sd->sd_sc;
sys/dev/softraid.c
4853
DEVNAME(sc), sd->sd_meta->ssd_devname);
sys/dev/softraid.c
4855
sd->sd_vol.sv_sensor.type = SENSOR_DRIVE;
sys/dev/softraid.c
4856
sd->sd_vol.sv_sensor.status = SENSOR_S_UNKNOWN;
sys/dev/softraid.c
4857
strlcpy(sd->sd_vol.sv_sensor.desc, sd->sd_meta->ssd_devname,
sys/dev/softraid.c
4858
sizeof(sd->sd_vol.sv_sensor.desc));
sys/dev/softraid.c
486
DEVNAME(sd->sd_sc));
sys/dev/softraid.c
4860
sensor_attach(&sc->sc_sensordev, &sd->sd_vol.sv_sensor);
sys/dev/softraid.c
4861
sd->sd_vol.sv_sensor_attached = 1;
sys/dev/softraid.c
4876
sr_sensors_delete(struct sr_discipline *sd)
sys/dev/softraid.c
4878
struct sr_softc *sc = sd->sd_sc;
sys/dev/softraid.c
4880
DNPRINTF(SR_D_STATE, "%s: sr_sensors_delete\n", DEVNAME(sd->sd_sc));
sys/dev/softraid.c
4882
if (sd->sd_vol.sv_sensor_attached) {
sys/dev/softraid.c
4883
sensor_detach(&sd->sd_sc->sc_sensordev, &sd->sd_vol.sv_sensor);
sys/dev/softraid.c
4884
sd->sd_vol.sv_sensor_attached = 0;
sys/dev/softraid.c
4890
TAILQ_FOREACH(sd, &sc->sc_dis_list, sd_link)
sys/dev/softraid.c
4891
if (sd->sd_vol.sv_sensor_attached)
sys/dev/softraid.c
490
rv = sr_rw(sd->sd_sc, dev, md, SR_META_SIZE * DEV_BSIZE,
sys/dev/softraid.c
4904
struct sr_discipline *sd;
sys/dev/softraid.c
4908
TAILQ_FOREACH(sd, &sc->sc_dis_list, sd_link) {
sys/dev/softraid.c
4909
sv = &sd->sd_vol;
sys/dev/softraid.c
4911
switch(sd->sd_vol_status) {
sys/dev/softraid.c
4948
struct sr_discipline *sd;
sys/dev/softraid.c
4955
TAILQ_FOREACH(sd, &sc->sc_dis_list, sd_link) {
sys/dev/softraid.c
4957
sd->sd_meta->ssd_devname,
sys/dev/softraid.c
4958
sd->sd_wu_pending,
sys/dev/softraid.c
4959
sd->sd_wu_collisions);
sys/dev/softraid.c
498
sr_meta_clear(struct sr_discipline *sd)
sys/dev/softraid.c
500
struct sr_softc *sc = sd->sd_sc;
sys/dev/softraid.c
501
struct sr_chunk_head *cl = &sd->sd_vol.sv_chunk_list;
sys/dev/softraid.c
508
if (sd->sd_meta_type != SR_META_F_NATIVE) {
sys/dev/softraid.c
5092
struct sd_softc *sd;
sys/dev/softraid.c
5111
sd = (struct sd_softc *)dv;
sys/dev/softraid.c
5118
my->srd = sc->sc_targets[sd->sc_link->target];
sys/dev/softraid.c
515
if (sr_meta_native_write(sd, ch_entry->src_dev_mm, m, NULL)) {
sys/dev/softraid.c
525
bzero(sd->sd_meta, SR_META_SIZE * DEV_BSIZE);
sys/dev/softraid.c
534
sr_meta_init(struct sr_discipline *sd, int level, int no_chunk)
sys/dev/softraid.c
536
struct sr_softc *sc = sd->sd_sc;
sys/dev/softraid.c
537
struct sr_metadata *sm = sd->sd_meta;
sys/dev/softraid.c
538
struct sr_chunk_head *cl = &sd->sd_vol.sv_chunk_list;
sys/dev/softraid.c
553
sm->ssdi.ssd_vol_flags = sd->sd_meta_flags;
sys/dev/softraid.c
591
sd->sd_vol.sv_chunk_minsz = min_chunk_sz;
sys/dev/softraid.c
592
sd->sd_vol.sv_chunk_maxsz = max_chunk_sz;
sys/dev/softraid.c
596
sr_meta_init_complete(struct sr_discipline *sd)
sys/dev/softraid.c
599
struct sr_softc *sc = sd->sd_sc;
sys/dev/softraid.c
601
struct sr_metadata *sm = sd->sd_meta;
sys/dev/softraid.c
608
"SR %s", sd->sd_name);
sys/dev/softraid.c
614
sr_meta_opt_handler(struct sr_discipline *sd, struct sr_meta_opt_hdr *om)
sys/dev/softraid.c
623
struct sr_discipline *sd = xsd;
sys/dev/softraid.c
628
if (sr_meta_save(sd, SR_META_DIRTY))
sys/dev/softraid.c
629
printf("%s: save metadata failed\n", DEVNAME(sd->sd_sc));
sys/dev/softraid.c
631
sd->sd_must_flush = 0;
sys/dev/softraid.c
636
sr_meta_save(struct sr_discipline *sd, u_int32_t flags)
sys/dev/softraid.c
638
struct sr_softc *sc = sd->sd_sc;
sys/dev/softraid.c
639
struct sr_metadata *sm = sd->sd_meta, *m;
sys/dev/softraid.c
649
DEVNAME(sc), sd->sd_meta->ssd_devname);
sys/dev/softraid.c
657
s = &smd[sd->sd_meta_type];
sys/dev/softraid.c
674
src = sd->sd_vol.sv_chunks[i];
sys/dev/softraid.c
681
SLIST_FOREACH(omi, &sd->sd_meta_opt, omi_link) {
sys/dev/softraid.c
694
src = sd->sd_vol.sv_chunks[i];
sys/dev/softraid.c
718
if (s->smd_write(sd, src->src_dev_mm, m, NULL /* XXX */)) {
sys/dev/softraid.c
729
if (sd->sd_scsi_sync) {
sys/dev/softraid.c
732
wu.swu_dis = sd;
sys/dev/softraid.c
733
sd->sd_scsi_sync(&wu);
sys/dev/softraid.c
742
sr_meta_read(struct sr_discipline *sd)
sys/dev/softraid.c
744
struct sr_softc *sc = sd->sd_sc;
sys/dev/softraid.c
745
struct sr_chunk_head *cl = &sd->sd_vol.sv_chunk_list;
sys/dev/softraid.c
756
s = &smd[sd->sd_meta_type];
sys/dev/softraid.c
757
if (sd->sd_meta_type != SR_META_F_NATIVE)
sys/dev/softraid.c
769
} else if (s->smd_read(sd, ch_entry->src_dev_mm, sm, fm)) {
sys/dev/softraid.c
786
if (sr_meta_validate(sd, ch_entry->src_dev_mm, sm, fm)) {
sys/dev/softraid.c
795
sr_meta_opt_load(sc, sm, &sd->sd_meta_opt);
sys/dev/softraid.c
796
memcpy(sd->sd_meta, sm, sizeof(*sd->sd_meta));
sys/dev/softraid.c
902
sr_meta_validate(struct sr_discipline *sd, dev_t dev, struct sr_metadata *sm,
sys/dev/softraid.c
905
struct sr_softc *sc = sd->sd_sc;
sys/dev/softraid.c
918
s = &smd[sd->sd_meta_type];
sys/dev/softraid.c
919
if (sd->sd_meta_type != SR_META_F_NATIVE)
sys/dev/softraid.c
920
if (s->smd_validate(sd, sm, fm)) {
sys/dev/softraid_concat.c
112
no_chunk = sd->sd_meta->ssdi.ssd_chunk_no;
sys/dev/softraid_concat.c
115
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname,
sys/dev/softraid_concat.c
127
chunksize = sd->sd_vol.sv_chunks[chunk]->src_size <<
sys/dev/softraid_concat.c
140
scp = sd->sd_vol.sv_chunks[chunk];
sys/dev/softraid_concat.c
147
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname, sd->sd_name,
sys/dev/softraid_concat.c
151
ccb = sr_ccb_rw(sd, chunk, blkno, length, data, xs->flags, 0);
sys/dev/softraid_concat.c
155
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname);
sys/dev/softraid_concat.c
44
sr_concat_discipline_init(struct sr_discipline *sd)
sys/dev/softraid_concat.c
47
sd->sd_type = SR_MD_CONCAT;
sys/dev/softraid_concat.c
48
strlcpy(sd->sd_name, "CONCAT", sizeof(sd->sd_name));
sys/dev/softraid_concat.c
49
sd->sd_capabilities = SR_CAP_SYSTEM_DISK | SR_CAP_AUTO_ASSEMBLE |
sys/dev/softraid_concat.c
51
sd->sd_max_wu = SR_CONCAT_NOWU;
sys/dev/softraid_concat.c
54
sd->sd_assemble = sr_concat_assemble;
sys/dev/softraid_concat.c
55
sd->sd_create = sr_concat_create;
sys/dev/softraid_concat.c
56
sd->sd_scsi_rw = sr_concat_rw;
sys/dev/softraid_concat.c
60
sr_concat_create(struct sr_discipline *sd, struct bioc_createraid *bc,
sys/dev/softraid_concat.c
66
sr_error(sd->sd_sc, "%s requires one or more chunks",
sys/dev/softraid_concat.c
67
sd->sd_name);
sys/dev/softraid_concat.c
71
sd->sd_meta->ssdi.ssd_size = 0;
sys/dev/softraid_concat.c
73
sd->sd_meta->ssdi.ssd_size +=
sys/dev/softraid_concat.c
74
sd->sd_vol.sv_chunks[i]->src_size;
sys/dev/softraid_concat.c
77
return sr_concat_init(sd);
sys/dev/softraid_concat.c
81
sr_concat_assemble(struct sr_discipline *sd, struct bioc_createraid *bc,
sys/dev/softraid_concat.c
84
return sr_concat_init(sd);
sys/dev/softraid_concat.c
88
sr_concat_init(struct sr_discipline *sd)
sys/dev/softraid_concat.c
90
sd->sd_max_ccb_per_wu = SR_CONCAT_NOWU * sd->sd_meta->ssdi.ssd_chunk_no;
sys/dev/softraid_concat.c
98
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid_crypto.c
1003
sr_crypto_free_sessions(sd, mdd_crypto);
sys/dev/softraid_crypto.c
1008
sr_hotplug_register(sd, sr_crypto_hotplug);
sys/dev/softraid_crypto.c
1014
sr_crypto_alloc_resources(struct sr_discipline *sd)
sys/dev/softraid_crypto.c
1016
return sr_crypto_alloc_resources_internal(sd, &sd->mds.mdd_crypto);
sys/dev/softraid_crypto.c
1020
sr_crypto_free_resources_internal(struct sr_discipline *sd,
sys/dev/softraid_crypto.c
1027
DEVNAME(sd->sd_sc));
sys/dev/softraid_crypto.c
1036
sr_hotplug_unregister(sd, sr_crypto_hotplug);
sys/dev/softraid_crypto.c
1038
sr_crypto_free_sessions(sd, mdd_crypto);
sys/dev/softraid_crypto.c
1040
TAILQ_FOREACH(wu, &sd->sd_wu, swu_next) {
sys/dev/softraid_crypto.c
1048
sr_wu_free(sd);
sys/dev/softraid_crypto.c
1049
sr_ccb_free(sd);
sys/dev/softraid_crypto.c
105
sr_crypto_discipline_init(struct sr_discipline *sd)
sys/dev/softraid_crypto.c
1053
sr_crypto_free_resources(struct sr_discipline *sd)
sys/dev/softraid_crypto.c
1055
struct sr_crypto *mdd_crypto = &sd->mds.mdd_crypto;
sys/dev/softraid_crypto.c
1056
sr_crypto_free_resources_internal(sd, mdd_crypto);
sys/dev/softraid_crypto.c
1060
sr_crypto_ioctl_internal(struct sr_discipline *sd,
sys/dev/softraid_crypto.c
1068
DEVNAME(sd->sd_sc), bd->bd_cmd);
sys/dev/softraid_crypto.c
110
sd->sd_wu_size = sizeof(struct sr_crypto_wu);
sys/dev/softraid_crypto.c
1107
if (sr_crypto_change_maskkey(sd, mdd_crypto, &kdfinfo1,
sys/dev/softraid_crypto.c
111
sd->sd_type = SR_MD_CRYPTO;
sys/dev/softraid_crypto.c
1112
rv = sr_meta_save(sd, SR_META_DIRTY);
sys/dev/softraid_crypto.c
112
strlcpy(sd->sd_name, "CRYPTO", sizeof(sd->sd_name));
sys/dev/softraid_crypto.c
1126
sr_crypto_ioctl(struct sr_discipline *sd, struct bioc_discipline *bd)
sys/dev/softraid_crypto.c
1128
struct sr_crypto *mdd_crypto = &sd->mds.mdd_crypto;
sys/dev/softraid_crypto.c
1129
return sr_crypto_ioctl_internal(sd, mdd_crypto, bd);
sys/dev/softraid_crypto.c
113
sd->sd_capabilities = SR_CAP_SYSTEM_DISK | SR_CAP_AUTO_ASSEMBLE;
sys/dev/softraid_crypto.c
1133
sr_crypto_meta_opt_handler_internal(struct sr_discipline *sd,
sys/dev/softraid_crypto.c
114
sd->sd_max_wu = SR_CRYPTO_NOWU;
sys/dev/softraid_crypto.c
1147
sr_crypto_meta_opt_handler(struct sr_discipline *sd, struct sr_meta_opt_hdr *om)
sys/dev/softraid_crypto.c
1149
struct sr_crypto *mdd_crypto = &sd->mds.mdd_crypto;
sys/dev/softraid_crypto.c
1150
return sr_crypto_meta_opt_handler_internal(sd, mdd_crypto, om);
sys/dev/softraid_crypto.c
117
sd->mds.mdd_crypto.scr_sid[i] = (u_int64_t)-1;
sys/dev/softraid_crypto.c
1195
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid_crypto.c
120
sd->sd_alloc_resources = sr_crypto_alloc_resources;
sys/dev/softraid_crypto.c
1203
ccb = sr_ccb_rw(sd, 0, blkno, xs->datalen, xs->data, xs->flags, 0);
sys/dev/softraid_crypto.c
1207
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname);
sys/dev/softraid_crypto.c
121
sd->sd_assemble = sr_crypto_assemble;
sys/dev/softraid_crypto.c
122
sd->sd_create = sr_crypto_create;
sys/dev/softraid_crypto.c
123
sd->sd_free_resources = sr_crypto_free_resources;
sys/dev/softraid_crypto.c
124
sd->sd_ioctl_handler = sr_crypto_ioctl;
sys/dev/softraid_crypto.c
125
sd->sd_meta_opt_handler = sr_crypto_meta_opt_handler;
sys/dev/softraid_crypto.c
126
sd->sd_scsi_rw = sr_crypto_rw;
sys/dev/softraid_crypto.c
1267
sr_crypto_hotplug(struct sr_discipline *sd, struct disk *diskp, int action)
sys/dev/softraid_crypto.c
127
sd->sd_scsi_done = sr_crypto_done;
sys/dev/softraid_crypto.c
1270
DEVNAME(sd->sd_sc), diskp->dk_name, action);
sys/dev/softraid_crypto.c
131
sr_crypto_create(struct sr_discipline *sd, struct bioc_createraid *bc,
sys/dev/softraid_crypto.c
137
sr_error(sd->sd_sc, "%s requires exactly one chunk",
sys/dev/softraid_crypto.c
138
sd->sd_name);
sys/dev/softraid_crypto.c
142
sd->sd_meta->ssdi.ssd_size = coerced_size;
sys/dev/softraid_crypto.c
144
rv = sr_crypto_meta_create(sd, &sd->mds.mdd_crypto, bc);
sys/dev/softraid_crypto.c
148
sd->sd_max_ccb_per_wu = no_chunk;
sys/dev/softraid_crypto.c
153
sr_crypto_meta_create(struct sr_discipline *sd, struct sr_crypto *mdd_crypto,
sys/dev/softraid_crypto.c
159
if (sd->sd_meta->ssdi.ssd_size > SR_CRYPTO_MAXSIZE) {
sys/dev/softraid_crypto.c
160
sr_error(sd->sd_sc, "%s exceeds maximum size (%lli > %llu)",
sys/dev/softraid_crypto.c
161
sd->sd_name, sd->sd_meta->ssdi.ssd_size,
sys/dev/softraid_crypto.c
173
SLIST_INSERT_HEAD(&sd->sd_meta_opt, omi, omi_link);
sys/dev/softraid_crypto.c
175
sd->sd_meta->ssdi.ssd_opt_no++;
sys/dev/softraid_crypto.c
182
if (sr_crypto_get_kdf(bc, sd, mdd_crypto))
sys/dev/softraid_crypto.c
185
sr_crypto_create_key_disk(sd, mdd_crypto, bc->bc_key_disk);
sys/dev/softraid_crypto.c
188
sd->sd_capabilities |= SR_CAP_AUTO_ASSEMBLE;
sys/dev/softraid_crypto.c
197
} else if (sr_crypto_get_kdf(bc, sd, mdd_crypto))
sys/dev/softraid_crypto.c
204
sr_crypto_create_keys(sd, mdd_crypto);
sys/dev/softraid_crypto.c
212
sr_crypto_set_key(struct sr_discipline *sd, struct sr_crypto *mdd_crypto,
sys/dev/softraid_crypto.c
230
sr_crypto_read_key_disk(sd, mdd_crypto, bc->bc_key_disk);
sys/dev/softraid_crypto.c
252
if (sr_crypto_get_kdf(bc, sd, mdd_crypto))
sys/dev/softraid_crypto.c
264
sr_crypto_assemble(struct sr_discipline *sd,
sys/dev/softraid_crypto.c
269
rv = sr_crypto_set_key(sd, &sd->mds.mdd_crypto, bc, no_chunk, data);
sys/dev/softraid_crypto.c
273
sd->sd_max_ccb_per_wu = sd->sd_meta->ssdi.ssd_chunk_no;
sys/dev/softraid_crypto.c
343
sr_crypto_get_kdf(struct bioc_createraid *bc, struct sr_discipline *sd,
sys/dev/softraid_crypto.c
469
sr_crypto_decrypt_key(struct sr_discipline *sd, struct sr_crypto *mdd_crypto)
sys/dev/softraid_crypto.c
474
DNPRINTF(SR_D_DIS, "%s: sr_crypto_decrypt_key\n", DEVNAME(sd->sd_sc));
sys/dev/softraid_crypto.c
512
sr_crypto_create_keys(struct sr_discipline *sd, struct sr_crypto *mdd_crypto)
sys/dev/softraid_crypto.c
516
DEVNAME(sd->sd_sc));
sys/dev/softraid_crypto.c
554
sr_crypto_change_maskkey(struct sr_discipline *sd, struct sr_crypto *mdd_crypto,
sys/dev/softraid_crypto.c
563
DEVNAME(sd->sd_sc));
sys/dev/softraid_crypto.c
586
sr_error(sd->sd_sc, "incorrect key or passphrase");
sys/dev/softraid_crypto.c
634
sr_crypto_create_key_disk(struct sr_discipline *sd,
sys/dev/softraid_crypto.c
637
struct sr_softc *sc = sd->sd_sc;
sys/dev/softraid_crypto.c
703
km->scmi.scm_volid = sd->sd_meta->ssdi.ssd_level;
sys/dev/softraid_crypto.c
708
memcpy(&km->scmi.scm_uuid, &sd->sd_meta->ssdi.ssd_uuid,
sys/dev/softraid_crypto.c
725
memcpy(&sm->ssdi.ssd_uuid, &sd->sd_meta->ssdi.ssd_uuid,
sys/dev/softraid_crypto.c
739
fakesd->sd_sc = sd->sd_sc;
sys/dev/softraid_crypto.c
799
sr_crypto_read_key_disk(struct sr_discipline *sd, struct sr_crypto *mdd_crypto,
sys/dev/softraid_crypto.c
802
struct sr_softc *sc = sd->sd_sc;
sys/dev/softraid_crypto.c
861
if (sr_meta_native_read(sd, dev, sm, NULL)) {
sys/dev/softraid_crypto.c
866
if (sr_meta_validate(sd, dev, sm, NULL)) {
sys/dev/softraid_crypto.c
922
sr_crypto_free_sessions(struct sr_discipline *sd, struct sr_crypto *mdd_crypto)
sys/dev/softraid_crypto.c
935
sr_crypto_alloc_resources_internal(struct sr_discipline *sd,
sys/dev/softraid_crypto.c
944
DEVNAME(sd->sd_sc));
sys/dev/softraid_crypto.c
955
sr_error(sd->sd_sc, "unknown crypto algorithm");
sys/dev/softraid_crypto.c
962
if (sr_wu_alloc(sd)) {
sys/dev/softraid_crypto.c
963
sr_error(sd->sd_sc, "unable to allocate work units");
sys/dev/softraid_crypto.c
966
if (sr_ccb_alloc(sd)) {
sys/dev/softraid_crypto.c
967
sr_error(sd->sd_sc, "unable to allocate CCBs");
sys/dev/softraid_crypto.c
970
if (sr_crypto_decrypt_key(sd, mdd_crypto)) {
sys/dev/softraid_crypto.c
971
sr_error(sd->sd_sc, "incorrect key or passphrase");
sys/dev/softraid_crypto.c
981
TAILQ_FOREACH(wu, &sd->sd_wu, swu_next) {
sys/dev/softraid_crypto.c
995
num_keys = ((sd->sd_meta->ssdi.ssd_size - 1) >>
sys/dev/softraid_raid0.c
101
sd->mds.mdd_raid0.sr0_strip_bits =
sys/dev/softraid_raid0.c
102
sr_validate_stripsize(sd->sd_meta->ssdi.ssd_strip_size);
sys/dev/softraid_raid0.c
103
if (sd->mds.mdd_raid0.sr0_strip_bits == -1) {
sys/dev/softraid_raid0.c
104
sr_error(sd->sd_sc, "%s: invalid strip size", sd->sd_name);
sys/dev/softraid_raid0.c
107
sd->sd_max_ccb_per_wu =
sys/dev/softraid_raid0.c
108
(MAXPHYS / sd->sd_meta->ssdi.ssd_strip_size + 1) *
sys/dev/softraid_raid0.c
109
SR_RAID0_NOWU * sd->sd_meta->ssdi.ssd_chunk_no;
sys/dev/softraid_raid0.c
117
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid_raid0.c
132
strip_size = sd->sd_meta->ssdi.ssd_strip_size;
sys/dev/softraid_raid0.c
133
strip_bits = sd->mds.mdd_raid0.sr0_strip_bits;
sys/dev/softraid_raid0.c
134
no_chunk = sd->sd_meta->ssdi.ssd_chunk_no;
sys/dev/softraid_raid0.c
137
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname,
sys/dev/softraid_raid0.c
152
scp = sd->sd_vol.sv_chunks[chunk];
sys/dev/softraid_raid0.c
160
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname, sd->sd_name,
sys/dev/softraid_raid0.c
165
ccb = sr_ccb_rw(sd, chunk, blkno, length, data, xs->flags, 0);
sys/dev/softraid_raid0.c
169
DEVNAME(sd->sd_sc),
sys/dev/softraid_raid0.c
170
sd->sd_meta->ssd_devname);
sys/dev/softraid_raid0.c
53
sr_raid0_discipline_init(struct sr_discipline *sd)
sys/dev/softraid_raid0.c
57
sd->sd_type = SR_MD_RAID0;
sys/dev/softraid_raid0.c
58
strlcpy(sd->sd_name, "RAID 0", sizeof(sd->sd_name));
sys/dev/softraid_raid0.c
59
sd->sd_capabilities = SR_CAP_SYSTEM_DISK | SR_CAP_AUTO_ASSEMBLE;
sys/dev/softraid_raid0.c
60
sd->sd_max_wu = SR_RAID0_NOWU;
sys/dev/softraid_raid0.c
63
sd->sd_assemble = sr_raid0_assemble;
sys/dev/softraid_raid0.c
64
sd->sd_create = sr_raid0_create;
sys/dev/softraid_raid0.c
65
sd->sd_scsi_rw = sr_raid0_rw;
sys/dev/softraid_raid0.c
69
sr_raid0_create(struct sr_discipline *sd, struct bioc_createraid *bc,
sys/dev/softraid_raid0.c
73
sr_error(sd->sd_sc, "%s requires two or more chunks",
sys/dev/softraid_raid0.c
74
sd->sd_name);
sys/dev/softraid_raid0.c
82
sd->sd_meta->ssdi.ssd_strip_size = MAXPHYS;
sys/dev/softraid_raid0.c
83
sd->sd_meta->ssdi.ssd_size = (coerced_size &
sys/dev/softraid_raid0.c
84
~(((u_int64_t)sd->sd_meta->ssdi.ssd_strip_size >>
sys/dev/softraid_raid0.c
87
return sr_raid0_init(sd);
sys/dev/softraid_raid0.c
91
sr_raid0_assemble(struct sr_discipline *sd, struct bioc_createraid *bc,
sys/dev/softraid_raid0.c
94
return sr_raid0_init(sd);
sys/dev/softraid_raid0.c
98
sr_raid0_init(struct sr_discipline *sd)
sys/dev/softraid_raid1.c
100
sd->sd_max_ccb_per_wu = sd->sd_meta->ssdi.ssd_chunk_no;
sys/dev/softraid_raid1.c
106
sr_raid1_set_chunk_state(struct sr_discipline *sd, int c, int new_state)
sys/dev/softraid_raid1.c
111
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname,
sys/dev/softraid_raid1.c
112
sd->sd_vol.sv_chunks[c]->src_meta.scmi.scm_devname, c, new_state);
sys/dev/softraid_raid1.c
116
old_state = sd->sd_vol.sv_chunks[c]->src_meta.scm_status;
sys/dev/softraid_raid1.c
156
sd->sd_reb_abort = 1;
sys/dev/softraid_raid1.c
177
DEVNAME(sd->sd_sc),
sys/dev/softraid_raid1.c
178
sd->sd_meta->ssd_devname,
sys/dev/softraid_raid1.c
179
sd->sd_vol.sv_chunks[c]->src_meta.scmi.scm_devname,
sys/dev/softraid_raid1.c
184
sd->sd_vol.sv_chunks[c]->src_meta.scm_status = new_state;
sys/dev/softraid_raid1.c
185
sd->sd_set_vol_state(sd);
sys/dev/softraid_raid1.c
187
sd->sd_must_flush = 1;
sys/dev/softraid_raid1.c
188
task_add(systq, &sd->sd_meta_save_task);
sys/dev/softraid_raid1.c
194
sr_raid1_set_vol_state(struct sr_discipline *sd)
sys/dev/softraid_raid1.c
198
int old_state = sd->sd_vol_status;
sys/dev/softraid_raid1.c
201
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname);
sys/dev/softraid_raid1.c
203
nd = sd->sd_meta->ssdi.ssd_chunk_no;
sys/dev/softraid_raid1.c
208
DEVNAME(sd->sd_sc), i,
sys/dev/softraid_raid1.c
209
sd->sd_vol.sv_chunks[i]->src_meta.scm_status);
sys/dev/softraid_raid1.c
216
s = sd->sd_vol.sv_chunks[i]->src_meta.scm_status;
sys/dev/softraid_raid1.c
219
DEVNAME(sd->sd_sc),
sys/dev/softraid_raid1.c
220
sd->sd_meta->ssd_devname,
sys/dev/softraid_raid1.c
221
sd->sd_vol.sv_chunks[i]->src_meta.scmi.scm_devname);
sys/dev/softraid_raid1.c
237
"was %d\n", DEVNAME(sd->sd_sc), old_state);
sys/dev/softraid_raid1.c
242
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname,
sys/dev/softraid_raid1.c
311
DEVNAME(sd->sd_sc),
sys/dev/softraid_raid1.c
312
sd->sd_meta->ssd_devname,
sys/dev/softraid_raid1.c
317
sd->sd_vol_status = new_state;
sys/dev/softraid_raid1.c
321
task_add(systq, &sd->sd_hotspare_rebuild_task);
sys/dev/softraid_raid1.c
327
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid_raid1.c
341
ios = sd->sd_meta->ssdi.ssd_chunk_no;
sys/dev/softraid_raid1.c
348
chunk = sd->mds.mdd_raid1.sr1_counter++ %
sys/dev/softraid_raid1.c
349
sd->sd_meta->ssdi.ssd_chunk_no;
sys/dev/softraid_raid1.c
350
scp = sd->sd_vol.sv_chunks[chunk];
sys/dev/softraid_raid1.c
359
if (rt++ < sd->sd_meta->ssdi.ssd_chunk_no)
sys/dev/softraid_raid1.c
366
DEVNAME(sd->sd_sc));
sys/dev/softraid_raid1.c
372
scp = sd->sd_vol.sv_chunks[chunk];
sys/dev/softraid_raid1.c
388
ccb = sr_ccb_rw(sd, chunk, blkno, xs->datalen, xs->data,
sys/dev/softraid_raid1.c
393
DEVNAME(sd->sd_sc),
sys/dev/softraid_raid1.c
394
sd->sd_meta->ssd_devname);
sys/dev/softraid_raid1.c
412
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid_raid1.c
424
sd->sd_meta->ssd_devname, (long long)wu->swu_blk_start);
sys/dev/softraid_raid1.c
427
DEVNAME(sd->sd_sc));
sys/dev/softraid_raid1.c
430
if (sd->sd_scsi_rw(wu) == 0)
sys/dev/softraid_raid1.c
434
sd->sd_meta->ssd_devname, (long long)wu->swu_blk_start);
sys/dev/softraid_raid1.c
49
int sr_raid1_init(struct sr_discipline *sd);
sys/dev/softraid_raid1.c
57
sr_raid1_discipline_init(struct sr_discipline *sd)
sys/dev/softraid_raid1.c
60
sd->sd_type = SR_MD_RAID1;
sys/dev/softraid_raid1.c
61
strlcpy(sd->sd_name, "RAID 1", sizeof(sd->sd_name));
sys/dev/softraid_raid1.c
62
sd->sd_capabilities = SR_CAP_SYSTEM_DISK | SR_CAP_AUTO_ASSEMBLE |
sys/dev/softraid_raid1.c
64
sd->sd_max_wu = SR_RAID1_NOWU;
sys/dev/softraid_raid1.c
67
sd->sd_assemble = sr_raid1_assemble;
sys/dev/softraid_raid1.c
68
sd->sd_create = sr_raid1_create;
sys/dev/softraid_raid1.c
69
sd->sd_scsi_rw = sr_raid1_rw;
sys/dev/softraid_raid1.c
70
sd->sd_scsi_wu_done = sr_raid1_wu_done;
sys/dev/softraid_raid1.c
71
sd->sd_set_chunk_state = sr_raid1_set_chunk_state;
sys/dev/softraid_raid1.c
72
sd->sd_set_vol_state = sr_raid1_set_vol_state;
sys/dev/softraid_raid1.c
76
sr_raid1_create(struct sr_discipline *sd, struct bioc_createraid *bc,
sys/dev/softraid_raid1.c
80
sr_error(sd->sd_sc, "%s requires two or more chunks",
sys/dev/softraid_raid1.c
81
sd->sd_name);
sys/dev/softraid_raid1.c
85
sd->sd_meta->ssdi.ssd_size = coerced_size;
sys/dev/softraid_raid1.c
87
return sr_raid1_init(sd);
sys/dev/softraid_raid1.c
91
sr_raid1_assemble(struct sr_discipline *sd, struct bioc_createraid *bc,
sys/dev/softraid_raid1.c
94
return sr_raid1_init(sd);
sys/dev/softraid_raid1.c
98
sr_raid1_init(struct sr_discipline *sd)
sys/dev/softraid_raid1c.c
100
strlcpy(sd->sd_name, "RAID 1C", sizeof(sd->sd_name));
sys/dev/softraid_raid1c.c
101
sd->sd_capabilities = SR_CAP_SYSTEM_DISK | SR_CAP_AUTO_ASSEMBLE |
sys/dev/softraid_raid1c.c
103
sd->sd_max_wu = SR_RAID1C_NOWU;
sys/dev/softraid_raid1c.c
106
sd->mds.mdd_raid1c.sr1c_crypto.scr_sid[i] = (u_int64_t)-1;
sys/dev/softraid_raid1c.c
109
sd->sd_alloc_resources = sr_raid1c_alloc_resources;
sys/dev/softraid_raid1c.c
110
sd->sd_assemble = sr_raid1c_assemble;
sys/dev/softraid_raid1c.c
111
sd->sd_create = sr_raid1c_create;
sys/dev/softraid_raid1c.c
112
sd->sd_free_resources = sr_raid1c_free_resources;
sys/dev/softraid_raid1c.c
113
sd->sd_ioctl_handler = sr_raid1c_ioctl;
sys/dev/softraid_raid1c.c
114
sd->sd_meta_opt_handler = sr_raid1c_meta_opt_handler;
sys/dev/softraid_raid1c.c
115
sd->sd_scsi_rw = sr_raid1c_rw;
sys/dev/softraid_raid1c.c
116
sd->sd_scsi_done = sr_raid1c_done;
sys/dev/softraid_raid1c.c
117
sd->sd_scsi_wu_done = sr_raid1_wu_done;
sys/dev/softraid_raid1c.c
118
sd->sd_set_chunk_state = sr_raid1_set_chunk_state;
sys/dev/softraid_raid1c.c
119
sd->sd_set_vol_state = sr_raid1_set_vol_state;
sys/dev/softraid_raid1c.c
123
sr_raid1c_create(struct sr_discipline *sd, struct bioc_createraid *bc,
sys/dev/softraid_raid1c.c
129
sr_error(sd->sd_sc, "%s requires two or more chunks",
sys/dev/softraid_raid1c.c
130
sd->sd_name);
sys/dev/softraid_raid1c.c
134
sd->sd_meta->ssdi.ssd_size = coerced_size;
sys/dev/softraid_raid1c.c
136
rv = sr_raid1_init(sd);
sys/dev/softraid_raid1c.c
140
return sr_crypto_meta_create(sd, &sd->mds.mdd_raid1c.sr1c_crypto, bc);
sys/dev/softraid_raid1c.c
144
sr_raid1c_add_offline_chunks(struct sr_discipline *sd, int no_chunk)
sys/dev/softraid_raid1c.c
150
chunks = mallocarray(sd->sd_meta->ssdi.ssd_chunk_no,
sys/dev/softraid_raid1c.c
154
chunks[c] = sd->sd_vol.sv_chunks[c];
sys/dev/softraid_raid1c.c
156
for (c = no_chunk; c < sd->sd_meta->ssdi.ssd_chunk_no; c++) {
sys/dev/softraid_raid1c.c
166
free(sd->sd_vol.sv_chunks, M_DEVBUF,
sys/dev/softraid_raid1c.c
168
sd->sd_vol.sv_chunks = chunks;
sys/dev/softraid_raid1c.c
174
sr_raid1c_assemble(struct sr_discipline *sd, struct bioc_createraid *bc,
sys/dev/softraid_raid1c.c
177
struct sr_raid1c *mdd_raid1c = &sd->mds.mdd_raid1c;
sys/dev/softraid_raid1c.c
181
if (no_chunk < sd->sd_meta->ssdi.ssd_chunk_no) {
sys/dev/softraid_raid1c.c
182
rv = sr_raid1c_add_offline_chunks(sd, no_chunk);
sys/dev/softraid_raid1c.c
187
rv = sr_raid1_assemble(sd, bc, no_chunk, NULL);
sys/dev/softraid_raid1c.c
191
return sr_crypto_set_key(sd, &mdd_raid1c->sr1c_crypto, bc,
sys/dev/softraid_raid1c.c
196
sr_raid1c_ioctl(struct sr_discipline *sd, struct bioc_discipline *bd)
sys/dev/softraid_raid1c.c
198
struct sr_raid1c *mdd_raid1c = &sd->mds.mdd_raid1c;
sys/dev/softraid_raid1c.c
199
return sr_crypto_ioctl_internal(sd, &mdd_raid1c->sr1c_crypto, bd);
sys/dev/softraid_raid1c.c
203
sr_raid1c_alloc_resources(struct sr_discipline *sd)
sys/dev/softraid_raid1c.c
205
struct sr_raid1c *mdd_raid1c = &sd->mds.mdd_raid1c;
sys/dev/softraid_raid1c.c
206
return sr_crypto_alloc_resources_internal(sd, &mdd_raid1c->sr1c_crypto);
sys/dev/softraid_raid1c.c
210
sr_raid1c_free_resources(struct sr_discipline *sd)
sys/dev/softraid_raid1c.c
212
struct sr_raid1c *mdd_raid1c = &sd->mds.mdd_raid1c;
sys/dev/softraid_raid1c.c
213
sr_crypto_free_resources_internal(sd, &mdd_raid1c->sr1c_crypto);
sys/dev/softraid_raid1c.c
219
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid_raid1c.c
221
struct sr_raid1c *mdd_raid1c = &sd->mds.mdd_raid1c;
sys/dev/softraid_raid1c.c
233
ios = sd->sd_meta->ssdi.ssd_chunk_no;
sys/dev/softraid_raid1c.c
241
sd->sd_meta->ssdi.ssd_chunk_no;
sys/dev/softraid_raid1c.c
242
scp = sd->sd_vol.sv_chunks[chunk];
sys/dev/softraid_raid1c.c
251
if (rt++ < sd->sd_meta->ssdi.ssd_chunk_no)
sys/dev/softraid_raid1c.c
258
DEVNAME(sd->sd_sc));
sys/dev/softraid_raid1c.c
264
scp = sd->sd_vol.sv_chunks[chunk];
sys/dev/softraid_raid1c.c
284
ccb = sr_ccb_rw(sd, chunk, blkno, xs->datalen, xs->data,
sys/dev/softraid_raid1c.c
289
DEVNAME(sd->sd_sc),
sys/dev/softraid_raid1c.c
290
sd->sd_meta->ssd_devname);
sys/dev/softraid_raid1c.c
311
sr_raid1c_meta_opt_handler(struct sr_discipline *sd, struct sr_meta_opt_hdr *om)
sys/dev/softraid_raid1c.c
313
struct sr_raid1c *mdd_raid1c = &sd->mds.mdd_raid1c;
sys/dev/softraid_raid1c.c
314
return sr_crypto_meta_opt_handler_internal(sd,
sys/dev/softraid_raid1c.c
57
void sr_raid1c_free_resources(struct sr_discipline *sd);
sys/dev/softraid_raid1c.c
58
int sr_raid1c_ioctl(struct sr_discipline *sd, struct bioc_discipline *bd);
sys/dev/softraid_raid1c.c
66
extern int sr_raid1_init(struct sr_discipline *sd);
sys/dev/softraid_raid1c.c
93
sr_raid1c_discipline_init(struct sr_discipline *sd)
sys/dev/softraid_raid1c.c
98
sd->sd_wu_size = sizeof(struct sr_crypto_wu);
sys/dev/softraid_raid1c.c
99
sd->sd_type = SR_MD_RAID1C;
sys/dev/softraid_raid5.c
100
sd->sd_name);
sys/dev/softraid_raid5.c
108
sd->sd_meta->ssdi.ssd_strip_size = MAXPHYS;
sys/dev/softraid_raid5.c
109
sd->sd_meta->ssdi.ssd_size = (coerced_size &
sys/dev/softraid_raid5.c
110
~(((u_int64_t)sd->sd_meta->ssdi.ssd_strip_size >>
sys/dev/softraid_raid5.c
113
return sr_raid5_init(sd);
sys/dev/softraid_raid5.c
117
sr_raid5_assemble(struct sr_discipline *sd, struct bioc_createraid *bc,
sys/dev/softraid_raid5.c
120
return sr_raid5_init(sd);
sys/dev/softraid_raid5.c
124
sr_raid5_init(struct sr_discipline *sd)
sys/dev/softraid_raid5.c
127
sd->mds.mdd_raid5.sr5_strip_bits =
sys/dev/softraid_raid5.c
128
sr_validate_stripsize(sd->sd_meta->ssdi.ssd_strip_size);
sys/dev/softraid_raid5.c
129
if (sd->mds.mdd_raid5.sr5_strip_bits == -1) {
sys/dev/softraid_raid5.c
130
sr_error(sd->sd_sc, "invalid strip size");
sys/dev/softraid_raid5.c
134
sd->sd_max_ccb_per_wu = sd->sd_meta->ssdi.ssd_chunk_no;
sys/dev/softraid_raid5.c
140
sr_raid5_openings(struct sr_discipline *sd)
sys/dev/softraid_raid5.c
143
return ((sd->sd_max_wu - 2) >> 1);
sys/dev/softraid_raid5.c
147
sr_raid5_set_chunk_state(struct sr_discipline *sd, int c, int new_state)
sys/dev/softraid_raid5.c
152
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname,
sys/dev/softraid_raid5.c
153
sd->sd_vol.sv_chunks[c]->src_meta.scmi.scm_devname, c, new_state);
sys/dev/softraid_raid5.c
157
old_state = sd->sd_vol.sv_chunks[c]->src_meta.scm_status;
sys/dev/softraid_raid5.c
205
DEVNAME(sd->sd_sc),
sys/dev/softraid_raid5.c
206
sd->sd_meta->ssd_devname,
sys/dev/softraid_raid5.c
207
sd->sd_vol.sv_chunks[c]->src_meta.scmi.scm_devname,
sys/dev/softraid_raid5.c
212
sd->sd_vol.sv_chunks[c]->src_meta.scm_status = new_state;
sys/dev/softraid_raid5.c
213
sd->sd_set_vol_state(sd);
sys/dev/softraid_raid5.c
215
sd->sd_must_flush = 1;
sys/dev/softraid_raid5.c
216
task_add(systq, &sd->sd_meta_save_task);
sys/dev/softraid_raid5.c
222
sr_raid5_set_vol_state(struct sr_discipline *sd)
sys/dev/softraid_raid5.c
226
int old_state = sd->sd_vol_status;
sys/dev/softraid_raid5.c
229
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname);
sys/dev/softraid_raid5.c
231
nd = sd->sd_meta->ssdi.ssd_chunk_no;
sys/dev/softraid_raid5.c
237
s = sd->sd_vol.sv_chunks[i]->src_meta.scm_status;
sys/dev/softraid_raid5.c
240
DEVNAME(sd->sd_sc),
sys/dev/softraid_raid5.c
241
sd->sd_meta->ssd_devname,
sys/dev/softraid_raid5.c
242
sd->sd_vol.sv_chunks[i]->src_meta.scmi.scm_devname);
sys/dev/softraid_raid5.c
259
"was %d\n", DEVNAME(sd->sd_sc), old_state);
sys/dev/softraid_raid5.c
262
DEVNAME(sd->sd_sc), i,
sys/dev/softraid_raid5.c
263
sd->sd_vol.sv_chunks[i]->src_meta.scm_status);
sys/dev/softraid_raid5.c
269
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname,
sys/dev/softraid_raid5.c
338
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname,
sys/dev/softraid_raid5.c
343
sd->sd_vol_status = new_state;
sys/dev/softraid_raid5.c
347
sr_raid5_chunk_online(struct sr_discipline *sd, int chunk)
sys/dev/softraid_raid5.c
349
switch (sd->sd_vol.sv_chunks[chunk]->src_meta.scm_status) {
sys/dev/softraid_raid5.c
359
sr_raid5_chunk_rebuild(struct sr_discipline *sd, int chunk)
sys/dev/softraid_raid5.c
361
switch (sd->sd_vol.sv_chunks[chunk]->src_meta.scm_status) {
sys/dev/softraid_raid5.c
373
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid_raid5.c
390
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname,
sys/dev/softraid_raid5.c
394
strip_size = sd->sd_meta->ssdi.ssd_strip_size;
sys/dev/softraid_raid5.c
395
strip_bits = sd->mds.mdd_raid5.sr5_strip_bits;
sys/dev/softraid_raid5.c
396
no_chunk = sd->sd_meta->ssdi.ssd_chunk_no - 1;
sys/dev/softraid_raid5.c
404
if ((wu_r = sr_scsi_wu_get(sd, SCSI_NOSLEEP)) == NULL){
sys/dev/softraid_raid5.c
406
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname);
sys/dev/softraid_raid5.c
440
scp = sd->sd_vol.sv_chunks[chunk];
sys/dev/softraid_raid5.c
462
DEVNAME(sd->sd_sc));
sys/dev/softraid_raid5.c
486
TAILQ_INSERT_TAIL(&sd->sd_wu_defq, wu, swu_link);
sys/dev/softraid_raid5.c
490
sr_scsi_wu_put(sd, wu_r);
sys/dev/softraid_raid5.c
502
sr_scsi_wu_put(sd, wu_r);
sys/dev/softraid_raid5.c
510
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid_raid5.c
521
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname, chunk, blkno);
sys/dev/softraid_raid5.c
524
for (i = 0; i < sd->sd_meta->ssdi.ssd_chunk_no; i++) {
sys/dev/softraid_raid5.c
527
if (!sr_raid5_chunk_online(sd, i))
sys/dev/softraid_raid5.c
544
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid_raid5.c
584
"blkno %llu\n", DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname,
sys/dev/softraid_raid5.c
587
chunk_online = sr_raid5_chunk_online(sd, chunk);
sys/dev/softraid_raid5.c
588
chunk_rebuild = sr_raid5_chunk_rebuild(sd, chunk);
sys/dev/softraid_raid5.c
589
parity_online = sr_raid5_chunk_online(sd, parity);
sys/dev/softraid_raid5.c
590
parity_rebuild = sr_raid5_chunk_rebuild(sd, parity);
sys/dev/softraid_raid5.c
592
for (i = 0; i < sd->sd_meta->ssdi.ssd_chunk_no; i++) {
sys/dev/softraid_raid5.c
595
if (sr_raid5_chunk_rebuild(sd, i))
sys/dev/softraid_raid5.c
597
else if (!sr_raid5_chunk_online(sd, i))
sys/dev/softraid_raid5.c
602
"other offline %d\n", DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname,
sys/dev/softraid_raid5.c
608
xorbuf = sr_block_get(sd, len);
sys/dev/softraid_raid5.c
631
for (i = 0; i < sd->sd_meta->ssdi.ssd_chunk_no; i++) {
sys/dev/softraid_raid5.c
664
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid_raid5.c
668
DEVNAME(sd->sd_sc), bp, wu->swu_xs);
sys/dev/softraid_raid5.c
682
sr_block_put(sd, ccb->ccb_buf.b_data, ccb->ccb_buf.b_bcount);
sys/dev/softraid_raid5.c
693
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid_raid5.c
708
sd->sd_meta->ssd_devname, (long long)wu->swu_blk_start);
sys/dev/softraid_raid5.c
711
if (sd->sd_scsi_rw(wu) == 0)
sys/dev/softraid_raid5.c
716
sd->sd_meta->ssd_devname, (long long)wu->swu_blk_start);
sys/dev/softraid_raid5.c
729
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid_raid5.c
73
sr_raid5_discipline_init(struct sr_discipline *sd)
sys/dev/softraid_raid5.c
738
data = sr_block_get(sd, len);
sys/dev/softraid_raid5.c
744
ccb = sr_ccb_rw(sd, chunk, blkno, len, data, xsflags, ccbflags);
sys/dev/softraid_raid5.c
747
sr_block_put(sd, data, len);
sys/dev/softraid_raid5.c
76
sd->sd_type = SR_MD_RAID5;
sys/dev/softraid_raid5.c
767
sr_raid5_rebuild(struct sr_discipline *sd)
sys/dev/softraid_raid5.c
77
strlcpy(sd->sd_name, "RAID 5", sizeof(sd->sd_name));
sys/dev/softraid_raid5.c
777
for (i = 0; i < sd->sd_meta->ssdi.ssd_chunk_no; i++) {
sys/dev/softraid_raid5.c
778
if (sr_raid5_chunk_rebuild(sd, i)) {
sys/dev/softraid_raid5.c
78
sd->sd_capabilities = SR_CAP_SYSTEM_DISK | SR_CAP_AUTO_ASSEMBLE |
sys/dev/softraid_raid5.c
786
strip_size = sd->sd_meta->ssdi.ssd_strip_size;
sys/dev/softraid_raid5.c
787
strip_bits = sd->mds.mdd_raid5.sr5_strip_bits;
sys/dev/softraid_raid5.c
788
chunk_count = sd->sd_meta->ssdi.ssd_chunk_no - 1;
sys/dev/softraid_raid5.c
789
chunk_size = sd->sd_meta->ssdi.ssd_size / chunk_count;
sys/dev/softraid_raid5.c
795
"row size = %lld\n", DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname,
sys/dev/softraid_raid5.c
796
sd->sd_meta->ssdi.ssd_size, chunk_count, chunk_size, chunk_strips,
sys/dev/softraid_raid5.c
799
restart = sd->sd_meta->ssd_rebuild / row_size;
sys/dev/softraid_raid5.c
80
sd->sd_max_wu = SR_RAID5_NOWU + 2; /* Two for scrub/rebuild. */
sys/dev/softraid_raid5.c
802
DEVNAME(sd->sd_sc));
sys/dev/softraid_raid5.c
806
percent = sr_rebuild_percent(sd);
sys/dev/softraid_raid5.c
808
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname, percent);
sys/dev/softraid_raid5.c
815
"chunk lba = %lld\n", DEVNAME(sd->sd_sc),
sys/dev/softraid_raid5.c
816
sd->sd_meta->ssd_devname, strip_no, chunk_lba);
sys/dev/softraid_raid5.c
818
wu_w = sr_scsi_wu_get(sd, 0);
sys/dev/softraid_raid5.c
819
wu_r = sr_scsi_wu_get(sd, 0);
sys/dev/softraid_raid5.c
821
xorbuf = sr_block_get(sd, strip_size);
sys/dev/softraid_raid5.c
83
sd->sd_assemble = sr_raid5_assemble;
sys/dev/softraid_raid5.c
84
sd->sd_create = sr_raid5_create;
sys/dev/softraid_raid5.c
845
"swu_blk_end = %lld\n", DEVNAME(sd->sd_sc),
sys/dev/softraid_raid5.c
846
sd->sd_meta->ssd_devname,
sys/dev/softraid_raid5.c
85
sd->sd_openings = sr_raid5_openings;
sys/dev/softraid_raid5.c
850
TAILQ_INSERT_TAIL(&sd->sd_wu_defq, wu_w, swu_link);
sys/dev/softraid_raid5.c
86
sd->sd_rebuild = sr_raid5_rebuild;
sys/dev/softraid_raid5.c
861
tsleep_nsec(sd->sd_sc, PWAIT, "sr_yield",
sys/dev/softraid_raid5.c
865
sr_scsi_wu_put(sd, wu_r);
sys/dev/softraid_raid5.c
866
sr_scsi_wu_put(sd, wu_w);
sys/dev/softraid_raid5.c
868
sd->sd_meta->ssd_rebuild = chunk_lba * chunk_count;
sys/dev/softraid_raid5.c
87
sd->sd_scsi_rw = sr_raid5_rw;
sys/dev/softraid_raid5.c
870
percent = sr_rebuild_percent(sd);
sys/dev/softraid_raid5.c
872
if (sr_meta_save(sd, SR_META_DIRTY))
sys/dev/softraid_raid5.c
874
DEVNAME(sd->sd_sc),
sys/dev/softraid_raid5.c
875
sd->sd_meta->ssd_devname);
sys/dev/softraid_raid5.c
879
if (sd->sd_reb_abort)
sys/dev/softraid_raid5.c
88
sd->sd_scsi_intr = sr_raid5_intr;
sys/dev/softraid_raid5.c
883
DNPRINTF(SR_D_REBUILD, "%s: %s rebuild complete\n", DEVNAME(sd->sd_sc),
sys/dev/softraid_raid5.c
884
sd->sd_meta->ssd_devname);
sys/dev/softraid_raid5.c
887
sd->sd_meta->ssd_rebuild = 0;
sys/dev/softraid_raid5.c
888
for (i = 0; i < sd->sd_meta->ssdi.ssd_chunk_no; i++) {
sys/dev/softraid_raid5.c
889
if (sd->sd_vol.sv_chunks[i]->src_meta.scm_status ==
sys/dev/softraid_raid5.c
89
sd->sd_scsi_wu_done = sr_raid5_wu_done;
sys/dev/softraid_raid5.c
891
sd->sd_set_chunk_state(sd, i, BIOC_SDONLINE);
sys/dev/softraid_raid5.c
899
if (sr_meta_save(sd, SR_META_DIRTY))
sys/dev/softraid_raid5.c
90
sd->sd_set_chunk_state = sr_raid5_set_chunk_state;
sys/dev/softraid_raid5.c
901
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname);
sys/dev/softraid_raid5.c
908
sr_raid5_scrub(struct sr_discipline *sd)
sys/dev/softraid_raid5.c
91
sd->sd_set_vol_state = sr_raid5_set_vol_state;
sys/dev/softraid_raid5.c
916
wu_w = sr_scsi_wu_get(sd, 0);
sys/dev/softraid_raid5.c
917
wu_r = sr_scsi_wu_get(sd, 0);
sys/dev/softraid_raid5.c
919
no_chunk = sd->sd_meta->ssdi.ssd_chunk_no - 1;
sys/dev/softraid_raid5.c
920
strip_size = sd->sd_meta->ssdi.ssd_strip_size;
sys/dev/softraid_raid5.c
921
strip_bits = sd->mds.mdd_raid5.sr5_strip_bits;
sys/dev/softraid_raid5.c
922
max_strip = sd->sd_meta->ssdi.ssd_size >> strip_bits;
sys/dev/softraid_raid5.c
927
xorbuf = sr_block_get(sd, strip_size);
sys/dev/softraid_raid5.c
944
TAILQ_INSERT_TAIL(&sd->sd_wu_defq, wu_w, swu_link);
sys/dev/softraid_raid5.c
95
sr_raid5_create(struct sr_discipline *sd, struct bioc_createraid *bc,
sys/dev/softraid_raid5.c
956
tsleep_nsec(sd->sd_sc, PWAIT, "sr_yield",
sys/dev/softraid_raid5.c
99
sr_error(sd->sd_sc, "%s requires three or more chunks",
sys/dev/softraid_raid6.c
100
sd->sd_create = sr_raid6_create;
sys/dev/softraid_raid6.c
101
sd->sd_openings = sr_raid6_openings;
sys/dev/softraid_raid6.c
102
sd->sd_scsi_rw = sr_raid6_rw;
sys/dev/softraid_raid6.c
103
sd->sd_scsi_intr = sr_raid6_intr;
sys/dev/softraid_raid6.c
104
sd->sd_scsi_wu_done = sr_raid6_wu_done;
sys/dev/softraid_raid6.c
105
sd->sd_set_chunk_state = sr_raid6_set_chunk_state;
sys/dev/softraid_raid6.c
106
sd->sd_set_vol_state = sr_raid6_set_vol_state;
sys/dev/softraid_raid6.c
110
sr_raid6_create(struct sr_discipline *sd, struct bioc_createraid *bc,
sys/dev/softraid_raid6.c
114
sr_error(sd->sd_sc, "%s requires four or more chunks",
sys/dev/softraid_raid6.c
115
sd->sd_name);
sys/dev/softraid_raid6.c
123
sd->sd_meta->ssdi.ssd_strip_size = MAXPHYS;
sys/dev/softraid_raid6.c
124
sd->sd_meta->ssdi.ssd_size = (coerced_size &
sys/dev/softraid_raid6.c
125
~(((u_int64_t)sd->sd_meta->ssdi.ssd_strip_size >>
sys/dev/softraid_raid6.c
128
return sr_raid6_init(sd);
sys/dev/softraid_raid6.c
132
sr_raid6_assemble(struct sr_discipline *sd, struct bioc_createraid *bc,
sys/dev/softraid_raid6.c
135
return sr_raid6_init(sd);
sys/dev/softraid_raid6.c
139
sr_raid6_init(struct sr_discipline *sd)
sys/dev/softraid_raid6.c
142
sd->mds.mdd_raid6.sr6_strip_bits =
sys/dev/softraid_raid6.c
143
sr_validate_stripsize(sd->sd_meta->ssdi.ssd_strip_size);
sys/dev/softraid_raid6.c
144
if (sd->mds.mdd_raid6.sr6_strip_bits == -1) {
sys/dev/softraid_raid6.c
145
sr_error(sd->sd_sc, "invalid strip size");
sys/dev/softraid_raid6.c
150
sd->sd_max_ccb_per_wu = max(6, 2 * sd->sd_meta->ssdi.ssd_chunk_no);
sys/dev/softraid_raid6.c
156
sr_raid6_openings(struct sr_discipline *sd)
sys/dev/softraid_raid6.c
158
return (sd->sd_max_wu >> 1); /* 2 wu's per IO */
sys/dev/softraid_raid6.c
162
sr_raid6_set_chunk_state(struct sr_discipline *sd, int c, int new_state)
sys/dev/softraid_raid6.c
168
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname,
sys/dev/softraid_raid6.c
169
sd->sd_vol.sv_chunks[c]->src_meta.scmi.scm_devname, c, new_state);
sys/dev/softraid_raid6.c
173
old_state = sd->sd_vol.sv_chunks[c]->src_meta.scm_status;
sys/dev/softraid_raid6.c
221
DEVNAME(sd->sd_sc),
sys/dev/softraid_raid6.c
222
sd->sd_meta->ssd_devname,
sys/dev/softraid_raid6.c
223
sd->sd_vol.sv_chunks[c]->src_meta.scmi.scm_devname,
sys/dev/softraid_raid6.c
228
sd->sd_vol.sv_chunks[c]->src_meta.scm_status = new_state;
sys/dev/softraid_raid6.c
229
sd->sd_set_vol_state(sd);
sys/dev/softraid_raid6.c
231
sd->sd_must_flush = 1;
sys/dev/softraid_raid6.c
232
task_add(systq, &sd->sd_meta_save_task);
sys/dev/softraid_raid6.c
238
sr_raid6_set_vol_state(struct sr_discipline *sd)
sys/dev/softraid_raid6.c
242
int old_state = sd->sd_vol_status;
sys/dev/softraid_raid6.c
247
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname);
sys/dev/softraid_raid6.c
249
nd = sd->sd_meta->ssdi.ssd_chunk_no;
sys/dev/softraid_raid6.c
255
s = sd->sd_vol.sv_chunks[i]->src_meta.scm_status;
sys/dev/softraid_raid6.c
258
DEVNAME(sd->sd_sc),
sys/dev/softraid_raid6.c
259
sd->sd_meta->ssd_devname,
sys/dev/softraid_raid6.c
260
sd->sd_vol.sv_chunks[i]->src_meta.scmi.scm_devname);
sys/dev/softraid_raid6.c
278
sd->sd_vol.sv_chunks[i]->src_meta.scm_status);
sys/dev/softraid_raid6.c
283
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname,
sys/dev/softraid_raid6.c
352
DEVNAME(sd->sd_sc), sd->sd_meta->ssd_devname,
sys/dev/softraid_raid6.c
357
sd->sd_vol_status = new_state;
sys/dev/softraid_raid6.c
373
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid_raid6.c
388
strip_size = sd->sd_meta->ssdi.ssd_strip_size;
sys/dev/softraid_raid6.c
389
strip_bits = sd->mds.mdd_raid6.sr6_strip_bits;
sys/dev/softraid_raid6.c
390
no_chunk = sd->sd_meta->ssdi.ssd_chunk_no - 2;
sys/dev/softraid_raid6.c
398
if ((wu_r = sr_scsi_wu_get(sd, SCSI_NOSLEEP)) == NULL){
sys/dev/softraid_raid6.c
399
printf("%s: can't get wu_r", DEVNAME(sd->sd_sc));
sys/dev/softraid_raid6.c
441
scp = sd->sd_vol.sv_chunks[i];
sys/dev/softraid_raid6.c
563
qbuf = sr_block_get(sd, length);
sys/dev/softraid_raid6.c
567
pbuf = sr_block_get(sd, length);
sys/dev/softraid_raid6.c
622
TAILQ_INSERT_TAIL(&sd->sd_wu_defq, wu, swu_link);
sys/dev/softraid_raid6.c
635
sr_scsi_wu_put(sd, wu_r);
sys/dev/softraid_raid6.c
644
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid_raid6.c
649
DEVNAME(sd->sd_sc), bp, wu->swu_xs);
sys/dev/softraid_raid6.c
670
sr_block_put(sd, ccb->ccb_buf.b_data, ccb->ccb_buf.b_bcount);
sys/dev/softraid_raid6.c
681
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid_raid6.c
696
sd->sd_meta->ssd_devname, (long long)wu->swu_blk_start);
sys/dev/softraid_raid6.c
699
if (sd->sd_scsi_rw(wu) == 0)
sys/dev/softraid_raid6.c
703
sd->sd_meta->ssd_devname, (long long)wu->swu_blk_start);
sys/dev/softraid_raid6.c
717
struct sr_discipline *sd = wu->swu_dis;
sys/dev/softraid_raid6.c
727
data = sr_block_get(sd, len);
sys/dev/softraid_raid6.c
733
ccb = sr_ccb_rw(sd, chunk, blkno, len, data, xsflags, ccbflags);
sys/dev/softraid_raid6.c
736
sr_block_put(sd, data, len);
sys/dev/softraid_raid6.c
86
sr_raid6_discipline_init(struct sr_discipline *sd)
sys/dev/softraid_raid6.c
92
sd->sd_type = SR_MD_RAID6;
sys/dev/softraid_raid6.c
93
strlcpy(sd->sd_name, "RAID 6", sizeof(sd->sd_name));
sys/dev/softraid_raid6.c
94
sd->sd_capabilities = SR_CAP_SYSTEM_DISK | SR_CAP_AUTO_ASSEMBLE |
sys/dev/softraid_raid6.c
96
sd->sd_max_wu = SR_RAID6_NOWU;
sys/dev/softraid_raid6.c
99
sd->sd_assemble = sr_raid6_assemble;
sys/dev/usb/dwc2/dwc2.c
676
totlen = usbd_str(sd, len, "\001");
sys/dev/usb/dwc2/dwc2.c
679
totlen = usbd_str(sd, len, sc->sc_vendor);
sys/dev/usb/dwc2/dwc2.c
682
totlen = usbd_str(sd, len, "DWC2 root hub");
sys/dev/wscons/wsdisplay.c
424
struct wsdisplay_addscreendata *sd)
sys/dev/wscons/wsdisplay.c
428
if (sd->idx < 0 && sc->sc_focus)
sys/dev/wscons/wsdisplay.c
429
sd->idx = sc->sc_focusidx;
sys/dev/wscons/wsdisplay.c
431
if (sd->idx < 0 || sd->idx >= WSDISPLAY_MAXSCREEN)
sys/dev/wscons/wsdisplay.c
434
scr = sc->sc_scr[sd->idx];
sys/dev/wscons/wsdisplay.c
438
strlcpy(sd->screentype, scr->scr_dconf->scrdata->name,
sys/dev/wscons/wsdisplay.c
440
strlcpy(sd->emul, scr->scr_dconf->wsemul->name, WSEMUL_NAME_SIZE);
sys/dev/wscons/wsdisplay_compat_usl.c
104
sd = malloc(sizeof(*sd), M_DEVBUF, M_NOWAIT);
sys/dev/wscons/wsdisplay_compat_usl.c
105
if (!sd)
sys/dev/wscons/wsdisplay_compat_usl.c
107
sd->s_scr = scr;
sys/dev/wscons/wsdisplay_compat_usl.c
108
sd->s_process = pr;
sys/dev/wscons/wsdisplay_compat_usl.c
109
sd->s_pid = pr->ps_pid;
sys/dev/wscons/wsdisplay_compat_usl.c
110
sd->s_flags = 0;
sys/dev/wscons/wsdisplay_compat_usl.c
111
sd->s_acqsig = acqsig;
sys/dev/wscons/wsdisplay_compat_usl.c
112
sd->s_relsig = relsig;
sys/dev/wscons/wsdisplay_compat_usl.c
113
sd->s_frsig = frsig;
sys/dev/wscons/wsdisplay_compat_usl.c
114
timeout_set(&sd->s_attach_ch, usl_attachtimeout, sd);
sys/dev/wscons/wsdisplay_compat_usl.c
115
timeout_set(&sd->s_detach_ch, usl_detachtimeout, sd);
sys/dev/wscons/wsdisplay_compat_usl.c
116
res = wsscreen_attach_sync(scr, &usl_syncops, sd);
sys/dev/wscons/wsdisplay_compat_usl.c
118
free(sd, M_DEVBUF, sizeof(*sd));
sys/dev/wscons/wsdisplay_compat_usl.c
121
*sdp = sd;
sys/dev/wscons/wsdisplay_compat_usl.c
126
usl_sync_done(struct usl_syncdata *sd)
sys/dev/wscons/wsdisplay_compat_usl.c
128
if (sd->s_flags & SF_DETACHPENDING) {
sys/dev/wscons/wsdisplay_compat_usl.c
129
timeout_del(&sd->s_detach_ch);
sys/dev/wscons/wsdisplay_compat_usl.c
130
(*sd->s_callback)(sd->s_cbarg, 0, 0);
sys/dev/wscons/wsdisplay_compat_usl.c
132
if (sd->s_flags & SF_ATTACHPENDING) {
sys/dev/wscons/wsdisplay_compat_usl.c
133
timeout_del(&sd->s_attach_ch);
sys/dev/wscons/wsdisplay_compat_usl.c
134
(*sd->s_callback)(sd->s_cbarg, ENXIO, 0);
sys/dev/wscons/wsdisplay_compat_usl.c
136
wsscreen_detach_sync(sd->s_scr);
sys/dev/wscons/wsdisplay_compat_usl.c
137
free(sd, M_DEVBUF, sizeof(*sd));
sys/dev/wscons/wsdisplay_compat_usl.c
141
usl_sync_check(struct usl_syncdata *sd)
sys/dev/wscons/wsdisplay_compat_usl.c
143
if (sd->s_process == prfind(sd->s_pid))
sys/dev/wscons/wsdisplay_compat_usl.c
145
DPRINTF(("usl_sync_check: process %d died\n", sd->s_pid));
sys/dev/wscons/wsdisplay_compat_usl.c
146
usl_sync_done(sd);
sys/dev/wscons/wsdisplay_compat_usl.c
153
struct usl_syncdata *sd;
sys/dev/wscons/wsdisplay_compat_usl.c
155
if (wsscreen_lookup_sync(scr, &usl_syncops, (void **)&sd))
sys/dev/wscons/wsdisplay_compat_usl.c
157
return (sd);
sys/dev/wscons/wsdisplay_compat_usl.c
164
struct usl_syncdata *sd = cookie;
sys/dev/wscons/wsdisplay_compat_usl.c
166
if (!usl_sync_check(sd))
sys/dev/wscons/wsdisplay_compat_usl.c
178
sd->s_callback = callback;
sys/dev/wscons/wsdisplay_compat_usl.c
179
sd->s_cbarg = cbarg;
sys/dev/wscons/wsdisplay_compat_usl.c
180
sd->s_flags |= SF_DETACHPENDING;
sys/dev/wscons/wsdisplay_compat_usl.c
181
prsignal(sd->s_process, sd->s_relsig);
sys/dev/wscons/wsdisplay_compat_usl.c
182
timeout_add_sec(&sd->s_detach_ch, wscompat_usl_synctimeout);
sys/dev/wscons/wsdisplay_compat_usl.c
188
usl_detachack(struct usl_syncdata *sd, int ack)
sys/dev/wscons/wsdisplay_compat_usl.c
190
if (!(sd->s_flags & SF_DETACHPENDING)) {
sys/dev/wscons/wsdisplay_compat_usl.c
195
timeout_del(&sd->s_detach_ch);
sys/dev/wscons/wsdisplay_compat_usl.c
196
sd->s_flags &= ~SF_DETACHPENDING;
sys/dev/wscons/wsdisplay_compat_usl.c
198
if (sd->s_callback)
sys/dev/wscons/wsdisplay_compat_usl.c
199
(*sd->s_callback)(sd->s_cbarg, (ack ? 0 : EIO), 1);
sys/dev/wscons/wsdisplay_compat_usl.c
207
struct usl_syncdata *sd = arg;
sys/dev/wscons/wsdisplay_compat_usl.c
211
if (!(sd->s_flags & SF_DETACHPENDING)) {
sys/dev/wscons/wsdisplay_compat_usl.c
216
sd->s_flags &= ~SF_DETACHPENDING;
sys/dev/wscons/wsdisplay_compat_usl.c
218
if (sd->s_callback)
sys/dev/wscons/wsdisplay_compat_usl.c
219
(*sd->s_callback)(sd->s_cbarg, EIO, 0);
sys/dev/wscons/wsdisplay_compat_usl.c
221
(void) usl_sync_check(sd);
sys/dev/wscons/wsdisplay_compat_usl.c
228
struct usl_syncdata *sd = cookie;
sys/dev/wscons/wsdisplay_compat_usl.c
230
if (!usl_sync_check(sd))
sys/dev/wscons/wsdisplay_compat_usl.c
237
sd->s_callback = callback;
sys/dev/wscons/wsdisplay_compat_usl.c
238
sd->s_cbarg = cbarg;
sys/dev/wscons/wsdisplay_compat_usl.c
239
sd->s_flags |= SF_ATTACHPENDING;
sys/dev/wscons/wsdisplay_compat_usl.c
240
prsignal(sd->s_process, sd->s_acqsig);
sys/dev/wscons/wsdisplay_compat_usl.c
241
timeout_add_sec(&sd->s_attach_ch, wscompat_usl_synctimeout);
sys/dev/wscons/wsdisplay_compat_usl.c
247
usl_attachack(struct usl_syncdata *sd, int ack)
sys/dev/wscons/wsdisplay_compat_usl.c
249
if (!(sd->s_flags & SF_ATTACHPENDING)) {
sys/dev/wscons/wsdisplay_compat_usl.c
254
timeout_del(&sd->s_attach_ch);
sys/dev/wscons/wsdisplay_compat_usl.c
255
sd->s_flags &= ~SF_ATTACHPENDING;
sys/dev/wscons/wsdisplay_compat_usl.c
257
if (sd->s_callback)
sys/dev/wscons/wsdisplay_compat_usl.c
258
(*sd->s_callback)(sd->s_cbarg, (ack ? 0 : EIO), 1);
sys/dev/wscons/wsdisplay_compat_usl.c
266
struct usl_syncdata *sd = arg;
sys/dev/wscons/wsdisplay_compat_usl.c
270
if (!(sd->s_flags & SF_ATTACHPENDING)) {
sys/dev/wscons/wsdisplay_compat_usl.c
275
sd->s_flags &= ~SF_ATTACHPENDING;
sys/dev/wscons/wsdisplay_compat_usl.c
277
if (sd->s_callback)
sys/dev/wscons/wsdisplay_compat_usl.c
278
(*sd->s_callback)(sd->s_cbarg, EIO, 0);
sys/dev/wscons/wsdisplay_compat_usl.c
280
(void) usl_sync_check(sd);
sys/dev/wscons/wsdisplay_compat_usl.c
343
struct usl_syncdata *sd;
sys/dev/wscons/wsdisplay_compat_usl.c
352
res = usl_sync_init(scr, &sd, p->p_p, newmode->acqsig,
sys/dev/wscons/wsdisplay_compat_usl.c
357
sd = usl_sync_get(scr);
sys/dev/wscons/wsdisplay_compat_usl.c
358
if (sd)
sys/dev/wscons/wsdisplay_compat_usl.c
359
usl_sync_done(sd);
sys/dev/wscons/wsdisplay_compat_usl.c
365
sd = usl_sync_get(scr);
sys/dev/wscons/wsdisplay_compat_usl.c
366
if (sd) {
sys/dev/wscons/wsdisplay_compat_usl.c
368
cmode->relsig = sd->s_relsig;
sys/dev/wscons/wsdisplay_compat_usl.c
369
cmode->acqsig = sd->s_acqsig;
sys/dev/wscons/wsdisplay_compat_usl.c
370
cmode->frsig = sd->s_frsig;
sys/dev/wscons/wsdisplay_compat_usl.c
379
sd = usl_sync_get(scr);
sys/dev/wscons/wsdisplay_compat_usl.c
380
if (!sd)
sys/dev/wscons/wsdisplay_compat_usl.c
385
return (usl_detachack(sd, (d == VT_TRUE)));
sys/dev/wscons/wsdisplay_compat_usl.c
387
return (usl_attachack(sd, 1));
sys/dev/wscons/wsdisplay_compat_usl.c
98
struct usl_syncdata *sd;
sys/kern/kern_sensors.c
137
struct ksensordev *sd;
sys/kern/kern_sensors.c
139
SLIST_FOREACH(sd, &sensordev_list, list) {
sys/kern/kern_sensors.c
140
if (sd->num == num) {
sys/kern/kern_sensors.c
141
*sensdev = sd;
sys/kern/kern_sensors.c
144
if (sd->num > num)
sys/lib/libsa/cread.c
116
getLong(struct sd *s)
sys/lib/libsa/cread.c
131
check_header(struct sd *s)
sys/lib/libsa/cread.c
198
struct sd *s = 0;
sys/lib/libsa/cread.c
204
ss[fd] = s = alloc(sizeof(struct sd));
sys/lib/libsa/cread.c
207
bzero(s, sizeof(struct sd));
sys/lib/libsa/cread.c
224
free(s, sizeof(struct sd));
sys/lib/libsa/cread.c
233
struct sd *s;
sys/lib/libsa/cread.c
249
free(s, sizeof(struct sd));
sys/lib/libsa/cread.c
258
struct sd *s;
sys/lib/libsa/cread.c
362
struct sd *s;
sys/lib/libsa/cread.c
403
bzero(s, sizeof(struct sd)); /* this resets total_out to 0! */
sys/lib/libsa/cread.c
96
get_byte(struct sd *s)
sys/sys/conf.h
559
bdev_decl(sd);
sys/sys/conf.h
560
cdev_decl(sd);
usr.bin/dig/lib/dns/gen.c
110
sd(int, const char *, const char *, char);
usr.bin/dig/lib/dns/gen.c
421
sd(rdclass, classname, buf, filetype);
usr.bin/dig/lib/dns/gen.c
427
sd(0, "", buf, filetype);
usr.bin/rsync/main.c
358
int fds[2], sd = -1, rc, c, st, i, lidx;
usr.bin/rsync/main.c
588
if ((rc = rsync_connect(&opts, &sd, fargs)) == 0) {
usr.bin/rsync/main.c
589
rc = rsync_socket(&opts, sd, fargs);
usr.bin/rsync/main.c
590
close(sd);
usr.bin/rsync/socket.c
105
if ((c = connect(*sd, (const struct sockaddr *)&src->sa, src->salen))
usr.bin/rsync/socket.c
107
pfd.fd = *sd;
usr.bin/rsync/socket.c
112
if ((c = getsockopt(*sd, SOL_SOCKET, SO_ERROR, &optval,
usr.bin/rsync/socket.c
289
rsync_connect(const struct opts *opts, int *sd, const struct fargs *f)
usr.bin/rsync/socket.c
333
c = inet_connect(sd, &src[i], f->host, bsrc, bsrcsz);
usr.bin/rsync/socket.c
361
if (*sd != -1)
usr.bin/rsync/socket.c
362
close(*sd);
usr.bin/rsync/socket.c
372
rsync_socket(const struct opts *opts, int sd, const struct fargs *f)
usr.bin/rsync/socket.c
396
if (!io_write_line(&sess, sd, buf)) {
usr.bin/rsync/socket.c
403
if (!io_write_line(&sess, sd, f->module)) {
usr.bin/rsync/socket.c
418
if (!io_read_byte(&sess, sd, &byte)) {
usr.bin/rsync/socket.c
459
if (!io_write_line(&sess, sd, args[i])) {
usr.bin/rsync/socket.c
463
if (!io_write_byte(&sess, sd, '\n')) {
usr.bin/rsync/socket.c
475
if (!io_read_int(&sess, sd, &sess.seed)) {
usr.bin/rsync/socket.c
499
if (!rsync_receiver(&sess, sd, sd, f->sink)) {
usr.bin/rsync/socket.c
506
if (io_read_check(&sess, sd))
usr.bin/rsync/socket.c
76
inet_connect(int *sd, const struct source *src, const char *host,
usr.bin/rsync/socket.c
84
if (*sd != -1)
usr.bin/rsync/socket.c
85
close(*sd);
usr.bin/rsync/socket.c
89
if ((*sd = socket(src->family, SOCK_STREAM | SOCK_NONBLOCK, 0))
usr.bin/rsync/socket.c
95
if (inet_bind(*sd, src->family, bsrc, bsrcsz) == -1) {
usr.bin/systat/cache.c
138
double sd, td, r;
usr.bin/systat/cache.c
155
sd = COUNTER(st->bytes[0]) + COUNTER(st->bytes[1]) - old->bytes;
usr.bin/systat/cache.c
159
r = sd/td;
usr.sbin/bgpd/pfkey.c
396
n = writev(sd, iov, iov_cnt);
usr.sbin/bgpd/pfkey.c
408
pfkey_read(int sd, struct sadb_msg *h)
usr.sbin/bgpd/pfkey.c
412
if (recv(sd, &hdr, sizeof(hdr), MSG_PEEK) != sizeof(hdr)) {
usr.sbin/bgpd/pfkey.c
428
if (read(sd, &hdr, sizeof(hdr)) == -1) {
usr.sbin/bgpd/pfkey.c
439
pfkey_reply(int sd, uint32_t *spi)
usr.sbin/bgpd/pfkey.c
449
rv = pfkey_read(sd, &hdr);
usr.sbin/bgpd/pfkey.c
458
if (read(sd, &hdr, sizeof(hdr)) == -1)
usr.sbin/bgpd/pfkey.c
474
if (read(sd, data, len) != len) {
usr.sbin/bgpd/pfkey.c
59
pfkey_send(int sd, uint8_t satype, uint8_t mtype, uint8_t dir,
usr.sbin/dhcrelay6/dhcrelay6.c
912
int sd = *(int *)l->local;
usr.sbin/dhcrelay6/dhcrelay6.c
935
if ((recvlen = recvmsg(sd, &msg, 0)) == -1) {
usr.sbin/ldpd/pfkey.c
238
n = writev(sd, iov, iov_cnt);
usr.sbin/ldpd/pfkey.c
250
pfkey_read(int sd, struct sadb_msg *h)
usr.sbin/ldpd/pfkey.c
254
if (recv(sd, &hdr, sizeof(hdr), MSG_PEEK) != sizeof(hdr)) {
usr.sbin/ldpd/pfkey.c
270
if (read(sd, &hdr, sizeof(hdr)) == -1) {
usr.sbin/ldpd/pfkey.c
281
pfkey_reply(int sd, uint32_t *spip)
usr.sbin/ldpd/pfkey.c
291
rv = pfkey_read(sd, &hdr);
usr.sbin/ldpd/pfkey.c
310
if (read(sd, data, len) != len) {
usr.sbin/ldpd/pfkey.c
51
pfkey_send(int sd, uint8_t satype, uint8_t mtype, uint8_t dir,
usr.sbin/lpd/lp.c
199
CGETSTR(sd);
usr.sbin/smtpd/lka_filter.c
169
struct syslog_data sd;
usr.sbin/smtpd/lka_filter.c
220
processor->sd = (struct syslog_data)SYSLOG_DATA_INIT;
usr.sbin/smtpd/lka_filter.c
223
openlog_r(tag, LOG_ODELAY, LOG_MAIL, &processor->sd);
usr.sbin/smtpd/lka_filter.c
328
log_debug_r(&processor->sd, "%s",
usr.sbin/smtpd/lka_filter.c
332
log_info_r(&processor->sd, "%s",
usr.sbin/smtpd/lka_filter.c
336
log_warnx_r(&processor->sd, "%s",
usr.sbin/smtpd/lka_filter.c
340
log_warnx_r(&processor->sd, "%s",
usr.sbin/smtpd/lka_filter.c
344
logit_r(&processor->sd, LOG_CRIT, "%s",
usr.sbin/smtpd/lka_filter.c
347
log_warnx_r(&processor->sd, "%s", line);
usr.sbin/vmd/fw_cfg.c
100
fw_cfg_add_file("etc/screen-and-debug", &sd, sizeof(sd));
usr.sbin/vmd/fw_cfg.c
74
unsigned int sd = 0;
usr.sbin/vmd/loadfile_elf.c
145
setsegment(struct mem_segment_descriptor *sd, uint32_t base, size_t limit,
usr.sbin/vmd/loadfile_elf.c
148
sd->sd_lolimit = (int)limit;
usr.sbin/vmd/loadfile_elf.c
149
sd->sd_lobase = (int)base;
usr.sbin/vmd/loadfile_elf.c
150
sd->sd_type = type;
usr.sbin/vmd/loadfile_elf.c
151
sd->sd_dpl = dpl;
usr.sbin/vmd/loadfile_elf.c
152
sd->sd_p = 1;
usr.sbin/vmd/loadfile_elf.c
153
sd->sd_hilimit = (int)limit >> 16;
usr.sbin/vmd/loadfile_elf.c
154
sd->sd_avl = 0;
usr.sbin/vmd/loadfile_elf.c
155
sd->sd_long = 0;
usr.sbin/vmd/loadfile_elf.c
156
sd->sd_def32 = def32;
usr.sbin/vmd/loadfile_elf.c
157
sd->sd_gran = gran;
usr.sbin/vmd/loadfile_elf.c
158
sd->sd_hibase = (int)base >> 24;
usr.sbin/vmd/loadfile_elf.c
173
struct mem_segment_descriptor *sd;
usr.sbin/vmd/loadfile_elf.c
177
sd = (struct mem_segment_descriptor *)&gdtpage;
usr.sbin/vmd/loadfile_elf.c
186
setsegment(&sd[1], 0, 0xffffffff, SDT_MEMERA, SEL_KPL, 1, 1);
usr.sbin/vmd/loadfile_elf.c
187
setsegment(&sd[2], 0, 0xffffffff, SDT_MEMRWA, SEL_KPL, 1, 1);