lib/geom/journal/geom_journal_ufs.c
46
static struct uufsd disk;
lib/geom/journal/geom_journal_ufs.c
49
if (ufs_disk_fillout(&disk, prov) == -1)
lib/geom/journal/geom_journal_ufs.c
51
fs = &disk.d_fs;
lib/geom/journal/geom_journal_ufs.c
52
ufs_disk_close(&disk);
lib/libc/gen/disklabel.c
60
static struct disklabel disk;
lib/libc/gen/disklabel.c
61
struct disklabel *dp = &disk;
lib/libc/gen/disklabel.c
73
bzero((char *)&disk, sizeof(disk));
lib/libefivar/efivar-dp-xlate.c
514
disk = cp->lg_provider->lg_geom;
lib/libefivar/efivar-dp-xlate.c
518
if (disk == NULL) /* This is very bad -- old nested partitions -- no support ? */
lib/libefivar/efivar-dp-xlate.c
528
LIST_FOREACH(pp, &disk->lg_consumer, lg_consumer) {
lib/libufs/block.c
100
ERROR(disk, "failed to open disk for writing");
lib/libufs/block.c
105
ERROR(disk, "allocate bounce buffer");
lib/libufs/block.c
110
cnt = pwrite(disk->d_fd, p2, size, (off_t)(blockno * disk->d_bsize));
lib/libufs/block.c
114
ERROR(disk, "write error to block device");
lib/libufs/block.c
118
ERROR(disk, "short write to block device");
lib/libufs/block.c
127
berase_helper(struct uufsd *disk, ufs2_daddr_t blockno, ufs2_daddr_t size)
lib/libufs/block.c
131
ioarg[0] = blockno * disk->d_bsize;
lib/libufs/block.c
133
return (ioctl(disk->d_fd, DIOCGDELETE, ioarg));
lib/libufs/block.c
139
berase_helper(struct uufsd *disk, ufs2_daddr_t blockno, ufs2_daddr_t size)
lib/libufs/block.c
145
offset = blockno * disk->d_bsize;
lib/libufs/block.c
146
zero_chunk_size = 65536 * disk->d_bsize;
lib/libufs/block.c
149
ERROR(disk, "failed to allocate memory");
lib/libufs/block.c
156
rv = pwrite(disk->d_fd, zero_chunk, pwrite_size, offset);
lib/libufs/block.c
158
ERROR(disk, "failed writing to disk");
lib/libufs/block.c
172
berase(struct uufsd *disk, ufs2_daddr_t blockno, ufs2_daddr_t size)
lib/libufs/block.c
176
ERROR(disk, NULL);
lib/libufs/block.c
177
rv = ufs_disk_write(disk);
lib/libufs/block.c
179
ERROR(disk, "failed to open disk for writing");
lib/libufs/block.c
182
return (berase_helper(disk, blockno, size));
lib/libufs/block.c
52
bread(struct uufsd *disk, ufs2_daddr_t blockno, void *data, size_t size)
lib/libufs/block.c
57
ERROR(disk, NULL);
lib/libufs/block.c
61
ERROR(disk, "allocate bounce buffer");
lib/libufs/block.c
64
cnt = pread(disk->d_fd, p2, size, (off_t)(blockno * disk->d_bsize));
lib/libufs/block.c
66
ERROR(disk, "read error from block device");
lib/libufs/block.c
70
ERROR(disk, "end of file from block device");
lib/libufs/block.c
74
ERROR(disk, "short read or read error from block device");
lib/libufs/block.c
90
bwrite(struct uufsd *disk, ufs2_daddr_t blockno, const void *data, size_t size)
lib/libufs/block.c
96
ERROR(disk, NULL);
lib/libufs/block.c
98
rv = ufs_disk_write(disk);
lib/libufs/cgroup.c
133
return cgwrite(disk);
lib/libufs/cgroup.c
137
cgialloc(struct uufsd *disk)
lib/libufs/cgroup.c
146
fs = &disk->d_fs;
lib/libufs/cgroup.c
147
cgp = &disk->d_cg;
lib/libufs/cgroup.c
164
if (bwrite(disk, ino_to_fsba(fs,
lib/libufs/cgroup.c
182
cgread(struct uufsd *disk)
lib/libufs/cgroup.c
185
if (disk->d_ccg >= disk->d_fs.fs_ncg)
lib/libufs/cgroup.c
187
return (cgread1(disk, disk->d_ccg++));
lib/libufs/cgroup.c
194
cgread1(struct uufsd *disk, int c)
lib/libufs/cgroup.c
197
if (cgget(disk->d_fd, &disk->d_fs, c, &disk->d_cg) == 0) {
lib/libufs/cgroup.c
198
disk->d_lcg = c;
lib/libufs/cgroup.c
201
ERROR(disk, NULL);
lib/libufs/cgroup.c
203
ERROR(disk, failmsg);
lib/libufs/cgroup.c
208
ERROR(disk, "cylinder group checks failed");
lib/libufs/cgroup.c
211
ERROR(disk, "read error from block device");
lib/libufs/cgroup.c
214
ERROR(disk, strerror(errno));
lib/libufs/cgroup.c
256
cgwrite(struct uufsd *disk)
lib/libufs/cgroup.c
259
return (cgwrite1(disk, disk->d_cg.cg_cgx));
lib/libufs/cgroup.c
263
cgwrite1(struct uufsd *disk, int cg)
lib/libufs/cgroup.c
267
if (cg == disk->d_cg.cg_cgx) {
lib/libufs/cgroup.c
268
if (ufs_disk_write(disk) == -1) {
lib/libufs/cgroup.c
269
ERROR(disk, "failed to open disk for writing");
lib/libufs/cgroup.c
272
if (cgput(disk->d_fd, &disk->d_fs, &disk->d_cg) == 0)
lib/libufs/cgroup.c
274
ERROR(disk, NULL);
lib/libufs/cgroup.c
276
ERROR(disk, failmsg);
lib/libufs/cgroup.c
281
ERROR(disk, "unable to write cylinder group");
lib/libufs/cgroup.c
284
ERROR(disk, strerror(errno));
lib/libufs/cgroup.c
291
disk->d_cg.cg_cgx, cg);
lib/libufs/cgroup.c
292
ERROR(disk, errmsg);
lib/libufs/cgroup.c
51
cgballoc(struct uufsd *disk)
lib/libufs/cgroup.c
58
fs = &disk->d_fs;
lib/libufs/cgroup.c
59
cgp = &disk->d_cg;
lib/libufs/cgroup.c
76
cgbfree(struct uufsd *disk, ufs2_daddr_t bno, long size)
lib/libufs/cgroup.c
84
fs = &disk->d_fs;
lib/libufs/cgroup.c
86
if (cgread1(disk, cg) != 1)
lib/libufs/cgroup.c
88
cgp = &disk->d_cg;
lib/libufs/inode.c
103
ERROR(disk, "unknown UFS filesystem type");
lib/libufs/inode.c
108
putinode(struct uufsd *disk)
lib/libufs/inode.c
112
fs = &disk->d_fs;
lib/libufs/inode.c
113
if (disk->d_ufs == 2)
lib/libufs/inode.c
114
ffs_update_dinode_ckhash(fs, disk->d_dp.dp2);
lib/libufs/inode.c
115
if (bwrite(disk, fsbtodb(fs, ino_to_fsba(&disk->d_fs, disk->d_inomin)),
lib/libufs/inode.c
116
(caddr_t)&disk->d_inos[0], disk->d_fs.fs_bsize) <= 0)
lib/libufs/inode.c
52
getinode(struct uufsd *disk, union dinodep *dp, ino_t inum)
lib/libufs/inode.c
59
ERROR(disk, NULL);
lib/libufs/inode.c
61
fs = &disk->d_fs;
lib/libufs/inode.c
63
ERROR(disk, "inode number out of range");
lib/libufs/inode.c
66
inoblock = (caddr_t)&disk->d_inos[0];
lib/libufs/inode.c
67
min = disk->d_inomin;
lib/libufs/inode.c
68
max = disk->d_inomax;
lib/libufs/inode.c
71
ERROR(disk, "cannot get current time of day");
lib/libufs/inode.c
76
bread(disk, fsbtodb(fs, ino_to_fsba(fs, inum)), inoblock,
lib/libufs/inode.c
78
disk->d_inomin = min = inum - (inum % INOPB(fs));
lib/libufs/inode.c
79
disk->d_inomax = max = min + INOPB(fs);
lib/libufs/inode.c
80
gotit: switch (disk->d_ufs) {
lib/libufs/inode.c
82
disk->d_dp.dp1 = &((struct ufs1_dinode *)inoblock)[inum - min];
lib/libufs/inode.c
83
if (ffs_oldfscompat_inode_read(fs, disk->d_dp, now.tv_sec))
lib/libufs/inode.c
84
putinode(disk);
lib/libufs/inode.c
86
*dp = disk->d_dp;
lib/libufs/inode.c
89
disk->d_dp.dp2 = &((struct ufs2_dinode *)inoblock)[inum - min];
lib/libufs/inode.c
91
*dp = disk->d_dp;
lib/libufs/inode.c
92
if (ffs_verify_dinode_ckhash(fs, disk->d_dp.dp2) == 0) {
lib/libufs/inode.c
93
if (ffs_oldfscompat_inode_read(fs, disk->d_dp,
lib/libufs/inode.c
95
putinode(disk);
lib/libufs/inode.c
98
ERROR(disk, "check-hash failed for inode read from disk");
lib/libufs/sblock.c
101
ERROR(disk, NULL);
lib/libufs/sblock.c
105
ERROR(disk, "non-existent or truncated superblock");
lib/libufs/sblock.c
108
ERROR(disk, "no usable known superblock found");
lib/libufs/sblock.c
111
ERROR(disk, "superblock check-hash failure");
lib/libufs/sblock.c
114
ERROR(disk, "failed to allocate space for superblock "
lib/libufs/sblock.c
118
ERROR(disk, "The previous newfs operation on this "
lib/libufs/sblock.c
123
ERROR(disk, "unknown superblock read error");
lib/libufs/sblock.c
127
disk->d_ufs = 0;
lib/libufs/sblock.c
130
memcpy(&disk->d_fs, fs, fs->fs_sbsize);
lib/libufs/sblock.c
132
fs = &disk->d_fs;
lib/libufs/sblock.c
134
disk->d_ufs = 1;
lib/libufs/sblock.c
136
disk->d_ufs = 2;
lib/libufs/sblock.c
137
disk->d_bsize = fs->fs_fsize / fsbtodb(fs, 1);
lib/libufs/sblock.c
138
disk->d_sblock = fs->fs_sblockloc / disk->d_bsize;
lib/libufs/sblock.c
139
disk->d_si = fs->fs_si;
lib/libufs/sblock.c
144
sbwrite(struct uufsd *disk, int all)
lib/libufs/sblock.c
149
ERROR(disk, NULL);
lib/libufs/sblock.c
151
rv = ufs_disk_write(disk);
lib/libufs/sblock.c
153
ERROR(disk, "failed to open disk for writing");
lib/libufs/sblock.c
157
fs = &disk->d_fs;
lib/libufs/sblock.c
158
if ((errno = sbput(disk->d_fd, fs, all ? fs->fs_ncg : 0)) != 0) {
lib/libufs/sblock.c
161
ERROR(disk, "failed to write superblock");
lib/libufs/sblock.c
164
ERROR(disk, "unknown superblock write error");
lib/libufs/sblock.c
64
sbread(struct uufsd *disk)
lib/libufs/sblock.c
69
error = sbget(disk->d_fd, &fs, disk->d_sblockloc, disk->d_lookupflags);
lib/libufs/sblock.c
70
return (handle_disk_read(disk, fs, error));
lib/libufs/sblock.c
88
sbfind(struct uufsd *disk, int flags)
lib/libufs/sblock.c
93
error = sbsearch(disk->d_fd, &fs, flags);
lib/libufs/sblock.c
94
return (handle_disk_read(disk, fs, error));
lib/libufs/sblock.c
98
handle_disk_read(struct uufsd *disk, struct fs *fs, int error)
lib/libufs/type.c
138
ERROR(disk, "could not find special device");
lib/libufs/type.c
144
ERROR(disk, "could not find special device");
lib/libufs/type.c
149
ERROR(disk, "could not open special device");
lib/libufs/type.c
153
if (((uintptr_t)disk & ~(LIBUFS_BUFALIGN - 1)) != (uintptr_t)disk) {
lib/libufs/type.c
154
ERROR(disk, "uufsd structure must be aligned to "
lib/libufs/type.c
160
disk->d_bsize = 1;
lib/libufs/type.c
161
disk->d_ccg = 0;
lib/libufs/type.c
162
disk->d_fd = fd;
lib/libufs/type.c
163
disk->d_inomin = 0;
lib/libufs/type.c
164
disk->d_inomax = 0;
lib/libufs/type.c
165
disk->d_lcg = 0;
lib/libufs/type.c
166
disk->d_mine = 0;
lib/libufs/type.c
167
disk->d_ufs = 0;
lib/libufs/type.c
168
disk->d_error = NULL;
lib/libufs/type.c
169
disk->d_si = NULL;
lib/libufs/type.c
170
disk->d_sblockloc = UFS_STDSB;
lib/libufs/type.c
171
disk->d_lookupflags = 0;
lib/libufs/type.c
176
ERROR(disk, "could not allocate memory for disk name");
lib/libufs/type.c
179
disk->d_mine |= MINE_NAME;
lib/libufs/type.c
181
disk->d_name = name;
lib/libufs/type.c
187
ufs_disk_write(struct uufsd *disk)
lib/libufs/type.c
191
ERROR(disk, NULL);
lib/libufs/type.c
193
if (disk->d_mine & MINE_WRITE)
lib/libufs/type.c
196
fd = open(disk->d_name, O_RDWR);
lib/libufs/type.c
198
ERROR(disk, "failed to open disk for writing");
lib/libufs/type.c
202
close(disk->d_fd);
lib/libufs/type.c
203
disk->d_fd = fd;
lib/libufs/type.c
204
disk->d_mine |= MINE_WRITE;
lib/libufs/type.c
58
ufs_disk_close(struct uufsd *disk)
lib/libufs/type.c
60
ERROR(disk, NULL);
lib/libufs/type.c
61
close(disk->d_fd);
lib/libufs/type.c
62
disk->d_fd = -1;
lib/libufs/type.c
63
if (disk->d_mine & MINE_NAME) {
lib/libufs/type.c
64
free((char *)(uintptr_t)disk->d_name);
lib/libufs/type.c
65
disk->d_name = NULL;
lib/libufs/type.c
67
if (disk->d_si != NULL) {
lib/libufs/type.c
68
free(disk->d_si->si_csp);
lib/libufs/type.c
69
free(disk->d_si);
lib/libufs/type.c
70
disk->d_si = NULL;
lib/libufs/type.c
76
ufs_disk_fillout(struct uufsd *disk, const char *name)
lib/libufs/type.c
78
if (ufs_disk_fillout_blank(disk, name) == -1) {
lib/libufs/type.c
81
if (sbread(disk) == -1) {
lib/libufs/type.c
82
ERROR(disk, "could not read superblock to fill out disk");
lib/libufs/type.c
83
ufs_disk_close(disk);
lib/libufs/type.c
90
ufs_disk_fillout_blank(struct uufsd *disk, const char *name)
lib/libufs/type.c
99
ERROR(disk, NULL);
sbin/clri/clri.c
102
putinode(&disk);
sbin/clri/clri.c
103
(void)fsync(disk.d_fd);
sbin/clri/clri.c
105
(void)ufs_disk_close(&disk);
sbin/clri/clri.c
61
struct uufsd disk;
sbin/clri/clri.c
71
if (ufs_disk_fillout(&disk, fsname) == -1) {
sbin/clri/clri.c
72
printf("loading superblock: %s\n", disk.d_error);
sbin/clri/clri.c
87
if (getinode(&disk, &dp, inonum) == -1) {
sbin/clri/clri.c
88
printf("getinode: %s\n", disk.d_error);
sbin/clri/clri.c
93
if (disk.d_fs.fs_magic == FS_UFS1_MAGIC) {
sbin/dump/dump.h
55
extern char *disk; /* name of the disk file */
sbin/dump/itime.c
130
fname = disk;
sbin/dump/itime.c
171
fname = disk;
sbin/dump/main.c
249
disk = *argv++;
sbin/dump/main.c
336
dt = fstabsearch(disk);
sbin/dump/main.c
338
disk = rawname(dt->fs_spec);
sbin/dump/main.c
339
if (disk == NULL)
sbin/dump/main.c
344
(void)strncpy(spcl.c_dev, disk, NAMELEN);
sbin/dump/main.c
351
if ((mntpt = getmntpt(disk, &mntflags)) != NULL) {
sbin/dump/main.c
399
if ((diskfd = open(disk, O_RDONLY)) < 0)
sbin/dump/main.c
400
err(X_STARTUP, "Cannot open %s", disk);
sbin/dump/main.c
402
err(X_STARTUP, "%s: stat", disk);
sbin/dump/main.c
404
errx(X_STARTUP, "%s: unknown file system", disk);
sbin/dump/main.c
437
msg("Dumping %s%s ", snapdump ? "snapshot of ": "", disk);
sbin/dump/main.c
473
setproctitle("%s: pass 1: regular files", disk);
sbin/dump/main.c
478
setproctitle("%s: pass 2: directories", disk);
sbin/dump/main.c
549
setproctitle("%s: pass 3: directories", disk);
sbin/dump/main.c
569
setproctitle("%s: pass 4: regular files", disk);
sbin/dump/main.c
68
char *disk; /* name of the disk file */
sbin/dump/optr.c
192
setproctitle("%s: 99.99%% done, finished soon", disk);
sbin/dump/optr.c
209
disk, passno, percent, hours, mins, tdone_str);
sbin/dump/tape.c
766
if ((diskfd = open(disk, O_RDONLY)) < 0)
sbin/dump/traverse.c
966
disk, strerror(errno), (intmax_t)blkno, size);
sbin/dump/traverse.c
969
disk, (intmax_t)blkno, size, cnt);
sbin/dump/traverse.c
972
BREADEMAX, disk);
sbin/dump/traverse.c
992
disk, strerror(errno), (intmax_t)blkno, dev_bsize);
sbin/dump/traverse.c
996
disk, (intmax_t)blkno, dev_bsize, cnt);
sbin/dumpfs/dumpfs.c
120
if (ufs_disk_fillout_blank(&disk, name) == -1 ||
sbin/dumpfs/dumpfs.c
121
sbfind(&disk, 0) == -1) {
sbin/dumpfs/dumpfs.c
134
ufs_disk_close(&disk);
sbin/dumpfs/dumpfs.c
155
switch (disk.d_ufs) {
sbin/dumpfs/dumpfs.c
178
printf("Unknown filesystem type %d\n", disk.d_ufs);
sbin/dumpfs/dumpfs.c
190
switch (disk.d_ufs) {
sbin/dumpfs/dumpfs.c
234
printf("Unknown filesystem type %d\n", disk.d_ufs);
sbin/dumpfs/dumpfs.c
312
if (disk.d_ufs == 1)
sbin/dumpfs/dumpfs.c
322
while ((i = cgread(&disk)) != 0) {
sbin/dumpfs/dumpfs.c
325
printf("\ncg %d: %s\n", disk.d_lcg, ufserr());
sbin/dumpfs/dumpfs.c
339
printf("\ncg %d:\n", disk.d_lcg);
sbin/dumpfs/dumpfs.c
340
cur = fsbtodb(&afs, cgtod(&afs, disk.d_lcg)) * disk.d_bsize;
sbin/dumpfs/dumpfs.c
341
switch (disk.d_ufs) {
sbin/dumpfs/dumpfs.c
399
while ((i = cgread(&disk)) != 0) {
sbin/dumpfs/dumpfs.c
403
startblkno = disk.d_lcg * afs.fs_fpg;
sbin/dumpfs/dumpfs.c
406
disk.d_lcg, ufserr());
sbin/dumpfs/dumpfs.c
417
pblklist(cg_blksfree(&acg), afs.fs_fpg, disk.d_lcg * afs.fs_fpg,
sbin/dumpfs/dumpfs.c
426
fs = &disk.d_fs;
sbin/dumpfs/dumpfs.c
428
printf("# newfs command for %s (%s)\n", name, disk.d_name);
sbin/dumpfs/dumpfs.c
432
printf("-O %d ", disk.d_ufs);
sbin/dumpfs/dumpfs.c
470
printf("%s ", disk.d_name);
sbin/dumpfs/dumpfs.c
522
if (disk.d_error != NULL)
sbin/dumpfs/dumpfs.c
523
return(disk.d_error);
sbin/dumpfs/dumpfs.c
66
#define afs disk.d_fs
sbin/dumpfs/dumpfs.c
67
#define acg disk.d_cg
sbin/dumpfs/dumpfs.c
69
static struct uufsd disk;
sbin/fdisk/fdisk.c
327
disk = get_rootdisk();
sbin/fdisk/fdisk.c
329
disk = g_device_path(argv[0]);
sbin/fdisk/fdisk.c
330
if (disk == NULL)
sbin/fdisk/fdisk.c
334
err(1, "cannot open disk %s", disk);
sbin/fdisk/fdisk.c
348
printf("# %s\n", disk);
sbin/fdisk/fdisk.c
369
printf("%s: %d cyl %d hd %d sec\n", disk, dos_cyls, dos_heads,
sbin/fdisk/fdisk.c
384
printf("******* Working on device %s *******\n",disk);
sbin/fdisk/fdisk.c
732
fd = g_open(disk, rwmode);
sbin/fdisk/fdisk.c
735
fd = g_open(disk, 0);
sbin/fdisk/fdisk.c
739
warnx("can't open device %s", disk);
sbin/fdisk/fdisk.c
74
static char *disk;
sbin/fdisk/fdisk.c
743
warnx("can't get disk parameters on %s", disk);
sbin/ffsinfo/ffsinfo.c
205
if (ufs_disk_fillout_blank(&disk, device) == -1 ||
sbin/ffsinfo/ffsinfo.c
206
sbfind(&disk, 0) == -1)
sbin/ffsinfo/ffsinfo.c
207
err(1, "superblock fetch(%s) failed: %s", device, disk.d_error);
sbin/ffsinfo/ffsinfo.c
237
if (bread(&disk, fsbtodb(&sblock,
sbin/ffsinfo/ffsinfo.c
242
err(1, "bread: %s", disk.d_error);
sbin/ffsinfo/ffsinfo.c
262
if (bread(&disk, fsbtodb(&sblock,
sbin/ffsinfo/ffsinfo.c
265
err(1, "bread: %s", disk.d_error);
sbin/ffsinfo/ffsinfo.c
273
if (bread(&disk, fsbtodb(&sblock,
sbin/ffsinfo/ffsinfo.c
276
err(1, "bread: %s", disk.d_error);
sbin/ffsinfo/ffsinfo.c
294
if (disk.d_ufs == 1 && cfg_lv & 0x080)
sbin/ffsinfo/ffsinfo.c
338
if (getinode(&disk, &dp, inode) == -1)
sbin/ffsinfo/ffsinfo.c
339
err(1, "getinode: %s", disk.d_error);
sbin/ffsinfo/ffsinfo.c
369
if (bread(&disk, fsbtodb(&sblock, dp.dp1->di_ib[0]),
sbin/ffsinfo/ffsinfo.c
371
err(1, "bread: %s", disk.d_error);
sbin/ffsinfo/ffsinfo.c
385
if (bread(&disk, fsbtodb(&sblock, dp.dp1->di_ib[1]),
sbin/ffsinfo/ffsinfo.c
387
err(1, "bread: %s", disk.d_error);
sbin/ffsinfo/ffsinfo.c
399
if (bread(&disk, fsbtodb(&sblock, *ind2ptr),
sbin/ffsinfo/ffsinfo.c
401
err(1, "bread: %s", disk.d_error);
sbin/ffsinfo/ffsinfo.c
417
if (bread(&disk, fsbtodb(&sblock, dp.dp1->di_ib[2]),
sbin/ffsinfo/ffsinfo.c
419
err(1, "bread: %s", disk.d_error);
sbin/ffsinfo/ffsinfo.c
434
if (bread(&disk, fsbtodb(&sblock, *ind3ptr),
sbin/ffsinfo/ffsinfo.c
436
err(1, "bread: %s", disk.d_error);
sbin/ffsinfo/ffsinfo.c
450
if (bread(&disk, fsbtodb(&sblock, *ind2ptr),
sbin/ffsinfo/ffsinfo.c
453
err(1, "bread: %s", disk.d_error);
sbin/ffsinfo/ffsinfo.c
492
if (getinode(&disk, &dp, inode) == -1)
sbin/ffsinfo/ffsinfo.c
493
err(1, "getinode: %s", disk.d_error);
sbin/ffsinfo/ffsinfo.c
521
if (bread(&disk, fsbtodb(&sblock, dp.dp2->di_ib[0]),
sbin/ffsinfo/ffsinfo.c
523
err(1, "bread: %s", disk.d_error);
sbin/ffsinfo/ffsinfo.c
534
if (bread(&disk, fsbtodb(&sblock, dp.dp2->di_ib[1]),
sbin/ffsinfo/ffsinfo.c
536
err(1, "bread: %s", disk.d_error);
sbin/ffsinfo/ffsinfo.c
548
if (bread(&disk, fsbtodb(&sblock, *ind2ptr),
sbin/ffsinfo/ffsinfo.c
550
err(1, "bread: %s", disk.d_error);
sbin/ffsinfo/ffsinfo.c
563
if (bread(&disk, fsbtodb(&sblock, dp.dp2->di_ib[2]),
sbin/ffsinfo/ffsinfo.c
565
err(1, "bread: %s", disk.d_error);
sbin/ffsinfo/ffsinfo.c
580
if (bread(&disk, fsbtodb(&sblock, *ind3ptr),
sbin/ffsinfo/ffsinfo.c
582
err(1, "bread: %s", disk.d_error);
sbin/ffsinfo/ffsinfo.c
595
if (bread(&disk, fsbtodb(&sblock, *ind2ptr),
sbin/ffsinfo/ffsinfo.c
598
err(1, "bread: %s", disk.d_error);
sbin/ffsinfo/ffsinfo.c
75
static struct uufsd disk;
sbin/ffsinfo/ffsinfo.c
77
#define sblock disk.d_fs
sbin/ffsinfo/ffsinfo.c
78
#define acg disk.d_cg
sbin/ffsinfo/ffsinfo.c
99
( disk.d_ufs == 1 \
sbin/fsck/preen.c
68
static TAILQ_HEAD(disk, diskentry) diskh;
sbin/hastd/secondary.c
734
QUEUE_INSERT(disk, hio);
sbin/hastd/secondary.c
756
QUEUE_TAKE(disk, hio);
sbin/newfs/mkfs.c
1020
bread(&disk, part_ofs + fsbtodb(&sblock, cgtod(&sblock, 0)), (char *)&acg,
sbin/newfs/mkfs.c
1057
if (cgwrite(&disk) != 0)
sbin/newfs/mkfs.c
1058
err(1, "alloc: cgwrite: %s", disk.d_error);
sbin/newfs/mkfs.c
1070
bread(&disk, part_ofs + fsbtodb(&sblock, cgtod(&sblock, 0)), (char *)&acg,
sbin/newfs/mkfs.c
1078
if (cgwrite(&disk) != 0)
sbin/newfs/mkfs.c
1079
err(1, "iput: cgwrite: %s", disk.d_error);
sbin/newfs/mkfs.c
1082
if (getinode(&disk, &dp, ino) == -1) {
sbin/newfs/mkfs.c
1083
printf("iput: %s\n", disk.d_error);
sbin/newfs/mkfs.c
1090
putinode(&disk);
sbin/newfs/mkfs.c
1101
if (bwrite(&disk, part_ofs + bno, bf, size) < 0)
sbin/newfs/mkfs.c
136
disk.d_bsize = sectorsize;
sbin/newfs/mkfs.c
137
disk.d_ufs = Oflag;
sbin/newfs/mkfs.c
536
sblock.fs_sblockloc / disk.d_bsize,
sbin/newfs/mkfs.c
538
berase(&disk, sblock.fs_sblockloc / disk.d_bsize,
sbin/newfs/mkfs.c
545
i = bread(&disk, part_ofs + SBLOCK_UFS1 / disk.d_bsize, chdummy,
sbin/newfs/mkfs.c
549
disk.d_error);
sbin/newfs/mkfs.c
553
bwrite(&disk, part_ofs + SBLOCK_UFS1 / disk.d_bsize,
sbin/newfs/mkfs.c
559
bwrite(&disk, part_ofs + fsbtodb(&fsdummy,
sbin/newfs/mkfs.c
568
if (!Nflag && sbwrite(&disk, 0) != 0)
sbin/newfs/mkfs.c
569
err(1, "sbwrite: %s", disk.d_error);
sbin/newfs/mkfs.c
631
if (sbwrite(&disk, 0) != 0)
sbin/newfs/mkfs.c
632
err(1, "sbwrite: %s", disk.d_error);
sbin/newfs/mkfs.c
651
if ((fsrbuf = malloc(realsectorsize)) == NULL || bread(&disk,
sbin/newfs/mkfs.c
652
part_ofs + (SBLOCK_UFS2 - realsectorsize) / disk.d_bsize,
sbin/newfs/mkfs.c
654
err(1, "can't read recovery area: %s", disk.d_error);
sbin/newfs/mkfs.c
665
wtfs((SBLOCK_UFS2 - realsectorsize) / disk.d_bsize,
sbin/newfs/mkfs.c
842
if (sbwrite(&disk, 0) != 0)
sbin/newfs/mkfs.c
843
err(1, "sbwrite: %s", disk.d_error);
sbin/newfs/mkfs.c
845
if (cgwrite(&disk) != 0)
sbin/newfs/mkfs.c
846
err(1, "initcg: cgwrite: %s", disk.d_error);
sbin/newfs/mkfs.c
89
#define sblock disk.d_fs
sbin/newfs/mkfs.c
90
#define acg disk.d_cg
sbin/newfs/newfs.c
103
struct uufsd disk; /* libufs disk structure */
sbin/newfs/newfs.c
316
bzero( &disk, sizeof(disk));
sbin/newfs/newfs.c
317
disk.d_bsize = 1;
sbin/newfs/newfs.c
318
disk.d_name = special;
sbin/newfs/newfs.c
319
disk.d_fd = open(special, O_RDONLY);
sbin/newfs/newfs.c
320
if (disk.d_fd < 0 ||
sbin/newfs/newfs.c
321
(!Nflag && ufs_disk_write(&disk) == -1))
sbin/newfs/newfs.c
323
} else if (ufs_disk_fillout_blank(&disk, special) == -1 ||
sbin/newfs/newfs.c
324
(!Nflag && ufs_disk_write(&disk) == -1)) {
sbin/newfs/newfs.c
325
if (disk.d_error != NULL)
sbin/newfs/newfs.c
326
errx(1, "%s: %s", special, disk.d_error);
sbin/newfs/newfs.c
330
if (fstat(disk.d_fd, &st) < 0)
sbin/newfs/newfs.c
340
if (ioctl(disk.d_fd, DIOCGSECTORSIZE, §orsize) == -1)
sbin/newfs/newfs.c
342
if (sectorsize && ioctl(disk.d_fd, DIOCGMEDIASIZE, &mediasize) != -1)
sbin/newfs/newfs.c
406
ufs_disk_close(&disk);
sbin/newfs/newfs.c
437
if (read(disk.d_fd, bootarea, BBSIZE) != BBSIZE)
sbin/newfs/newfs.h
107
extern struct uufsd disk; /* libufs disk structure */
sbin/quotacheck/preen.c
72
TAILQ_HEAD(disk, diskentry) diskh;
sbin/tunefs/tunefs.c
1047
dp.dp1->di_blocks *= sblock.fs_bsize / disk.d_bsize;
sbin/tunefs/tunefs.c
1049
dp.dp2->di_blocks *= sblock.fs_bsize / disk.d_bsize;
sbin/tunefs/tunefs.c
1050
if (putinode(&disk) < 0) {
sbin/tunefs/tunefs.c
1052
disk.d_error);
sbin/tunefs/tunefs.c
1056
if (cgwrite(&disk) < 0) {
sbin/tunefs/tunefs.c
301
if (ufs_disk_fillout(&disk, special) == -1)
sbin/tunefs/tunefs.c
561
if (sbwrite(&disk, Aflag) == -1)
sbin/tunefs/tunefs.c
563
diskname = strdup(disk.d_name);
sbin/tunefs/tunefs.c
564
ufs_disk_close(&disk);
sbin/tunefs/tunefs.c
568
if (disk.d_error != NULL)
sbin/tunefs/tunefs.c
569
errx(11, "%s: %s", special, disk.d_error);
sbin/tunefs/tunefs.c
577
disk.d_fs.fs_flags |= FS_UNCLEAN | FS_NEEDSFSCK;
sbin/tunefs/tunefs.c
578
disk.d_fs.fs_clean = 0;
sbin/tunefs/tunefs.c
589
cgp = &disk.d_cg;
sbin/tunefs/tunefs.c
591
blk = cgballoc(&disk);
sbin/tunefs/tunefs.c
598
if (cgwrite(&disk) < 0) {
sbin/tunefs/tunefs.c
602
while ((valid = cgread(&disk)) == 1) {
sbin/tunefs/tunefs.c
620
disk.d_ccg = 0;
sbin/tunefs/tunefs.c
627
if (bwrite(&disk, fsbtodb(&sblock, blk), clrbuf,
sbin/tunefs/tunefs.c
645
if (bread(&disk, fsbtodb(&sblock, blk), &block, bytes) <= 0) {
sbin/tunefs/tunefs.c
677
if (getinode(&disk, &dp, UFS_ROOTINO) != 0) {
sbin/tunefs/tunefs.c
678
warn("Failed to get root inode: %s", disk.d_error);
sbin/tunefs/tunefs.c
68
static struct uufsd disk;
sbin/tunefs/tunefs.c
69
#define sblock disk.d_fs
sbin/tunefs/tunefs.c
736
if (bread(&disk, fsbtodb(&sblock, blk), &block, sblock.fs_bsize) <= 0) {
sbin/tunefs/tunefs.c
749
if (bwrite(&disk, fsbtodb(&sblock, blk), &block, sblock.fs_bsize) <= 0) {
sbin/tunefs/tunefs.c
766
if (bread(&disk, fsbtodb(&sblock, blk), &block,
sbin/tunefs/tunefs.c
772
if (bwrite(&disk, fsbtodb(&sblock, nblk), &block, sblock.fs_bsize)
sbin/tunefs/tunefs.c
795
if (getinode(&disk, &dp, UFS_ROOTINO) != 0) {
sbin/tunefs/tunefs.c
796
warn("Failed to get root inode: %s", disk.d_error);
sbin/tunefs/tunefs.c
839
if (putinode(&disk) < 0) {
sbin/tunefs/tunefs.c
840
warn("Failed to write root inode: %s", disk.d_error);
sbin/tunefs/tunefs.c
843
if (cgwrite(&disk) < 0) {
sbin/tunefs/tunefs.c
849
if (cgbfree(&disk, blk, size) < 0) {
sbin/tunefs/tunefs.c
888
if (bwrite(&disk, fsbtodb(&sblock, blk), indir.buf,
sbin/tunefs/tunefs.c
911
if (getinode(&disk, &dp, ino) != 0) {
sbin/tunefs/tunefs.c
912
warn("Failed to get journal inode: %s", disk.d_error);
sbin/tunefs/tunefs.c
919
if (putinode(&disk) < 0) {
sbin/tunefs/tunefs.c
920
warn("Failed to write journal inode: %s", disk.d_error);
sbin/tunefs/tunefs.c
937
cgp = &disk.d_cg;
sbin/tunefs/tunefs.c
976
while (cgread(&disk) == 1) {
sbin/tunefs/tunefs.c
979
ino = cgialloc(&disk);
sbin/tunefs/tunefs.c
984
if (getinode(&disk, &dp, ino) != 0) {
sbin/tunefs/tunefs.c
985
warn("Failed to get allocated inode: %s", disk.d_error);
stand/i386/gptzfsboot/zfsboot.c
530
if (bdev->disk.d_partition == -1)
stand/i386/gptzfsboot/zfsboot.c
533
part = bdev->disk.d_partition;
stand/i386/gptzfsboot/zfsboot.c
535
bdev->disk.d_slice + 1, bdev->dd.d_unit, part);
stand/i386/libi386/biosdisk.c
806
struct disk_devdesc disk;
stand/i386/libi386/biosdisk.c
813
disk.dd.d_dev = dev->dd.d_dev;
stand/i386/libi386/biosdisk.c
814
disk.dd.d_unit = dev->dd.d_unit;
stand/i386/libi386/biosdisk.c
815
disk.d_slice = D_SLICENONE;
stand/i386/libi386/biosdisk.c
816
disk.d_partition = D_PARTNONE;
stand/i386/libi386/biosdisk.c
817
disk.d_offset = 0;
stand/i386/libi386/biosdisk.c
820
if (disk_open(&disk, size, bd->bd_sectorsize) == 0) {
stand/i386/libi386/biosdisk.c
821
(void) disk_ioctl(&disk, DIOCGMEDIASIZE, &size);
stand/i386/libi386/biosdisk.c
822
disk_close(&disk);
stand/i386/libi386/libi386.h
40
struct disk_devdesc disk;
stand/i386/loader/main.c
307
new_currdev.disk.d_slice = -1;
stand/i386/loader/main.c
308
new_currdev.disk.d_partition = 0;
stand/i386/loader/main.c
349
new_currdev.disk.d_slice = -1;
stand/i386/loader/main.c
350
new_currdev.disk.d_partition = 0;
stand/i386/loader/main.c
353
new_currdev.disk.d_slice = B_SLICE(initial_bootdev) - 1;
stand/i386/loader/main.c
354
new_currdev.disk.d_partition = B_PARTITION(initial_bootdev);
sys/cam/ata/ata_da.c
1008
adaclose(struct disk *dp)
sys/cam/ata/ata_da.c
1042
/*sense_flags*/0, softc->disk->d_devstat);
sys/cam/ata/ata_da.c
1127
struct disk *dp;
sys/cam/ata/ata_da.c
1237
adadiskgonecb(struct disk *dp)
sys/cam/ata/ata_da.c
1273
disk_gone(softc->disk);
sys/cam/ata/ata_da.c
1301
disk_destroy(softc->disk);
sys/cam/ata/ata_da.c
1370
disk_resize(softc->disk, M_NOWAIT);
sys/cam/ata/ata_da.c
1382
disk_attr_changed(softc->disk, "GEOM::physpath",
sys/cam/ata/ata_da.c
1895
softc->disk = disk_alloc();
sys/cam/ata/ata_da.c
1897
softc->disk->d_devstat = devstat_new_entry(periph->periph_name,
sys/cam/ata/ata_da.c
1903
softc->disk->d_open = adaopen;
sys/cam/ata/ata_da.c
1904
softc->disk->d_close = adaclose;
sys/cam/ata/ata_da.c
1905
softc->disk->d_strategy = adastrategy;
sys/cam/ata/ata_da.c
1906
softc->disk->d_getattr = adagetattr;
sys/cam/ata/ata_da.c
1908
softc->disk->d_dump = adadump;
sys/cam/ata/ata_da.c
1909
softc->disk->d_gone = adadiskgonecb;
sys/cam/ata/ata_da.c
1910
softc->disk->d_name = "ada";
sys/cam/ata/ata_da.c
1911
softc->disk->d_drv1 = periph;
sys/cam/ata/ata_da.c
1912
softc->disk->d_unit = periph->unit_number;
sys/cam/ata/ata_da.c
1914
if (cam_iosched_init(&softc->cam_iosched, periph, softc->disk,
sys/cam/ata/ata_da.c
2212
alloc_size = min(alloc_size, softc->disk->d_maxsize);
sys/cam/ata/ata_da.c
276
struct disk *disk;
sys/cam/ata/ata_da.c
2772
disk_create(softc->disk, DISK_VERSION);
sys/cam/ata/ata_da.c
3561
softc->disk->d_maxsize = maxio;
sys/cam/ata/ata_da.c
3567
softc->disk->d_delmaxsize = softc->params.secsize *
sys/cam/ata/ata_da.c
3572
softc->disk->d_delmaxsize = 256 * softc->params.secsize;
sys/cam/ata/ata_da.c
3574
softc->disk->d_delmaxsize = maxio;
sys/cam/ata/ata_da.c
3579
softc->disk->d_flags = d_flags;
sys/cam/ata/ata_da.c
3590
tmpsize = MIN(sizeof(softc->disk->d_descr) - 1,
sys/cam/ata/ata_da.c
3592
memcpy(softc->disk->d_descr, cgd->ident_data.model, tmpsize);
sys/cam/ata/ata_da.c
3593
softc->disk->d_descr[tmpsize] = '\0';
sys/cam/ata/ata_da.c
3595
tmpsize = MIN(sizeof(softc->disk->d_ident) - 1,
sys/cam/ata/ata_da.c
3597
memcpy(softc->disk->d_ident, cgd->ident_data.serial, tmpsize);
sys/cam/ata/ata_da.c
3598
softc->disk->d_ident[tmpsize] = '\0';
sys/cam/ata/ata_da.c
3600
softc->disk->d_sectorsize = softc->params.secsize;
sys/cam/ata/ata_da.c
3601
softc->disk->d_mediasize = (off_t)softc->params.sectors *
sys/cam/ata/ata_da.c
3605
softc->disk->d_stripesize =
sys/cam/ata/ata_da.c
3607
softc->disk->d_stripeoffset = (softc->disk->d_stripesize -
sys/cam/ata/ata_da.c
3609
softc->disk->d_stripesize;
sys/cam/ata/ata_da.c
3611
softc->disk->d_stripesize = 4096;
sys/cam/ata/ata_da.c
3612
softc->disk->d_stripeoffset = 0;
sys/cam/ata/ata_da.c
3614
softc->disk->d_fwsectors = softc->params.secs_per_track;
sys/cam/ata/ata_da.c
3615
softc->disk->d_fwheads = softc->params.heads;
sys/cam/ata/ata_da.c
3616
softc->disk->d_rotation_rate = cgd->ident_data.media_rotation_rate;
sys/cam/ata/ata_da.c
3617
snprintf(softc->disk->d_attachment, sizeof(softc->disk->d_attachment),
sys/cam/ata/ata_da.c
3658
adadump(softc->disk, NULL, 0, 0);
sys/cam/ata/ata_da.c
3689
softc->disk->d_devstat);
sys/cam/ata/ata_da.c
3739
softc->disk->d_devstat);
sys/cam/ata/ata_da.c
3784
softc->disk->d_devstat);
sys/cam/ata/ata_da.c
851
static void adadiskgonecb(struct disk *dp);
sys/cam/ata/ata_da.c
978
adaopen(struct disk *dp)
sys/cam/cam_iosched.c
1161
const struct disk *dp, cam_iosched_schedule_t schedfnc)
sys/cam/cam_iosched.c
1168
isc->disk = dp;
sys/cam/cam_iosched.c
1940
daddr_t cnt = bp->bio_bcount / iop->softc->disk->d_sectorsize;
sys/cam/cam_iosched.c
319
const struct disk *disk;
sys/cam/cam_iosched.h
85
const struct disk *dp, cam_iosched_schedule_t schedfnp);
sys/cam/mmc/mmc_da.c
103
struct disk *disk;
sys/cam/mmc/mmc_da.c
1539
part->disk = disk_alloc();
sys/cam/mmc/mmc_da.c
1540
part->disk->d_rotation_rate = DISK_RR_NON_ROTATING;
sys/cam/mmc/mmc_da.c
1541
part->disk->d_devstat = devstat_new_entry(part->name,
sys/cam/mmc/mmc_da.c
1547
part->disk->d_open = sddaopen;
sys/cam/mmc/mmc_da.c
1548
part->disk->d_close = sddaclose;
sys/cam/mmc/mmc_da.c
1549
part->disk->d_strategy = sddastrategy;
sys/cam/mmc/mmc_da.c
1551
part->disk->d_dump = sddadump;
sys/cam/mmc/mmc_da.c
1552
part->disk->d_getattr = sddagetattr;
sys/cam/mmc/mmc_da.c
1553
part->disk->d_gone = sddadiskgonecb;
sys/cam/mmc/mmc_da.c
1554
part->disk->d_name = part->name;
sys/cam/mmc/mmc_da.c
1555
part->disk->d_drv1 = part;
sys/cam/mmc/mmc_da.c
1556
part->disk->d_maxsize = MIN(maxphys, cpi.maxio);
sys/cam/mmc/mmc_da.c
1557
part->disk->d_unit = cnt;
sys/cam/mmc/mmc_da.c
1558
part->disk->d_flags = 0;
sys/cam/mmc/mmc_da.c
1559
strlcpy(part->disk->d_descr, sc->card_id_string,
sys/cam/mmc/mmc_da.c
1560
MIN(sizeof(part->disk->d_descr), sizeof(sc->card_id_string)));
sys/cam/mmc/mmc_da.c
1561
strlcpy(part->disk->d_ident, sc->card_sn_string,
sys/cam/mmc/mmc_da.c
1562
MIN(sizeof(part->disk->d_ident), sizeof(sc->card_sn_string)));
sys/cam/mmc/mmc_da.c
1563
part->disk->d_hba_vendor = cpi.hba_vendor;
sys/cam/mmc/mmc_da.c
1564
part->disk->d_hba_device = cpi.hba_device;
sys/cam/mmc/mmc_da.c
1565
part->disk->d_hba_subvendor = cpi.hba_subvendor;
sys/cam/mmc/mmc_da.c
1566
part->disk->d_hba_subdevice = cpi.hba_subdevice;
sys/cam/mmc/mmc_da.c
1567
snprintf(part->disk->d_attachment, sizeof(part->disk->d_attachment),
sys/cam/mmc/mmc_da.c
1570
part->disk->d_sectorsize = mmc_get_sector_size(periph);
sys/cam/mmc/mmc_da.c
1571
part->disk->d_mediasize = media_size;
sys/cam/mmc/mmc_da.c
1572
part->disk->d_stripesize = 0;
sys/cam/mmc/mmc_da.c
1573
part->disk->d_fwsectors = 0;
sys/cam/mmc/mmc_da.c
1574
part->disk->d_fwheads = 0;
sys/cam/mmc/mmc_da.c
1579
disk_add_alias(part->disk, cname);
sys/cam/mmc/mmc_da.c
1593
disk_create(part->disk, DISK_VERSION);
sys/cam/mmc/mmc_da.c
1993
struct disk *dp;
sys/cam/mmc/mmc_da.c
441
sddaopen(struct disk *dp)
sys/cam/mmc/mmc_da.c
472
sddaclose(struct disk *dp)
sys/cam/mmc/mmc_da.c
582
sddadiskgonecb(struct disk *dp)
sys/cam/mmc/mmc_da.c
618
disk_gone(part->disk);
sys/cam/mmc/mmc_da.c
638
disk_destroy(part->disk);
sys/cam/mmc/mmc_da.c
713
disk_attr_changed(part->disk, "GEOM::physpath",
sys/cam/nvme/nvme_da.c
1000
disk->d_name = "nda";
sys/cam/nvme/nvme_da.c
1001
disk->d_drv1 = periph;
sys/cam/nvme/nvme_da.c
1002
disk->d_unit = periph->unit_number;
sys/cam/nvme/nvme_da.c
1008
disk->d_maxsize = maxio;
sys/cam/nvme/nvme_da.c
1011
disk->d_flags |= DISKFLAG_UNMAPPED_BIO;
sys/cam/nvme/nvme_da.c
1019
cam_strvis_flag(disk->d_descr, cd->mn, NVME_MODEL_NUMBER_LENGTH,
sys/cam/nvme/nvme_da.c
1020
sizeof(disk->d_descr), CAM_STRVIS_FLAG_NONASCII_SPC);
sys/cam/nvme/nvme_da.c
1022
cam_strvis_flag(disk->d_ident, cd->sn, NVME_SERIAL_NUMBER_LENGTH,
sys/cam/nvme/nvme_da.c
1023
sizeof(disk->d_ident), CAM_STRVIS_FLAG_NONASCII_SPC);
sys/cam/nvme/nvme_da.c
1025
disk->d_hba_vendor = cpi.hba_vendor;
sys/cam/nvme/nvme_da.c
1026
disk->d_hba_device = cpi.hba_device;
sys/cam/nvme/nvme_da.c
1027
disk->d_hba_subvendor = cpi.hba_subvendor;
sys/cam/nvme/nvme_da.c
1028
disk->d_hba_subdevice = cpi.hba_subdevice;
sys/cam/nvme/nvme_da.c
1029
snprintf(disk->d_attachment, sizeof(disk->d_attachment),
sys/cam/nvme/nvme_da.c
1033
disk->d_stripesize = ((nsd->npwg + 1) * disk->d_sectorsize);
sys/cam/nvme/nvme_da.c
1035
disk->d_stripesize = nsd->noiob * disk->d_sectorsize;
sys/cam/nvme/nvme_da.c
1036
disk->d_stripeoffset = 0;
sys/cam/nvme/nvme_da.c
1037
disk->d_devstat = devstat_new_entry(periph->periph_name,
sys/cam/nvme/nvme_da.c
1038
periph->unit_number, disk->d_sectorsize,
sys/cam/nvme/nvme_da.c
1043
if (cam_iosched_init(&softc->cam_iosched, periph, disk,
sys/cam/nvme/nvme_da.c
1056
disk_add_alias(disk, "nvd");
sys/cam/nvme/nvme_da.c
1062
(uintmax_t)((uintmax_t)disk->d_mediasize / (1024*1024)),
sys/cam/nvme/nvme_da.c
1063
(uintmax_t)disk->d_mediasize / disk->d_sectorsize,
sys/cam/nvme/nvme_da.c
1064
disk->d_sectorsize);
sys/cam/nvme/nvme_da.c
1089
disk_create(softc->disk, DISK_VERSION);
sys/cam/nvme/nvme_da.c
117
struct disk *disk;
sys/cam/nvme/nvme_da.c
1200
htole32(bp1->bio_bcount / softc->disk->d_sectorsize);
sys/cam/nvme/nvme_da.c
1202
htole64(bp1->bio_offset / softc->disk->d_sectorsize);
sys/cam/nvme/nvme_da.c
1425
ndadump(softc->disk, NULL, 0, 0);
sys/cam/nvme/nvme_da.c
1443
softc->disk->d_devstat);
sys/cam/nvme/nvme_da.c
278
count = bp->bio_bcount / softc->disk->d_sectorsize;
sys/cam/nvme/nvme_da.c
293
struct disk *disk = softc->disk;
sys/cam/nvme/nvme_da.c
307
flags = disk->d_flags & DISKFLAG_UNMAPPED_BIO; /* Need to preserve */
sys/cam/nvme/nvme_da.c
311
disk->d_sectorsize = 1 << lbads;
sys/cam/nvme/nvme_da.c
312
disk->d_mediasize = (off_t)(disk->d_sectorsize * nsd->nsze);
sys/cam/nvme/nvme_da.c
313
disk->d_delmaxsize = disk->d_mediasize;
sys/cam/nvme/nvme_da.c
314
disk->d_flags = DISKFLAG_DIRECT_COMPLETION;
sys/cam/nvme/nvme_da.c
316
disk->d_flags |= DISKFLAG_CANDELETE;
sys/cam/nvme/nvme_da.c
319
disk->d_flags |= DISKFLAG_CANFLUSHCACHE;
sys/cam/nvme/nvme_da.c
320
disk->d_flags |= flags;
sys/cam/nvme/nvme_da.c
334
wakeup(&softc->disk->d_mediasize);
sys/cam/nvme/nvme_da.c
339
ndaopen(struct disk *dp)
sys/cam/nvme/nvme_da.c
382
error = cam_periph_sleep(periph, &softc->disk->d_mediasize, PRIBIO,
sys/cam/nvme/nvme_da.c
397
ndaclose(struct disk *dp)
sys/cam/nvme/nvme_da.c
417
/*sense_flags*/0, softc->disk->d_devstat);
sys/cam/nvme/nvme_da.c
450
ndaioctl(struct disk *dp, u_long cmd, void *data, int fflag,
sys/cam/nvme/nvme_da.c
585
struct disk *dp;
sys/cam/nvme/nvme_da.c
593
secsize = softc->disk->d_sectorsize;
sys/cam/nvme/nvme_da.c
656
ndadiskgonecb(struct disk *dp)
sys/cam/nvme/nvme_da.c
692
disk_gone(softc->disk);
sys/cam/nvme/nvme_da.c
720
disk_destroy(softc->disk);
sys/cam/nvme/nvme_da.c
767
mediasize = softc->disk->d_mediasize;
sys/cam/nvme/nvme_da.c
768
sectorsize = softc->disk->d_sectorsize;
sys/cam/nvme/nvme_da.c
775
if (sectorsize != softc->disk->d_sectorsize)
sys/cam/nvme/nvme_da.c
776
disk_media_changed(softc->disk, M_WAITOK);
sys/cam/nvme/nvme_da.c
777
else if (mediasize != softc->disk->d_mediasize)
sys/cam/nvme/nvme_da.c
778
disk_resize(softc->disk, M_WAITOK);
sys/cam/nvme/nvme_da.c
796
disk_attr_changed(softc->disk, "GEOM::physpath",
sys/cam/nvme/nvme_da.c
948
struct disk *disk;
sys/cam/nvme/nvme_da.c
990
softc->disk = disk = disk_alloc();
sys/cam/nvme/nvme_da.c
991
disk->d_rotation_rate = DISK_RR_NON_ROTATING;
sys/cam/nvme/nvme_da.c
992
disk->d_open = ndaopen;
sys/cam/nvme/nvme_da.c
993
disk->d_close = ndaclose;
sys/cam/nvme/nvme_da.c
994
disk->d_strategy = ndastrategy;
sys/cam/nvme/nvme_da.c
995
disk->d_ioctl = ndaioctl;
sys/cam/nvme/nvme_da.c
996
disk->d_getattr = ndagetattr;
sys/cam/nvme/nvme_da.c
998
disk->d_dump = ndadump;
sys/cam/nvme/nvme_da.c
999
disk->d_gone = ndadiskgonecb;
sys/cam/scsi/scsi_cd.c
1000
softc->disk->d_sectorsize = 2048;
sys/cam/scsi/scsi_cd.c
1001
softc->disk->d_mediasize = 0;
sys/cam/scsi/scsi_cd.c
1362
disk_create(softc->disk, DISK_VERSION);
sys/cam/scsi/scsi_cd.c
1482
softc->disk->d_sectorsize = softc->params.blksize;
sys/cam/scsi/scsi_cd.c
1483
softc->disk->d_mediasize =
sys/cam/scsi/scsi_cd.c
1647
softc->disk->d_sectorsize =softc->params.blksize = 2352;
sys/cam/scsi/scsi_cd.c
1648
softc->disk->d_mediasize =
sys/cam/scsi/scsi_cd.c
1661
if ((softc->disk->d_devstat->flags & DEVSTAT_BS_UNAVAILABLE)!=0)
sys/cam/scsi/scsi_cd.c
1662
softc->disk->d_devstat->flags &=
sys/cam/scsi/scsi_cd.c
1664
softc->disk->d_devstat->block_size = softc->params.blksize;
sys/cam/scsi/scsi_cd.c
1732
cdioctl(struct disk *dp, u_long cmd, void *addr, int flag, struct thread *td)
sys/cam/scsi/scsi_cd.c
177
struct disk *disk;
sys/cam/scsi/scsi_cd.c
2561
softc->disk->d_sectorsize = softc->params.blksize = *(int *)addr;
sys/cam/scsi/scsi_cd.c
2880
disk_media_changed(softc->disk, M_NOWAIT);
sys/cam/scsi/scsi_cd.c
2889
disk_media_gone(softc->disk, M_NOWAIT);
sys/cam/scsi/scsi_cd.c
356
cddiskgonecb(struct disk *dp)
sys/cam/scsi/scsi_cd.c
384
disk_gone(softc->disk);
sys/cam/scsi/scsi_cd.c
401
disk_destroy(softc->disk);
sys/cam/scsi/scsi_cd.c
467
disk_media_changed(softc->disk, M_NOWAIT);
sys/cam/scsi/scsi_cd.c
674
softc->disk = disk_alloc();
sys/cam/scsi/scsi_cd.c
675
softc->disk->d_devstat = devstat_new_entry("cd",
sys/cam/scsi/scsi_cd.c
681
softc->disk->d_open = cdopen;
sys/cam/scsi/scsi_cd.c
682
softc->disk->d_close = cdclose;
sys/cam/scsi/scsi_cd.c
683
softc->disk->d_strategy = cdstrategy;
sys/cam/scsi/scsi_cd.c
684
softc->disk->d_gone = cddiskgonecb;
sys/cam/scsi/scsi_cd.c
685
softc->disk->d_ioctl = cdioctl;
sys/cam/scsi/scsi_cd.c
686
softc->disk->d_name = "cd";
sys/cam/scsi/scsi_cd.c
687
cam_strvis(softc->disk->d_descr, cgd->inq_data.vendor,
sys/cam/scsi/scsi_cd.c
688
sizeof(cgd->inq_data.vendor), sizeof(softc->disk->d_descr));
sys/cam/scsi/scsi_cd.c
689
strlcat(softc->disk->d_descr, " ", sizeof(softc->disk->d_descr));
sys/cam/scsi/scsi_cd.c
690
cam_strvis(&softc->disk->d_descr[strlen(softc->disk->d_descr)],
sys/cam/scsi/scsi_cd.c
692
sizeof(softc->disk->d_descr) - strlen(softc->disk->d_descr));
sys/cam/scsi/scsi_cd.c
693
softc->disk->d_unit = periph->unit_number;
sys/cam/scsi/scsi_cd.c
694
softc->disk->d_drv1 = periph;
sys/cam/scsi/scsi_cd.c
696
softc->disk->d_maxsize = DFLTPHYS; /* traditional default */
sys/cam/scsi/scsi_cd.c
698
softc->disk->d_maxsize = maxphys; /* for safety */
sys/cam/scsi/scsi_cd.c
700
softc->disk->d_maxsize = cpi.maxio;
sys/cam/scsi/scsi_cd.c
701
softc->disk->d_flags = 0;
sys/cam/scsi/scsi_cd.c
702
softc->disk->d_hba_vendor = cpi.hba_vendor;
sys/cam/scsi/scsi_cd.c
703
softc->disk->d_hba_device = cpi.hba_device;
sys/cam/scsi/scsi_cd.c
704
softc->disk->d_hba_subvendor = cpi.hba_subvendor;
sys/cam/scsi/scsi_cd.c
705
softc->disk->d_hba_subdevice = cpi.hba_subdevice;
sys/cam/scsi/scsi_cd.c
706
snprintf(softc->disk->d_attachment, sizeof(softc->disk->d_attachment),
sys/cam/scsi/scsi_cd.c
736
cdopen(struct disk *dp)
sys/cam/scsi/scsi_cd.c
773
cdclose(struct disk *dp)
sys/cam/scsi/scsi_cd.c
798
softc->disk->d_devstat->flags |= DEVSTAT_BS_UNAVAILABLE;
sys/cam/scsi/scsi_cd.c
826
softc->disk->d_devstat);
sys/cam/scsi/scsi_da.c
1776
daopen(struct disk *dp)
sys/cam/scsi/scsi_da.c
1801
error = cam_periph_sleep(periph, &softc->disk->d_mediasize, PRIBIO,
sys/cam/scsi/scsi_da.c
1838
daclose(struct disk *dp)
sys/cam/scsi/scsi_da.c
1862
softc->disk->d_devstat);
sys/cam/scsi/scsi_da.c
1881
softc->disk->d_devstat->flags |= DEVSTAT_BS_UNAVAILABLE;
sys/cam/scsi/scsi_da.c
1966
struct disk *dp;
sys/cam/scsi/scsi_da.c
2078
dadiskgonecb(struct disk *dp)
sys/cam/scsi/scsi_da.c
2116
disk_gone(softc->disk);
sys/cam/scsi/scsi_da.c
2145
disk_destroy(softc->disk);
sys/cam/scsi/scsi_da.c
2205
disk_attr_changed(softc->disk, "GEOM::physpath",
sys/cam/scsi/scsi_da.c
2237
disk_media_changed(softc->disk, M_NOWAIT);
sys/cam/scsi/scsi_da.c
2498
value = softc->disk->d_delmaxsize;
sys/cam/scsi/scsi_da.c
2507
softc->disk->d_delmaxsize = value;
sys/cam/scsi/scsi_da.c
2569
softc->disk->d_delmaxsize = dadeletemaxsize(softc, delete_method);
sys/cam/scsi/scsi_da.c
2573
softc->disk->d_flags |= DISKFLAG_CANDELETE;
sys/cam/scsi/scsi_da.c
2575
softc->disk->d_flags &= ~DISKFLAG_CANDELETE;
sys/cam/scsi/scsi_da.c
2638
if ((softc->disk->d_flags & DISKFLAG_WRITE_PROTECT) != 0 &&
sys/cam/scsi/scsi_da.c
2656
wakeup(&softc->disk->d_mediasize);
sys/cam/scsi/scsi_da.c
2665
disk_create(softc->disk, DISK_VERSION);
sys/cam/scsi/scsi_da.c
2990
softc->disk = disk_alloc();
sys/cam/scsi/scsi_da.c
2991
softc->disk->d_devstat = devstat_new_entry(periph->periph_name,
sys/cam/scsi/scsi_da.c
2997
softc->disk->d_open = daopen;
sys/cam/scsi/scsi_da.c
2998
softc->disk->d_close = daclose;
sys/cam/scsi/scsi_da.c
2999
softc->disk->d_strategy = dastrategy;
sys/cam/scsi/scsi_da.c
3001
softc->disk->d_dump = dadump;
sys/cam/scsi/scsi_da.c
3002
softc->disk->d_getattr = dagetattr;
sys/cam/scsi/scsi_da.c
3003
softc->disk->d_gone = dadiskgonecb;
sys/cam/scsi/scsi_da.c
3004
softc->disk->d_name = "da";
sys/cam/scsi/scsi_da.c
3005
softc->disk->d_drv1 = periph;
sys/cam/scsi/scsi_da.c
3014
softc->disk->d_maxsize = softc->maxio;
sys/cam/scsi/scsi_da.c
3015
softc->disk->d_unit = periph->unit_number;
sys/cam/scsi/scsi_da.c
3016
softc->disk->d_flags = DISKFLAG_DIRECT_COMPLETION | DISKFLAG_CANZONE;
sys/cam/scsi/scsi_da.c
3018
softc->disk->d_flags |= DISKFLAG_CANFLUSHCACHE;
sys/cam/scsi/scsi_da.c
3021
softc->disk->d_flags |= DISKFLAG_UNMAPPED_BIO;
sys/cam/scsi/scsi_da.c
3023
cam_strvis(softc->disk->d_descr, cgd->inq_data.vendor,
sys/cam/scsi/scsi_da.c
3024
sizeof(cgd->inq_data.vendor), sizeof(softc->disk->d_descr));
sys/cam/scsi/scsi_da.c
3025
strlcat(softc->disk->d_descr, " ", sizeof(softc->disk->d_descr));
sys/cam/scsi/scsi_da.c
3026
cam_strvis(&softc->disk->d_descr[strlen(softc->disk->d_descr)],
sys/cam/scsi/scsi_da.c
3028
sizeof(softc->disk->d_descr) - strlen(softc->disk->d_descr));
sys/cam/scsi/scsi_da.c
3029
softc->disk->d_hba_vendor = cpi.hba_vendor;
sys/cam/scsi/scsi_da.c
3030
softc->disk->d_hba_device = cpi.hba_device;
sys/cam/scsi/scsi_da.c
3031
softc->disk->d_hba_subvendor = cpi.hba_subvendor;
sys/cam/scsi/scsi_da.c
3032
softc->disk->d_hba_subdevice = cpi.hba_subdevice;
sys/cam/scsi/scsi_da.c
3033
snprintf(softc->disk->d_attachment, sizeof(softc->disk->d_attachment),
sys/cam/scsi/scsi_da.c
3036
if (cam_iosched_init(&softc->cam_iosched, periph, softc->disk,
sys/cam/scsi/scsi_da.c
3208
alloc_size = min(alloc_size, softc->disk->d_maxsize);
sys/cam/scsi/scsi_da.c
377
struct disk *disk;
sys/cam/scsi/scsi_da.c
4355
ws_max_blks = softc->disk->d_delmaxsize / softc->params.secsize;
sys/cam/scsi/scsi_da.c
4470
softc->disk->d_flags &= ~DISKFLAG_CANFLUSHCACHE;
sys/cam/scsi/scsi_da.c
4870
softc->disk->d_flags |= DISKFLAG_WRITE_PROTECT;
sys/cam/scsi/scsi_da.c
4872
softc->disk->d_flags &= ~DISKFLAG_WRITE_PROTECT;
sys/cam/scsi/scsi_da.c
5272
softc->disk->d_maxsize = MIN(softc->maxio,
sys/cam/scsi/scsi_da.c
5358
uint16_t old_rate = softc->disk->d_rotation_rate;
sys/cam/scsi/scsi_da.c
5363
softc->disk->d_rotation_rate =
sys/cam/scsi/scsi_da.c
5365
if (softc->disk->d_rotation_rate == SVPD_NON_ROTATING) {
sys/cam/scsi/scsi_da.c
5370
if (softc->disk->d_rotation_rate != old_rate) {
sys/cam/scsi/scsi_da.c
5371
disk_attr_changed(softc->disk,
sys/cam/scsi/scsi_da.c
5558
softc->disk->d_flags &= ~DISKFLAG_CANFLUSHCACHE;
sys/cam/scsi/scsi_da.c
5631
old_rate = softc->disk->d_rotation_rate;
sys/cam/scsi/scsi_da.c
5632
softc->disk->d_rotation_rate = ata_params->media_rotation_rate;
sys/cam/scsi/scsi_da.c
5633
if (softc->disk->d_rotation_rate == ATA_RATE_NON_ROTATING) {
sys/cam/scsi/scsi_da.c
5637
if (softc->disk->d_rotation_rate != old_rate) {
sys/cam/scsi/scsi_da.c
5638
disk_attr_changed(softc->disk,
sys/cam/scsi/scsi_da.c
6281
disk_media_changed(softc->disk, M_NOWAIT);
sys/cam/scsi/scsi_da.c
6307
disk_media_gone(softc->disk, M_NOWAIT);
sys/cam/scsi/scsi_da.c
6395
SF_RETRY_UA | SF_NO_PRINT, softc->disk->d_devstat);
sys/cam/scsi/scsi_da.c
6521
softc->disk->d_sectorsize = softc->params.secsize;
sys/cam/scsi/scsi_da.c
6522
softc->disk->d_mediasize = softc->params.secsize * (off_t)softc->params.sectors;
sys/cam/scsi/scsi_da.c
6523
softc->disk->d_stripesize = softc->params.stripesize;
sys/cam/scsi/scsi_da.c
6524
softc->disk->d_stripeoffset = softc->params.stripeoffset;
sys/cam/scsi/scsi_da.c
6526
softc->disk->d_fwsectors = softc->params.secs_per_track;
sys/cam/scsi/scsi_da.c
6527
softc->disk->d_fwheads = softc->params.heads;
sys/cam/scsi/scsi_da.c
6528
softc->disk->d_devstat->block_size = softc->params.secsize;
sys/cam/scsi/scsi_da.c
6529
softc->disk->d_devstat->flags &= ~DEVSTAT_BS_UNAVAILABLE;
sys/cam/scsi/scsi_da.c
6531
error = disk_resize(softc->disk, M_NOWAIT);
sys/cam/scsi/scsi_da.c
6578
dadump(softc->disk, NULL, 0, 0);
sys/cam/scsi/scsi_da.c
6606
softc->disk->d_devstat);
sys/compat/linux/linux_ioctl.c
102
DEFINE_LINUX_IOCTL_SET(disk, DISK);
sys/dev/aac/aac.c
3650
struct aac_disk *disk;
sys/dev/aac/aac.c
3655
disk = NULL;
sys/dev/aac/aac.c
3677
disk = device_get_softc(co->co_disk);
sys/dev/aac/aac.c
3680
(disk->ad_flags & AAC_DISK_OPEN) ? 1 : 0;
sys/dev/aac/aac.c
3683
query_disk.Target = disk->unit;
sys/dev/aac/aac.c
3687
disk->ad_disk->d_name, disk->ad_disk->d_unit);
sys/dev/aac/aac_disk.c
121
aac_disk_close(struct disk *dp)
sys/dev/aac/aac_disk.c
242
struct disk *dp;
sys/dev/aac/aac_disk.c
92
aac_disk_open(struct disk *dp)
sys/dev/aac/aacvar.h
139
struct disk *ad_disk;
sys/dev/aacraid/aacraid_var.h
152
struct disk *ad_disk;
sys/dev/cfi/cfi_disk.c
100
sc->disk->d_open = cfi_disk_open;
sys/dev/cfi/cfi_disk.c
101
sc->disk->d_close = cfi_disk_close;
sys/dev/cfi/cfi_disk.c
102
sc->disk->d_strategy = cfi_disk_strategy;
sys/dev/cfi/cfi_disk.c
103
sc->disk->d_ioctl = cfi_disk_ioctl;
sys/dev/cfi/cfi_disk.c
104
sc->disk->d_dump = NULL; /* NB: no dumps */
sys/dev/cfi/cfi_disk.c
105
sc->disk->d_getattr = cfi_disk_getattr;
sys/dev/cfi/cfi_disk.c
106
sc->disk->d_sectorsize = CFI_DISK_SECSIZE;
sys/dev/cfi/cfi_disk.c
107
sc->disk->d_mediasize = sc->parent->sc_size;
sys/dev/cfi/cfi_disk.c
108
sc->disk->d_maxsize = CFI_DISK_MAXIOSIZE;
sys/dev/cfi/cfi_disk.c
117
sc->disk->d_stripesize =
sys/dev/cfi/cfi_disk.c
120
sc->disk->d_stripesize = sc->disk->d_mediasize;
sys/dev/cfi/cfi_disk.c
121
sc->disk->d_drv1 = sc;
sys/dev/cfi/cfi_disk.c
122
disk_create(sc->disk, DISK_VERSION);
sys/dev/cfi/cfi_disk.c
145
disk_destroy(sc->disk);
sys/dev/cfi/cfi_disk.c
151
cfi_disk_open(struct disk *dp)
sys/dev/cfi/cfi_disk.c
161
cfi_disk_close(struct disk *dp)
sys/dev/cfi/cfi_disk.c
339
cfi_disk_ioctl(struct disk *dp, u_long cmd, void *data, int fflag,
sys/dev/cfi/cfi_disk.c
57
struct disk *disk;
sys/dev/cfi/cfi_disk.c
70
static int cfi_disk_open(struct disk *);
sys/dev/cfi/cfi_disk.c
71
static int cfi_disk_close(struct disk *);
sys/dev/cfi/cfi_disk.c
75
static int cfi_disk_ioctl(struct disk *, u_long, void *, int, struct thread *);
sys/dev/cfi/cfi_disk.c
95
sc->disk = disk_alloc();
sys/dev/cfi/cfi_disk.c
96
if (sc->disk == NULL)
sys/dev/cfi/cfi_disk.c
98
sc->disk->d_name = "cfid";
sys/dev/cfi/cfi_disk.c
99
sc->disk->d_unit = device_get_unit(dev);
sys/dev/flash/at45d.c
116
static int at45d_close(struct disk *dp);
sys/dev/flash/at45d.c
117
static int at45d_open(struct disk *dp);
sys/dev/flash/at45d.c
287
if (sc->disk) {
sys/dev/flash/at45d.c
288
disk_destroy(sc->disk);
sys/dev/flash/at45d.c
368
sc->disk = disk_alloc();
sys/dev/flash/at45d.c
369
sc->disk->d_open = at45d_open;
sys/dev/flash/at45d.c
370
sc->disk->d_close = at45d_close;
sys/dev/flash/at45d.c
371
sc->disk->d_strategy = at45d_strategy;
sys/dev/flash/at45d.c
372
sc->disk->d_getattr = at45d_getattr;
sys/dev/flash/at45d.c
373
sc->disk->d_name = "flash/at45d";
sys/dev/flash/at45d.c
374
sc->disk->d_drv1 = sc;
sys/dev/flash/at45d.c
375
sc->disk->d_maxsize = DFLTPHYS;
sys/dev/flash/at45d.c
376
sc->disk->d_sectorsize = sectorsize;
sys/dev/flash/at45d.c
377
sc->disk->d_mediasize = pagesize * ident->pagecount;
sys/dev/flash/at45d.c
378
sc->disk->d_unit = device_get_unit(sc->dev);
sys/dev/flash/at45d.c
379
disk_create(sc->disk, DISK_VERSION);
sys/dev/flash/at45d.c
390
at45d_open(struct disk *dp)
sys/dev/flash/at45d.c
397
at45d_close(struct disk *dp)
sys/dev/flash/at45d.c
87
struct disk *disk;
sys/dev/flash/flexspi/flex_spi.c
125
static int flex_spi_open(struct disk *dp);
sys/dev/flash/flexspi/flex_spi.c
126
static int flex_spi_close(struct disk *dp);
sys/dev/flash/flexspi/flex_spi.c
127
static int flex_spi_ioctl(struct disk *, u_long, void *, int, struct thread *);
sys/dev/flash/flexspi/flex_spi.c
785
sc->disk = disk_alloc();
sys/dev/flash/flexspi/flex_spi.c
786
sc->disk->d_open = flex_spi_open;
sys/dev/flash/flexspi/flex_spi.c
787
sc->disk->d_close = flex_spi_close;
sys/dev/flash/flexspi/flex_spi.c
788
sc->disk->d_strategy = flex_spi_strategy;
sys/dev/flash/flexspi/flex_spi.c
789
sc->disk->d_getattr = flex_spi_getattr;
sys/dev/flash/flexspi/flex_spi.c
790
sc->disk->d_ioctl = flex_spi_ioctl;
sys/dev/flash/flexspi/flex_spi.c
791
sc->disk->d_name = "flash/qspi";
sys/dev/flash/flexspi/flex_spi.c
792
sc->disk->d_drv1 = sc;
sys/dev/flash/flexspi/flex_spi.c
794
sc->disk->d_maxsize = DFLTPHYS;
sys/dev/flash/flexspi/flex_spi.c
795
sc->disk->d_sectorsize = FLASH_SECTORSIZE;
sys/dev/flash/flexspi/flex_spi.c
796
sc->disk->d_unit = device_get_unit(sc->dev);
sys/dev/flash/flexspi/flex_spi.c
797
sc->disk->d_dump = NULL;
sys/dev/flash/flexspi/flex_spi.c
799
sc->disk->d_mediasize = sc->sectorsize * sc->sectorcount;
sys/dev/flash/flexspi/flex_spi.c
800
sc->disk->d_stripesize = sc->erasesize;
sys/dev/flash/flexspi/flex_spi.c
805
disk_create(sc->disk, DISK_VERSION);
sys/dev/flash/flexspi/flex_spi.c
825
wakeup(sc->disk);
sys/dev/flash/flexspi/flex_spi.c
827
err = mtx_sleep(sc->disk, &sc->disk_mtx, 0, "flex_spi",
sys/dev/flash/flexspi/flex_spi.c
841
disk_destroy(sc->disk);
sys/dev/flash/flexspi/flex_spi.c
868
flex_spi_open(struct disk *dp)
sys/dev/flash/flexspi/flex_spi.c
875
flex_spi_close(struct disk *dp)
sys/dev/flash/flexspi/flex_spi.c
882
flex_spi_ioctl(struct disk *dp, u_long cmd, void *data, int fflag,
sys/dev/flash/flexspi/flex_spi.c
898
wakeup(sc->disk);
sys/dev/flash/flexspi/flex_spi.c
92
struct disk *disk;
sys/dev/flash/flexspi/flex_spi.c
940
wakeup(sc->disk);
sys/dev/flash/flexspi/flex_spi.c
945
mtx_sleep(sc->disk, &sc->disk_mtx, PRIBIO,
sys/dev/flash/mx25l.c
110
static int mx25l_open(struct disk *dp);
sys/dev/flash/mx25l.c
111
static int mx25l_close(struct disk *dp);
sys/dev/flash/mx25l.c
112
static int mx25l_ioctl(struct disk *, u_long, void *, int, struct thread *);
sys/dev/flash/mx25l.c
577
mx25l_open(struct disk *dp)
sys/dev/flash/mx25l.c
583
mx25l_close(struct disk *dp)
sys/dev/flash/mx25l.c
590
mx25l_ioctl(struct disk *dp, u_long cmd, void *data, int fflag,
sys/dev/flash/mx25l.c
88
struct disk *sc_disk;
sys/dev/flash/n25q.c
104
struct disk *sc_disk;
sys/dev/flash/n25q.c
132
static int n25q_open(struct disk *dp);
sys/dev/flash/n25q.c
133
static int n25q_close(struct disk *dp);
sys/dev/flash/n25q.c
134
static int n25q_ioctl(struct disk *, u_long, void *, int, struct thread *);
sys/dev/flash/n25q.c
364
n25q_open(struct disk *dp)
sys/dev/flash/n25q.c
371
n25q_close(struct disk *dp)
sys/dev/flash/n25q.c
378
n25q_ioctl(struct disk *dp, u_long cmd, void *data,
sys/dev/flash/w25n.c
100
static int w25n_ioctl(struct disk *, u_long, void *, int, struct thread *);
sys/dev/flash/w25n.c
490
w25n_open(struct disk *dp)
sys/dev/flash/w25n.c
496
w25n_close(struct disk *dp)
sys/dev/flash/w25n.c
503
w25n_ioctl(struct disk *dp, u_long cmd, void *data, int fflag,
sys/dev/flash/w25n.c
77
struct disk *sc_disk;
sys/dev/flash/w25n.c
98
static int w25n_open(struct disk *dp);
sys/dev/flash/w25n.c
99
static int w25n_close(struct disk *dp);
sys/dev/hptmv/command.h
192
} disk;
sys/dev/hptmv/entry.c
1033
thiscap = pArray->vf_format_v2? pVDevice->u.disk.dDeRealCapacity : pVDevice->VDeviceCapacity;
sys/dev/hptmv/entry.c
1036
pVDevice->u.disk.df_on_line &&
sys/dev/hptmv/entry.c
1459
IdeRegisterVDevice(&pAdapter->VDevices[channel].u.disk);
sys/dev/hptmv/entry.c
1681
pCmd->pVDevice->u.disk.QueueLength--;
sys/dev/hptmv/entry.c
1694
pCmd->pVDevice->u.disk.QueueLength--;
sys/dev/hptmv/entry.c
1706
PDevice pDevice = &pVDevice->u.disk;
sys/dev/hptmv/entry.c
180
pVDev->u.disk.df_on_line = 0;
sys/dev/hptmv/entry.c
191
set_fail_led(&pAdapter->mvSataAdapter, pVDev->u.disk.mv->channelNumber, 1);
sys/dev/hptmv/entry.c
201
PDevice pDevice = &pCmd->pVDevice->u.disk;
sys/dev/hptmv/entry.c
2531
IDENTIFY_DATA2 *pIdentify = (IDENTIFY_DATA2*)pVDev->u.disk.mv->identifyDevice;
sys/dev/hptmv/entry.c
2544
if ((pVDev->u.disk.df_removable_drive) || (pIdentify->GeneralConfiguration & 0x80))
sys/dev/hptmv/entry.c
379
pVDev->u.disk.mv = pMvSataChannel;
sys/dev/hptmv/entry.c
380
pVDev->u.disk.df_on_line = 1;
sys/dev/hptmv/entry.c
381
pVDev->u.disk.pVBus = &pAdapter->VBus;
sys/dev/hptmv/entry.c
386
pVDev->u.disk.dDeRealCapacity = ((IdentifyData[101]<<16) | IdentifyData[100]) - 1;
sys/dev/hptmv/entry.c
390
pVDev->u.disk.dDeRealCapacity =
sys/dev/hptmv/entry.c
395
pVDev->u.disk.dDeRealCapacity =
sys/dev/hptmv/entry.c
398
pVDev->u.disk.bDeUsable_Mode = pVDev->u.disk.bDeModeSetting =
sys/dev/hptmv/entry.c
402
pVDev->u.disk.bDeUsable_Mode = pVDev->u.disk.bDeModeSetting =
sys/dev/hptmv/entry.c
420
pVDev->VDeviceType = pVDev->u.disk.df_atapi? VD_ATAPI :
sys/dev/hptmv/entry.c
421
pVDev->u.disk.df_removable_drive? VD_REMOVABLE : VD_SINGLE_DISK;
sys/dev/hptmv/entry.c
423
pVDev->VDeviceCapacity = pVDev->u.disk.dDeRealCapacity-SAVE_FOR_RAID_INFO;
sys/dev/hptmv/gui_lib.c
1009
if (pVDevice->u.disk.pVBus!=_vbus_p) return -1;
sys/dev/hptmv/gui_lib.c
1054
if (pVDevice->u.disk.pVBus!=_vbus_p) return -1;
sys/dev/hptmv/gui_lib.c
1069
if (pVDevice->u.disk.pVBus!=_vbus_p) return -1;
sys/dev/hptmv/gui_lib.c
1072
pVDevice->u.disk.bDeModeSetting = pInfo->DeviceModeSetting;
sys/dev/hptmv/gui_lib.c
1073
pVDevice->u.disk.bDeUserSelectMode = pInfo->DeviceModeSetting;
sys/dev/hptmv/gui_lib.c
1074
pVDevice->u.disk.df_user_mode_set = 1;
sys/dev/hptmv/gui_lib.c
1075
fDeSelectMode((PDevice)&(pVDevice->u.disk), (UCHAR)pInfo->DeviceModeSetting);
sys/dev/hptmv/gui_lib.c
1080
if (fDeSetTCQ(&pVDevice->u.disk, pInfo->TCQEnabled, 0)) {
sys/dev/hptmv/gui_lib.c
1081
pVDevice->u.disk.df_tcq_set = 1;
sys/dev/hptmv/gui_lib.c
1082
pVDevice->u.disk.df_tcq = pInfo->TCQEnabled!=0;
sys/dev/hptmv/gui_lib.c
1088
if (fDeSetNCQ(&pVDevice->u.disk, pInfo->NCQEnabled, 0)) {
sys/dev/hptmv/gui_lib.c
1089
pVDevice->u.disk.df_ncq_set = 1;
sys/dev/hptmv/gui_lib.c
1090
pVDevice->u.disk.df_ncq = pInfo->NCQEnabled!=0;
sys/dev/hptmv/gui_lib.c
1096
if (fDeSetWriteCache(&pVDevice->u.disk, pInfo->WriteCacheEnabled)) {
sys/dev/hptmv/gui_lib.c
1097
pVDevice->u.disk.df_write_cache_set = 1;
sys/dev/hptmv/gui_lib.c
1098
pVDevice->u.disk.df_write_cache = pInfo->WriteCacheEnabled!=0;
sys/dev/hptmv/gui_lib.c
1104
if (fDeSetReadAhead(&pVDevice->u.disk, pInfo->ReadAheadEnabled)) {
sys/dev/hptmv/gui_lib.c
1105
pVDevice->u.disk.df_read_ahead_set = 1;
sys/dev/hptmv/gui_lib.c
1106
pVDevice->u.disk.df_read_ahead = pInfo->ReadAheadEnabled!=0;
sys/dev/hptmv/gui_lib.c
283
pSataChannel = pVDevice->u.disk.mv;
sys/dev/hptmv/gui_lib.c
299
if (pVDevice->u.disk.df_user_mode_set)
sys/dev/hptmv/gui_lib.c
300
pDiskInfo->DeviceModeSetting = pVDevice->u.disk.bDeUserSelectMode;
sys/dev/hptmv/gui_lib.c
301
else if (((((PIDENTIFY_DATA)pVDevice->u.disk.mv->identifyDevice)->SataCapability) & 3)==2)
sys/dev/hptmv/gui_lib.c
304
p = (char *)&((PIDENTIFY_DATA)pVDevice->u.disk.mv->identifyDevice)->ModelNumber;
sys/dev/hptmv/gui_lib.c
309
pDiskInfo->DeviceModeSetting = pVDevice->u.disk.bDeModeSetting;
sys/dev/hptmv/gui_lib.c
312
pDiskInfo->UsableMode = pVDevice->u.disk.bDeUsable_Mode;
sys/dev/hptmv/gui_lib.c
319
if(!pVDevice->u.disk.df_on_line)
sys/dev/hptmv/gui_lib.c
530
pInfo->Capacity = pVDevice->u.disk.dDeRealCapacity;
sys/dev/hptmv/gui_lib.c
555
pInfo->Capacity.lo32 = pVDevice->u.disk.dDeRealCapacity;
sys/dev/hptmv/gui_lib.c
584
_vbus_p = (ID_TO_VDEV(pParam->Members[0]))->u.disk.pVBus;
sys/dev/hptmv/gui_lib.c
742
fDeReadWrite(&pDisk->u.disk, 0, IDE_COMMAND_WRITE, TempBuffer);
sys/dev/hptmv/gui_lib.c
839
if(pDisk->u.disk.dDeRealCapacity < (pArray1->VDeviceCapacity / 2))
sys/dev/hptmv/gui_lib.c
879
pDisk->u.disk.dDeHiddenLba = i? 10 : 0;
sys/dev/hptmv/gui_lib.c
880
pDisk->VDeviceCapacity = pDisk->u.disk.dDeRealCapacity;
sys/dev/hptmv/gui_lib.c
936
if(pDisk->u.disk.dDeRealCapacity < Capacity) return -1;
sys/dev/hptmv/gui_lib.c
962
pDisk->VDeviceCapacity = pDisk->u.disk.dDeRealCapacity;
sys/dev/hptmv/gui_lib.c
991
if (pVDevice->u.disk.pVBus!=_vbus_p) return -1;
sys/dev/hptmv/gui_lib.c
998
fDeReadWrite(&pVDevice->u.disk, 0, IDE_COMMAND_WRITE, pbuffer);
sys/dev/hptmv/hptproc.c
119
if(!pVDev->u.disk.df_on_line || pVDev->pParent) {
sys/dev/hptmv/hptproc.c
400
get_disk_name(name, &pVDev->u.disk);
sys/dev/hptmv/hptproc.c
402
if (!pVDev->u.disk.df_on_line)
sys/dev/hptmv/hptproc.c
530
if(pVDev->u.disk.df_on_line)
sys/dev/hptmv/hptproc.c
560
get_disk_name(name, &pVDev->u.disk);
sys/dev/hptmv/ioctl.c
151
get_disk_location(&((PVDevice)param)->u.disk, &controller, &channel);
sys/dev/hptmv/ioctl.c
77
if (pDev == &pAdapTemp->VDevices[j].u.disk) {
sys/dev/hptmv/vdevice.h
75
Device disk;
sys/dev/hptmv/vdevice.h
83
#define Map2pVDevice(pDev) ((PVDevice)((UINT_PTR)pDev - (UINT)(UINT_PTR)&((PVDevice)0)->u.disk))
sys/dev/ida/ida_disk.c
131
struct disk *dp;
sys/dev/ida/ida_disk.c
205
drv->disk = disk_alloc();
sys/dev/ida/ida_disk.c
206
drv->disk->d_strategy = idad_strategy;
sys/dev/ida/ida_disk.c
207
drv->disk->d_name = "idad";
sys/dev/ida/ida_disk.c
208
drv->disk->d_dump = idad_dump;
sys/dev/ida/ida_disk.c
209
drv->disk->d_sectorsize = drv->secsize;
sys/dev/ida/ida_disk.c
210
drv->disk->d_mediasize = (off_t)drv->secperunit * drv->secsize;
sys/dev/ida/ida_disk.c
211
drv->disk->d_fwsectors = drv->sectors;
sys/dev/ida/ida_disk.c
212
drv->disk->d_fwheads = drv->heads;
sys/dev/ida/ida_disk.c
213
drv->disk->d_drv1 = drv;
sys/dev/ida/ida_disk.c
214
drv->disk->d_maxsize = DFLTPHYS; /* XXX guess? */
sys/dev/ida/ida_disk.c
215
drv->disk->d_unit = drv->unit;
sys/dev/ida/ida_disk.c
216
disk_create(drv->disk, DISK_VERSION);
sys/dev/ida/ida_disk.c
227
disk_destroy(drv->disk);
sys/dev/ida/idavar.h
178
struct disk *disk;
sys/dev/ips/ips_disk.c
191
struct disk *dp;
sys/dev/ips/ips_disk.c
66
static int ipsd_open(struct disk *dp)
sys/dev/ips/ips_disk.c
75
static int ipsd_close(struct disk *dp)
sys/dev/ips/ips_disk.h
63
struct disk *ipsd_disk;
sys/dev/mfi/mfi_disk.c
204
mfi_disk_open(struct disk *dp)
sys/dev/mfi/mfi_disk.c
223
mfi_disk_close(struct disk *dp)
sys/dev/mfi/mfi_disk.c
320
struct disk *dp;
sys/dev/mfi/mfi_syspd.c
181
mfi_syspd_open(struct disk *dp)
sys/dev/mfi/mfi_syspd.c
199
mfi_syspd_close(struct disk *dp)
sys/dev/mfi/mfi_syspd.c
269
struct disk *dp;
sys/dev/mfi/mfivar.h
140
struct disk *ld_disk;
sys/dev/mfi/mfivar.h
158
struct disk *pd_disk;
sys/dev/mfi/mfivar.h
81
struct disk;
sys/dev/mlx/mlx_disk.c
102
mlxd_close(struct disk *dp)
sys/dev/mlx/mlx_disk.c
119
mlxd_ioctl(struct disk *dp, u_long cmd, void *addr, int flag, struct thread *td)
sys/dev/mlx/mlx_disk.c
77
mlxd_open(struct disk *dp)
sys/dev/mlx/mlxvar.h
215
struct disk *mlxd_disk;
sys/dev/mmc/mmcsd.c
102
struct disk *disk;
sys/dev/mmc/mmcsd.c
1179
sz = part->disk->d_sectorsize;
sys/dev/mmc/mmcsd.c
1253
sz = part->disk->d_sectorsize;
sys/dev/mmc/mmcsd.c
1376
struct disk *disk;
sys/dev/mmc/mmcsd.c
1382
disk = arg;
sys/dev/mmc/mmcsd.c
1383
part = disk->d_drv1;
sys/dev/mmc/mmcsd.c
1398
bp.bio_disk = disk;
sys/dev/mmc/mmcsd.c
1399
bp.bio_pblkno = offset / disk->d_sectorsize;
sys/dev/mmc/mmcsd.c
1403
end = bp.bio_pblkno + bp.bio_bcount / disk->d_sectorsize;
sys/dev/mmc/mmcsd.c
1460
sz = part->disk->d_sectorsize;
sys/dev/mmc/mmcsd.c
167
static int mmcsd_close(struct disk *dp);
sys/dev/mmc/mmcsd.c
170
static int mmcsd_ioctl_disk(struct disk *disk, u_long cmd, void *data,
sys/dev/mmc/mmcsd.c
486
struct disk *d;
sys/dev/mmc/mmcsd.c
530
d = part->disk = disk_alloc();
sys/dev/mmc/mmcsd.c
635
snprintf(name, sizeof(name), "%s%d", part->disk->d_name,
sys/dev/mmc/mmcsd.c
636
part->disk->d_unit);
sys/dev/mmc/mmcsd.c
657
if (part->disk != NULL) {
sys/dev/mmc/mmcsd.c
686
if (part->disk != NULL) {
sys/dev/mmc/mmcsd.c
690
disk_destroy(part->disk);
sys/dev/mmc/mmcsd.c
723
if (part->disk != NULL) {
sys/dev/mmc/mmcsd.c
760
if (part->disk != NULL) {
sys/dev/mmc/mmcsd.c
781
mmcsd_close(struct disk *dp)
sys/dev/mmc/mmcsd.c
819
mmcsd_ioctl_disk(struct disk *disk, u_long cmd, void *data, int fflag,
sys/dev/mmc/mmcsd.c
823
return (mmcsd_ioctl(disk->d_drv1, cmd, data, fflag, td));
sys/dev/mpt/mpt_raid.c
119
static const char *mpt_disk_state(struct mpt_raid_disk *disk);
sys/dev/mpt/mpt_raid.c
122
static void mpt_disk_prt(struct mpt_softc *mpt, struct mpt_raid_disk *disk,
sys/dev/mpt/mpt_raid.c
126
struct mpt_raid_volume *vol, struct mpt_raid_disk *disk, request_t *req,
sys/dev/mpt/mpt_raid.c
166
mpt_disk_state(struct mpt_raid_disk *disk)
sys/dev/mpt/mpt_raid.c
168
switch (disk->config_page.PhysDiskStatus.State) {
sys/dev/mpt/mpt_raid.c
205
mpt_disk_prt(struct mpt_softc *mpt, struct mpt_raid_disk *disk,
sys/dev/mpt/mpt_raid.c
210
if (disk->volume != NULL) {
sys/dev/mpt/mpt_raid.c
213
disk->volume->config_page->VolumeID,
sys/dev/mpt/mpt_raid.c
214
disk->member_number);
sys/dev/mpt/mpt_raid.c
217
disk->config_page.PhysDiskBus,
sys/dev/mpt/mpt_raid.c
218
disk->config_page.PhysDiskID);
sys/dev/mpt/mpt_raid.c
585
struct mpt_raid_disk *disk, request_t *req, u_int Action,
sys/dev/mpt/mpt_raid.c
599
if (disk != NULL)
sys/dev/mpt/mpt_raid.c
600
rap->PhysDiskNum = disk->config_page.PhysDiskNum;
sys/dev/nvd/nvd.c
245
disk_gone(ndisk->disk);
sys/dev/nvd/nvd.c
258
nvd_gonecb(struct disk *dp)
sys/dev/nvd/nvd.c
262
disk_destroy(ndisk->disk);
sys/dev/nvd/nvd.c
275
nvd_ioctl(struct disk *dp, u_long cmd, void *data, int fflag,
sys/dev/nvd/nvd.c
286
struct disk *dp = arg;
sys/dev/nvd/nvd.c
473
struct disk *disk;
sys/dev/nvd/nvd.c
505
disk = ndisk->disk = disk_alloc();
sys/dev/nvd/nvd.c
506
disk->d_strategy = nvd_strategy;
sys/dev/nvd/nvd.c
507
disk->d_ioctl = nvd_ioctl;
sys/dev/nvd/nvd.c
508
disk->d_dump = nvd_dump;
sys/dev/nvd/nvd.c
509
disk->d_getattr = nvd_getattr;
sys/dev/nvd/nvd.c
510
disk->d_gone = nvd_gonecb;
sys/dev/nvd/nvd.c
511
disk->d_name = NVD_STR;
sys/dev/nvd/nvd.c
512
disk->d_unit = ndisk->unit;
sys/dev/nvd/nvd.c
513
disk->d_drv1 = ndisk;
sys/dev/nvd/nvd.c
515
disk->d_sectorsize = nvme_ns_get_sector_size(ns);
sys/dev/nvd/nvd.c
516
disk->d_mediasize = (off_t)nvme_ns_get_size(ns);
sys/dev/nvd/nvd.c
517
disk->d_maxsize = nvme_ns_get_max_io_xfer_size(ns);
sys/dev/nvd/nvd.c
518
disk->d_delmaxsize = (off_t)nvme_ns_get_size(ns);
sys/dev/nvd/nvd.c
519
if (disk->d_delmaxsize > nvd_delete_max)
sys/dev/nvd/nvd.c
520
disk->d_delmaxsize = nvd_delete_max;
sys/dev/nvd/nvd.c
521
disk->d_stripesize = nvme_ns_get_stripesize(ns);
sys/dev/nvd/nvd.c
522
disk->d_flags = DISKFLAG_UNMAPPED_BIO | DISKFLAG_DIRECT_COMPLETION;
sys/dev/nvd/nvd.c
524
disk->d_flags |= DISKFLAG_CANDELETE;
sys/dev/nvd/nvd.c
526
disk->d_flags |= DISKFLAG_CANFLUSHCACHE;
sys/dev/nvd/nvd.c
527
disk->d_devstat = devstat_new_entry(disk->d_name, disk->d_unit,
sys/dev/nvd/nvd.c
528
disk->d_sectorsize, DEVSTAT_ALL_SUPPORTED,
sys/dev/nvd/nvd.c
536
nvme_strvis(disk->d_ident, nvme_ns_get_serial_number(ns),
sys/dev/nvd/nvd.c
537
sizeof(disk->d_ident), NVME_SERIAL_NUMBER_LENGTH);
sys/dev/nvd/nvd.c
540
strlcpy(disk->d_descr, descr, sizeof(descr));
sys/dev/nvd/nvd.c
549
disk->d_hba_vendor = pci_get_vendor(pdev);
sys/dev/nvd/nvd.c
550
disk->d_hba_device = pci_get_device(pdev);
sys/dev/nvd/nvd.c
551
disk->d_hba_subvendor = pci_get_subvendor(pdev);
sys/dev/nvd/nvd.c
552
disk->d_hba_subdevice = pci_get_subdevice(pdev);
sys/dev/nvd/nvd.c
553
disk->d_rotation_rate = DISK_RR_NON_ROTATING;
sys/dev/nvd/nvd.c
554
strlcpy(disk->d_attachment, device_get_nameunit(pdev),
sys/dev/nvd/nvd.c
555
sizeof(disk->d_attachment));
sys/dev/nvd/nvd.c
557
disk_create(disk, DISK_VERSION);
sys/dev/nvd/nvd.c
559
printf(NVD_STR"%u: <%s> NVMe namespace\n", disk->d_unit, descr);
sys/dev/nvd/nvd.c
560
printf(NVD_STR"%u: %juMB (%ju %u byte sectors)\n", disk->d_unit,
sys/dev/nvd/nvd.c
561
(uintmax_t)disk->d_mediasize / (1024*1024),
sys/dev/nvd/nvd.c
562
(uintmax_t)disk->d_mediasize / disk->d_sectorsize,
sys/dev/nvd/nvd.c
563
disk->d_sectorsize);
sys/dev/nvd/nvd.c
586
struct disk *disk;
sys/dev/nvd/nvd.c
591
disk = ndisk->disk;
sys/dev/nvd/nvd.c
594
disk->d_sectorsize = nvme_ns_get_sector_size(ns);
sys/dev/nvd/nvd.c
595
disk->d_mediasize = (off_t)nvme_ns_get_size(ns);
sys/dev/nvd/nvd.c
596
disk->d_maxsize = nvme_ns_get_max_io_xfer_size(ns);
sys/dev/nvd/nvd.c
597
disk->d_delmaxsize = (off_t)nvme_ns_get_size(ns);
sys/dev/nvd/nvd.c
598
if (disk->d_delmaxsize > nvd_delete_max)
sys/dev/nvd/nvd.c
599
disk->d_delmaxsize = nvd_delete_max;
sys/dev/nvd/nvd.c
601
disk_resize(disk, M_NOWAIT);
sys/dev/nvd/nvd.c
604
printf(NVD_STR"%u: %juMB (%ju %u byte sectors)\n", disk->d_unit,
sys/dev/nvd/nvd.c
605
(uintmax_t)disk->d_mediasize / (1024*1024),
sys/dev/nvd/nvd.c
606
(uintmax_t)disk->d_mediasize / disk->d_sectorsize,
sys/dev/nvd/nvd.c
607
disk->d_sectorsize);
sys/dev/nvd/nvd.c
80
struct disk *disk;
sys/dev/pst/pst-raid.c
155
psc->disk = disk_alloc();
sys/dev/pst/pst-raid.c
156
psc->disk->d_name = "pst";
sys/dev/pst/pst-raid.c
157
psc->disk->d_strategy = pststrategy;
sys/dev/pst/pst-raid.c
158
psc->disk->d_maxsize = 64 * 1024; /*I2O_SGL_MAX_SEGS * PAGE_SIZE;*/
sys/dev/pst/pst-raid.c
159
psc->disk->d_drv1 = psc;
sys/dev/pst/pst-raid.c
160
psc->disk->d_unit = lun;
sys/dev/pst/pst-raid.c
162
psc->disk->d_sectorsize = psc->info->block_size;
sys/dev/pst/pst-raid.c
163
psc->disk->d_mediasize = psc->info->capacity;
sys/dev/pst/pst-raid.c
164
psc->disk->d_fwsectors = 63;
sys/dev/pst/pst-raid.c
165
psc->disk->d_fwheads = 255;
sys/dev/pst/pst-raid.c
167
disk_create(psc->disk, DISK_VERSION);
sys/dev/pst/pst-raid.c
62
struct disk *disk;
sys/dev/virtio/block/virtio_blk.c
103
struct disk *vtblk_disk;
sys/dev/virtio/block/virtio_blk.c
149
static int vtblk_open(struct disk *);
sys/dev/virtio/block/virtio_blk.c
150
static int vtblk_close(struct disk *);
sys/dev/virtio/block/virtio_blk.c
151
static int vtblk_ioctl(struct disk *, u_long, void *, int,
sys/dev/virtio/block/virtio_blk.c
1555
struct disk *dp;
sys/dev/virtio/block/virtio_blk.c
610
vtblk_open(struct disk *dp)
sys/dev/virtio/block/virtio_blk.c
621
vtblk_close(struct disk *dp)
sys/dev/virtio/block/virtio_blk.c
632
vtblk_ioctl(struct disk *dp, u_long cmd, void *addr, int flag,
sys/dev/virtio/block/virtio_blk.c
646
struct disk *dp;
sys/dev/virtio/block/virtio_blk.c
781
struct disk *dp;
sys/dev/virtio/block/virtio_blk.c
806
struct disk *dp;
sys/dev/virtio/block/virtio_blk.c
889
struct disk *dp;
sys/dev/xen/blkfront/blkfront.c
1247
struct disk *disk;
sys/dev/xen/blkfront/blkfront.c
1249
disk = sc->xbd_disk;
sys/dev/xen/blkfront/blkfront.c
1250
if (disk == NULL) {
sys/dev/xen/blkfront/blkfront.c
1261
disk->d_mediasize = disk->d_sectorsize * sectors;
sys/dev/xen/blkfront/blkfront.c
1262
err = disk_resize(disk, M_NOWAIT);
sys/dev/xen/blkfront/blkfront.c
1266
disk->d_name, disk->d_unit);
sys/dev/xen/blkfront/blkfront.c
1271
(intmax_t)disk->d_mediasize);
sys/dev/xen/blkfront/blkfront.c
600
struct disk *dp = arg;
sys/dev/xen/blkfront/blkfront.c
672
xbd_open(struct disk *dp)
sys/dev/xen/blkfront/blkfront.c
687
xbd_close(struct disk *dp)
sys/dev/xen/blkfront/blkfront.c
708
xbd_ioctl(struct disk *dp, u_long cmd, void *addr, int flag, struct thread *td)
sys/dev/xen/blkfront/block.h
173
struct disk *xbd_disk; /* disk params */
sys/geom/concat/g_concat.c
1001
if (disk->d_consumer->provider == NULL)
sys/geom/concat/g_concat.c
1003
if (strcmp(disk->d_consumer->provider->name, name) == 0)
sys/geom/concat/g_concat.c
1004
return (disk);
sys/geom/concat/g_concat.c
1013
struct g_concat_disk *disk;
sys/geom/concat/g_concat.c
1025
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/concat/g_concat.c
1026
pp = disk->d_consumer->provider;
sys/geom/concat/g_concat.c
1029
if (disk->d_hardcoded)
sys/geom/concat/g_concat.c
1032
md.md_provsize = disk->d_consumer->provider->mediasize;
sys/geom/concat/g_concat.c
1036
error = g_access(disk->d_consumer, 0, 1, 0);
sys/geom/concat/g_concat.c
1038
error = g_write_data(disk->d_consumer,
sys/geom/concat/g_concat.c
104
struct g_concat_disk *disk;
sys/geom/concat/g_concat.c
1041
(void)g_access(disk->d_consumer, 0, -1, 0);
sys/geom/concat/g_concat.c
1060
struct g_concat_disk *disk;
sys/geom/concat/g_concat.c
109
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/concat/g_concat.c
110
if (disk->d_consumer != NULL)
sys/geom/concat/g_concat.c
1159
disk = malloc(sizeof(*disk), M_CONCAT, M_WAITOK | M_ZERO);
sys/geom/concat/g_concat.c
1160
disk->d_consumer = cp;
sys/geom/concat/g_concat.c
1161
disk->d_softc = sc;
sys/geom/concat/g_concat.c
1162
disk->d_start = TAILQ_LAST(&sc->sc_disks, g_concat_disks)->d_end;
sys/geom/concat/g_concat.c
1163
disk->d_end = disk->d_start + cp->provider->mediasize;
sys/geom/concat/g_concat.c
1164
disk->d_candelete = disk_candelete;
sys/geom/concat/g_concat.c
1165
disk->d_removed = 0;
sys/geom/concat/g_concat.c
1166
disk->d_hardcoded = *hardcode;
sys/geom/concat/g_concat.c
1167
cp->private = disk;
sys/geom/concat/g_concat.c
1168
TAILQ_INSERT_TAIL(&sc->sc_disks, disk, d_next);
sys/geom/concat/g_concat.c
1173
disk->d_end -= cp->provider->sectorsize;
sys/geom/concat/g_concat.c
1179
g_resize_provider(sc->sc_provider, disk->d_end);
sys/geom/concat/g_concat.c
118
g_concat_remove_disk(struct g_concat_disk *disk)
sys/geom/concat/g_concat.c
1231
struct g_concat_disk *disk;
sys/geom/concat/g_concat.c
1233
disk = cp->private;
sys/geom/concat/g_concat.c
1234
if (disk == NULL)
sys/geom/concat/g_concat.c
1237
(intmax_t)disk->d_end);
sys/geom/concat/g_concat.c
1239
(intmax_t)disk->d_start);
sys/geom/concat/g_concat.c
124
KASSERT(disk->d_consumer != NULL, ("Non-valid disk in %s.", __func__));
sys/geom/concat/g_concat.c
125
sc = disk->d_softc;
sys/geom/concat/g_concat.c
126
cp = disk->d_consumer;
sys/geom/concat/g_concat.c
128
if (!disk->d_removed) {
sys/geom/concat/g_concat.c
131
disk->d_removed = 1;
sys/geom/concat/g_concat.c
143
disk->d_consumer = NULL;
sys/geom/concat/g_concat.c
155
struct g_concat_disk *disk;
sys/geom/concat/g_concat.c
164
disk = cp->private;
sys/geom/concat/g_concat.c
165
if (disk == NULL) /* Possible? */
sys/geom/concat/g_concat.c
167
g_concat_remove_disk(disk);
sys/geom/concat/g_concat.c
174
struct g_concat_disk *disk;
sys/geom/concat/g_concat.c
195
disk = cp1->private;
sys/geom/concat/g_concat.c
197
disk->d_removed) {
sys/geom/concat/g_concat.c
198
g_concat_remove_disk(disk); /* May destroy geom. */
sys/geom/concat/g_concat.c
218
struct g_concat_disk *disk;
sys/geom/concat/g_concat.c
223
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/concat/g_concat.c
224
if (!disk->d_removed && disk->d_candelete)
sys/geom/concat/g_concat.c
227
val = disk != NULL;
sys/geom/concat/g_concat.c
235
struct g_concat_disk *disk;
sys/geom/concat/g_concat.c
241
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/concat/g_concat.c
242
if (disk->d_start <= gkd->offset &&
sys/geom/concat/g_concat.c
243
disk->d_end > gkd->offset)
sys/geom/concat/g_concat.c
246
if (disk == NULL) {
sys/geom/concat/g_concat.c
251
gkd->offset -= disk->d_start;
sys/geom/concat/g_concat.c
252
if (gkd->length > disk->d_end - disk->d_start - gkd->offset)
sys/geom/concat/g_concat.c
253
gkd->length = disk->d_end - disk->d_start - gkd->offset;
sys/geom/concat/g_concat.c
260
g_io_request(cbp, disk->d_consumer);
sys/geom/concat/g_concat.c
262
disk->d_consumer->provider->name);
sys/geom/concat/g_concat.c
295
struct g_concat_disk *disk;
sys/geom/concat/g_concat.c
300
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/concat/g_concat.c
312
cbp->bio_caller1 = disk->d_consumer;
sys/geom/concat/g_concat.c
313
cbp->bio_to = disk->d_consumer->provider;
sys/geom/concat/g_concat.c
328
struct g_concat_disk *disk;
sys/geom/concat/g_concat.c
380
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/concat/g_concat.c
381
if (disk->d_end <= offset)
sys/geom/concat/g_concat.c
383
if (disk->d_start >= end)
sys/geom/concat/g_concat.c
386
off = offset - disk->d_start;
sys/geom/concat/g_concat.c
387
len = MIN(length, disk->d_end - offset);
sys/geom/concat/g_concat.c
419
cbp->bio_to = disk->d_consumer->provider;
sys/geom/concat/g_concat.c
420
cbp->bio_caller1 = disk;
sys/geom/concat/g_concat.c
430
disk = cbp->bio_caller1;
sys/geom/concat/g_concat.c
432
g_io_request(cbp, disk->d_consumer);
sys/geom/concat/g_concat.c
441
struct g_concat_disk *disk;
sys/geom/concat/g_concat.c
455
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/concat/g_concat.c
456
dp = disk->d_consumer->provider;
sys/geom/concat/g_concat.c
457
disk->d_start = start;
sys/geom/concat/g_concat.c
458
disk->d_end = disk->d_start + dp->mediasize;
sys/geom/concat/g_concat.c
460
disk->d_end -= dp->sectorsize;
sys/geom/concat/g_concat.c
461
start = disk->d_end;
sys/geom/concat/g_concat.c
462
error = g_access(disk->d_consumer, 1, 0, 0);
sys/geom/concat/g_concat.c
464
error = g_getattr("GEOM::candelete", disk->d_consumer,
sys/geom/concat/g_concat.c
465
&disk->d_candelete);
sys/geom/concat/g_concat.c
467
disk->d_candelete = 0;
sys/geom/concat/g_concat.c
468
(void)g_access(disk->d_consumer, -1, 0, 0);
sys/geom/concat/g_concat.c
472
if (disk == TAILQ_FIRST(&sc->sc_disks))
sys/geom/concat/g_concat.c
530
struct g_concat_disk *disk;
sys/geom/concat/g_concat.c
545
for (disk = TAILQ_FIRST(&sc->sc_disks); no > 0; no--) {
sys/geom/concat/g_concat.c
546
disk = TAILQ_NEXT(disk, d_next);
sys/geom/concat/g_concat.c
550
if (disk->d_consumer != NULL) {
sys/geom/concat/g_concat.c
597
disk->d_hardcoded = md.md_provider[0] != '\0';
sys/geom/concat/g_concat.c
599
disk->d_hardcoded = false;
sys/geom/concat/g_concat.c
602
cp->private = disk;
sys/geom/concat/g_concat.c
603
disk->d_consumer = cp;
sys/geom/concat/g_concat.c
604
disk->d_softc = sc;
sys/geom/concat/g_concat.c
605
disk->d_start = 0; /* not yet */
sys/geom/concat/g_concat.c
606
disk->d_end = 0; /* not yet */
sys/geom/concat/g_concat.c
607
disk->d_removed = 0;
sys/geom/concat/g_concat.c
629
struct g_concat_disk *disk;
sys/geom/concat/g_concat.c
661
disk = malloc(sizeof(*disk), M_CONCAT, M_WAITOK | M_ZERO);
sys/geom/concat/g_concat.c
662
TAILQ_INSERT_TAIL(&sc->sc_disks, disk, d_next);
sys/geom/concat/g_concat.c
683
struct g_concat_disk *disk;
sys/geom/concat/g_concat.c
715
while ((disk = TAILQ_FIRST(&sc->sc_disks)) != NULL) {
sys/geom/concat/g_concat.c
716
TAILQ_REMOVE(&sc->sc_disks, disk, d_next);
sys/geom/concat/g_concat.c
717
free(disk, M_CONCAT);
sys/geom/concat/g_concat.c
993
struct g_concat_disk *disk;
sys/geom/concat/g_concat.c
998
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/concat/g_concat.c
999
if (disk->d_consumer == NULL)
sys/geom/geom_disk.c
1006
disk_attr_changed(struct disk *dp, const char *attr, int flag)
sys/geom/geom_disk.c
102
struct disk *dp;
sys/geom/geom_disk.c
1022
disk_media_changed(struct disk *dp, int flag)
sys/geom/geom_disk.c
1038
disk_media_gone(struct disk *dp, int flag)
sys/geom/geom_disk.c
1054
disk_resize(struct disk *dp, int flag)
sys/geom/geom_disk.c
1083
struct disk *dp;
sys/geom/geom_disk.c
1088
dp = (struct disk *)arg1;
sys/geom/geom_disk.c
176
g_disk_kerneldump(struct bio *bp, struct disk *dp)
sys/geom/geom_disk.c
277
struct disk *dp;
sys/geom/geom_disk.c
291
g_disk_maxsize(struct disk *dp, struct bio *bp)
sys/geom/geom_disk.c
299
g_disk_maxsegs(struct disk *dp, struct bio *bp)
sys/geom/geom_disk.c
305
g_disk_advance(struct disk *dp, struct bio *bp, off_t off)
sys/geom/geom_disk.c
368
g_disk_vlist_limit(struct disk *dp, struct bio *bp, bus_dma_segment_t **pendseg)
sys/geom/geom_disk.c
392
g_disk_limit(struct disk *dp, struct bio *bp)
sys/geom/geom_disk.c
433
struct disk *dp;
sys/geom/geom_disk.c
595
struct disk *dp;
sys/geom/geom_disk.c
65
struct disk *dp;
sys/geom/geom_disk.c
673
struct disk *dp;
sys/geom/geom_disk.c
701
struct disk *dp;
sys/geom/geom_disk.c
802
struct disk *dp;
sys/geom/geom_disk.c
826
struct disk *dp;
sys/geom/geom_disk.c
872
struct disk *
sys/geom/geom_disk.c
875
struct disk *dp;
sys/geom/geom_disk.c
877
dp = g_malloc(sizeof(struct disk), M_WAITOK | M_ZERO);
sys/geom/geom_disk.c
886
disk_create(struct disk *dp, int version)
sys/geom/geom_disk.c
918
disk_destroy(struct disk *dp)
sys/geom/geom_disk.c
94
static SYSCTL_NODE(_kern_geom, OID_AUTO, disk, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
sys/geom/geom_disk.c
945
disk_add_alias(struct disk *dp, const char *name)
sys/geom/geom_disk.c
957
disk_gone(struct disk *dp)
sys/geom/geom_disk.h
140
struct disk *disk_alloc(void);
sys/geom/geom_disk.h
141
void disk_create(struct disk *disk, int version);
sys/geom/geom_disk.h
142
void disk_destroy(struct disk *disk);
sys/geom/geom_disk.h
143
void disk_gone(struct disk *disk);
sys/geom/geom_disk.h
144
void disk_attr_changed(struct disk *dp, const char *attr, int flag);
sys/geom/geom_disk.h
145
void disk_media_changed(struct disk *dp, int flag);
sys/geom/geom_disk.h
146
void disk_media_gone(struct disk *dp, int flag);
sys/geom/geom_disk.h
147
int disk_resize(struct disk *dp, int flag);
sys/geom/geom_disk.h
148
void disk_add_alias(struct disk *disk, const char *);
sys/geom/geom_disk.h
54
struct disk;
sys/geom/geom_disk.h
56
typedef int disk_open_t(struct disk *);
sys/geom/geom_disk.h
57
typedef int disk_close_t(struct disk *);
sys/geom/geom_disk.h
60
typedef void disk_gone_t(struct disk *);
sys/geom/geom_disk.h
61
typedef int disk_ioctl_t(struct disk *, u_long cmd, void *data,
sys/geom/mirror/g_mirror.c
1023
if (disk != NULL)
sys/geom/mirror/g_mirror.c
1024
g_mirror_regular_request_error(sc, disk, bp);
sys/geom/mirror/g_mirror.c
1050
disk != NULL &&
sys/geom/mirror/g_mirror.c
1051
disk->d_state == G_MIRROR_DISK_STATE_ACTIVE) {
sys/geom/mirror/g_mirror.c
1109
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
1113
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror.c
1114
if (disk->d_flags & G_MIRROR_DISK_FLAG_CANDELETE)
sys/geom/mirror/g_mirror.c
1117
val = disk != NULL;
sys/geom/mirror/g_mirror.c
1125
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
113
static int g_mirror_update_disk(struct g_mirror_disk *disk, u_int state);
sys/geom/mirror/g_mirror.c
1137
disk = LIST_FIRST(&sc->sc_disks);
sys/geom/mirror/g_mirror.c
1148
g_io_request(cbp, disk->d_consumer);
sys/geom/mirror/g_mirror.c
1150
g_mirror_get_diskname(disk));
sys/geom/mirror/g_mirror.c
1157
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
1162
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror.c
1164
rr = disk->d_rotation_rate;
sys/geom/mirror/g_mirror.c
1165
else if (rr != disk->d_rotation_rate) {
sys/geom/mirror/g_mirror.c
120
static void g_mirror_sync_reinit(const struct g_mirror_disk *disk,
sys/geom/mirror/g_mirror.c
122
static void g_mirror_sync_stop(struct g_mirror_disk *disk, int type);
sys/geom/mirror/g_mirror.c
1231
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
1240
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror.c
1241
if (disk->d_state != G_MIRROR_DISK_STATE_SYNCHRONIZING)
sys/geom/mirror/g_mirror.c
1244
sbp = disk->d_sync.ds_bios[i];
sys/geom/mirror/g_mirror.c
1344
g_mirror_sync_request_free(struct g_mirror_disk *disk, struct bio *bp)
sys/geom/mirror/g_mirror.c
1348
if (disk != NULL && disk->d_sync.ds_bios != NULL) {
sys/geom/mirror/g_mirror.c
1350
KASSERT(disk->d_sync.ds_bios[idx] == bp,
sys/geom/mirror/g_mirror.c
1351
("unexpected sync BIO at %p:%d", disk, idx));
sys/geom/mirror/g_mirror.c
1352
disk->d_sync.ds_bios[idx] = NULL;
sys/geom/mirror/g_mirror.c
1369
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
1378
disk = bp->bio_from->private;
sys/geom/mirror/g_mirror.c
1379
if (disk == NULL) {
sys/geom/mirror/g_mirror.c
1389
sync = &disk->d_sync;
sys/geom/mirror/g_mirror.c
1414
g_mirror_sync_request_free(disk, bp);
sys/geom/mirror/g_mirror.c
1415
g_mirror_event_send(disk,
sys/geom/mirror/g_mirror.c
1424
cp = disk->d_consumer;
sys/geom/mirror/g_mirror.c
1443
g_mirror_sync_request_free(disk, bp);
sys/geom/mirror/g_mirror.c
1445
g_mirror_event_send(disk,
sys/geom/mirror/g_mirror.c
1456
g_mirror_sync_request_free(disk, bp);
sys/geom/mirror/g_mirror.c
1464
g_mirror_event_send(disk, G_MIRROR_DISK_STATE_ACTIVE,
sys/geom/mirror/g_mirror.c
1470
g_mirror_sync_reinit(disk, bp, sync->ds_offset);
sys/geom/mirror/g_mirror.c
1497
g_mirror_update_metadata(disk);
sys/geom/mirror/g_mirror.c
1510
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
1514
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror.c
1515
if (disk->d_state == G_MIRROR_DISK_STATE_ACTIVE)
sys/geom/mirror/g_mirror.c
1518
if (disk == NULL) {
sys/geom/mirror/g_mirror.c
1534
cp = disk->d_consumer;
sys/geom/mirror/g_mirror.c
1548
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
1552
disk = g_mirror_get_disk(sc);
sys/geom/mirror/g_mirror.c
1553
if (disk == NULL) {
sys/geom/mirror/g_mirror.c
1569
cp = disk->d_consumer;
sys/geom/mirror/g_mirror.c
1587
struct g_mirror_disk *disk, *dp;
sys/geom/mirror/g_mirror.c
1593
disk = NULL;
sys/geom/mirror/g_mirror.c
1607
disk = dp;
sys/geom/mirror/g_mirror.c
1611
KASSERT(disk != NULL, ("NULL disk for %s.", sc->sc_name));
sys/geom/mirror/g_mirror.c
1622
cp = disk->d_consumer;
sys/geom/mirror/g_mirror.c
1631
disk->d_last_offset = bp->bio_offset + bp->bio_length;
sys/geom/mirror/g_mirror.c
1644
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
166
g_mirror_get_diskname(struct g_mirror_disk *disk)
sys/geom/mirror/g_mirror.c
1668
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror.c
1669
if (disk->d_state != G_MIRROR_DISK_STATE_ACTIVE)
sys/geom/mirror/g_mirror.c
1684
cbp->bio_caller1 = disk;
sys/geom/mirror/g_mirror.c
1685
cbp->bio_to = disk->d_consumer->provider;
sys/geom/mirror/g_mirror.c
169
if (disk->d_consumer == NULL || disk->d_consumer->provider == NULL)
sys/geom/mirror/g_mirror.c
1698
disk = cbp->bio_caller1;
sys/geom/mirror/g_mirror.c
1700
cp = disk->d_consumer;
sys/geom/mirror/g_mirror.c
1704
disk->d_consumer->index++;
sys/geom/mirror/g_mirror.c
1705
g_io_request(cbp, disk->d_consumer);
sys/geom/mirror/g_mirror.c
171
return (disk->d_name);
sys/geom/mirror/g_mirror.c
1715
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
1776
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror.c
1777
switch (disk->d_state) {
sys/geom/mirror/g_mirror.c
1781
if (bp->bio_offset >= disk->d_sync.ds_offset)
sys/geom/mirror/g_mirror.c
1788
(disk->d_flags & G_MIRROR_DISK_FLAG_CANDELETE) == 0)
sys/geom/mirror/g_mirror.c
1803
cp = disk->d_consumer;
sys/geom/mirror/g_mirror.c
1834
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror.c
1835
if (disk->d_state != G_MIRROR_DISK_STATE_ACTIVE)
sys/geom/mirror/g_mirror.c
1850
cbp->bio_caller1 = disk;
sys/geom/mirror/g_mirror.c
1851
cbp->bio_to = disk->d_consumer->provider;
sys/geom/mirror/g_mirror.c
1858
disk = cbp->bio_caller1;
sys/geom/mirror/g_mirror.c
1860
cp = disk->d_consumer;
sys/geom/mirror/g_mirror.c
191
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
196
disk = NULL;
sys/geom/mirror/g_mirror.c
199
disk = arg;
sys/geom/mirror/g_mirror.c
200
sc = disk->d_softc;
sys/geom/mirror/g_mirror.c
202
ep->e_disk = disk;
sys/geom/mirror/g_mirror.c
2075
g_mirror_update_idle(struct g_mirror_softc *sc, struct g_mirror_disk *disk)
sys/geom/mirror/g_mirror.c
2082
if (!sc->sc_idle && (disk->d_flags & G_MIRROR_DISK_FLAG_DIRTY) == 0) {
sys/geom/mirror/g_mirror.c
2084
g_mirror_get_diskname(disk), sc->sc_name);
sys/geom/mirror/g_mirror.c
2085
disk->d_flags |= G_MIRROR_DISK_FLAG_DIRTY;
sys/geom/mirror/g_mirror.c
2087
(disk->d_flags & G_MIRROR_DISK_FLAG_DIRTY) != 0) {
sys/geom/mirror/g_mirror.c
2089
g_mirror_get_diskname(disk), sc->sc_name);
sys/geom/mirror/g_mirror.c
2090
disk->d_flags &= ~G_MIRROR_DISK_FLAG_DIRTY;
sys/geom/mirror/g_mirror.c
2095
g_mirror_sync_reinit(const struct g_mirror_disk *disk, struct bio *bp,
sys/geom/mirror/g_mirror.c
2108
bp->bio_from = disk->d_sync.ds_consumer;
sys/geom/mirror/g_mirror.c
2109
bp->bio_to = disk->d_softc->sc_provider;
sys/geom/mirror/g_mirror.c
2113
disk->d_softc->sc_mediasize - bp->bio_offset);
sys/geom/mirror/g_mirror.c
2117
g_mirror_sync_start(struct g_mirror_disk *disk)
sys/geom/mirror/g_mirror.c
2126
sc = disk->d_softc;
sys/geom/mirror/g_mirror.c
2127
sync = &disk->d_sync;
sys/geom/mirror/g_mirror.c
2130
KASSERT(disk->d_state == G_MIRROR_DISK_STATE_SYNCHRONIZING,
sys/geom/mirror/g_mirror.c
2132
g_mirror_get_diskname(disk)));
sys/geom/mirror/g_mirror.c
2150
g_mirror_get_diskname(disk));
sys/geom/mirror/g_mirror.c
2152
disk->d_flags |= G_MIRROR_DISK_FLAG_DIRTY;
sys/geom/mirror/g_mirror.c
2155
sc->sc_name, g_mirror_get_diskname(disk)));
sys/geom/mirror/g_mirror.c
2158
sync->ds_consumer->private = disk;
sys/geom/mirror/g_mirror.c
2172
g_mirror_sync_reinit(disk, bp, sync->ds_offset);
sys/geom/mirror/g_mirror.c
2204
g_mirror_sync_stop(struct g_mirror_disk *disk, int type)
sys/geom/mirror/g_mirror.c
2210
sc = disk->d_softc;
sys/geom/mirror/g_mirror.c
2213
KASSERT(disk->d_state == G_MIRROR_DISK_STATE_SYNCHRONIZING,
sys/geom/mirror/g_mirror.c
2214
("Wrong disk state (%s, %s).", g_mirror_get_diskname(disk),
sys/geom/mirror/g_mirror.c
2215
g_mirror_disk_state2str(disk->d_state)));
sys/geom/mirror/g_mirror.c
2216
if (disk->d_sync.ds_consumer == NULL)
sys/geom/mirror/g_mirror.c
2221
sc->sc_name, g_mirror_get_diskname(disk));
sys/geom/mirror/g_mirror.c
2224
sc->sc_name, g_mirror_get_diskname(disk));
sys/geom/mirror/g_mirror.c
2227
free(disk->d_sync.ds_bios, M_MIRROR);
sys/geom/mirror/g_mirror.c
2228
disk->d_sync.ds_bios = NULL;
sys/geom/mirror/g_mirror.c
2229
cp = disk->d_sync.ds_consumer;
sys/geom/mirror/g_mirror.c
2230
disk->d_sync.ds_consumer = NULL;
sys/geom/mirror/g_mirror.c
2231
disk->d_flags &= ~G_MIRROR_DISK_FLAG_DIRTY;
sys/geom/mirror/g_mirror.c
2243
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
2260
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror.c
2261
if (disk->d_consumer && disk->d_consumer->provider) {
sys/geom/mirror/g_mirror.c
2262
dp = disk->d_consumer->provider;
sys/geom/mirror/g_mirror.c
2282
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror.c
2283
if (disk->d_state == G_MIRROR_DISK_STATE_SYNCHRONIZING)
sys/geom/mirror/g_mirror.c
2284
g_mirror_sync_start(disk);
sys/geom/mirror/g_mirror.c
2291
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
2298
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror.c
2299
if (disk->d_state == G_MIRROR_DISK_STATE_SYNCHRONIZING)
sys/geom/mirror/g_mirror.c
2300
g_mirror_sync_stop(disk, 1);
sys/geom/mirror/g_mirror.c
2354
g_mirror_determine_state(struct g_mirror_disk *disk)
sys/geom/mirror/g_mirror.c
2359
sc = disk->d_softc;
sys/geom/mirror/g_mirror.c
2360
if (sc->sc_syncid == disk->d_sync.ds_syncid) {
sys/geom/mirror/g_mirror.c
2361
if ((disk->d_flags &
sys/geom/mirror/g_mirror.c
2364
(disk->d_flags & G_MIRROR_DISK_FLAG_DIRTY) == 0)) {
sys/geom/mirror/g_mirror.c
2370
(disk->d_flags &
sys/geom/mirror/g_mirror.c
2381
} else if (disk->d_sync.ds_syncid < sc->sc_syncid) {
sys/geom/mirror/g_mirror.c
2387
disk->d_flags |= G_MIRROR_DISK_FLAG_SYNCHRONIZING;
sys/geom/mirror/g_mirror.c
2388
disk->d_sync.ds_offset = 0;
sys/geom/mirror/g_mirror.c
2389
disk->d_sync.ds_offset_done = 0;
sys/geom/mirror/g_mirror.c
2390
disk->d_sync.ds_syncid = sc->sc_syncid;
sys/geom/mirror/g_mirror.c
2392
(disk->d_flags & G_MIRROR_DISK_FLAG_FORCE_SYNC) != 0) {
sys/geom/mirror/g_mirror.c
2409
g_mirror_get_diskname(disk));
sys/geom/mirror/g_mirror.c
2410
g_mirror_destroy_disk(disk);
sys/geom/mirror/g_mirror.c
2416
g_mirror_get_diskname(disk), g_mirror_disk_state2str(state));
sys/geom/mirror/g_mirror.c
2426
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
2440
LIST_FOREACH_SAFE(disk, &sc->sc_disks, d_next, tdisk) {
sys/geom/mirror/g_mirror.c
2444
KASSERT(sc->sc_genid >= disk->d_genid,
sys/geom/mirror/g_mirror.c
2446
disk->d_genid, sc, sc->sc_genid));
sys/geom/mirror/g_mirror.c
2449
if (disk->d_genid < sc->sc_genid) {
sys/geom/mirror/g_mirror.c
2452
g_mirror_get_diskname(disk), sc->sc_name,
sys/geom/mirror/g_mirror.c
2453
disk->d_genid, sc->sc_genid);
sys/geom/mirror/g_mirror.c
2454
g_mirror_destroy_disk(disk);
sys/geom/mirror/g_mirror.c
2462
KASSERT(sc->sc_syncid >= disk->d_sync.ds_syncid,
sys/geom/mirror/g_mirror.c
2464
__func__, disk->d_sync.ds_syncid, sc,
sys/geom/mirror/g_mirror.c
2469
disk->d_init_ ## field != sc->sc_ ## field) { \
sys/geom/mirror/g_mirror.c
2471
found = (intmax_t)disk->d_init_ ## field; \
sys/geom/mirror/g_mirror.c
2484
g_mirror_get_diskname(disk), sc->sc_name,
sys/geom/mirror/g_mirror.c
2486
g_mirror_destroy_disk(disk);
sys/geom/mirror/g_mirror.c
2529
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror.c
2530
if ((disk->d_flags &
sys/geom/mirror/g_mirror.c
2561
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror.c
2562
if (disk->d_sync.ds_syncid != sc->sc_syncid)
sys/geom/mirror/g_mirror.c
2564
if ((disk->d_flags &
sys/geom/mirror/g_mirror.c
2569
if ((disk->d_flags & G_MIRROR_DISK_FLAG_DIRTY) != 0) {
sys/geom/mirror/g_mirror.c
2572
pdisk->d_priority < disk->d_priority) {
sys/geom/mirror/g_mirror.c
2573
pdisk = disk;
sys/geom/mirror/g_mirror.c
258
g_mirror_event_cancel(struct g_mirror_disk *disk)
sys/geom/mirror/g_mirror.c
2588
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror.c
2589
if (disk->d_sync.ds_syncid != sc->sc_syncid)
sys/geom/mirror/g_mirror.c
2591
if ((disk->d_flags &
sys/geom/mirror/g_mirror.c
2595
KASSERT((disk->d_flags &
sys/geom/mirror/g_mirror.c
2598
g_mirror_get_diskname(disk)));
sys/geom/mirror/g_mirror.c
2600
if (disk == pdisk)
sys/geom/mirror/g_mirror.c
2602
disk->d_sync.ds_syncid = 0;
sys/geom/mirror/g_mirror.c
2609
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror.c
2610
if (disk->d_sync.ds_syncid != sc->sc_syncid)
sys/geom/mirror/g_mirror.c
2612
if ((disk->d_flags &
sys/geom/mirror/g_mirror.c
2616
if ((disk->d_flags &
sys/geom/mirror/g_mirror.c
2620
disk->d_sync.ds_syncid = 0;
sys/geom/mirror/g_mirror.c
263
sc = disk->d_softc;
sys/geom/mirror/g_mirror.c
2635
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror.c
2636
state = g_mirror_determine_state(disk);
sys/geom/mirror/g_mirror.c
2637
g_mirror_event_send(disk, state,
sys/geom/mirror/g_mirror.c
2692
g_mirror_get_diskname(disk), \
sys/geom/mirror/g_mirror.c
2693
g_mirror_disk_state2str(disk->d_state), \
sys/geom/mirror/g_mirror.c
2696
g_mirror_update_disk(struct g_mirror_disk *disk, u_int state)
sys/geom/mirror/g_mirror.c
270
if (ep->e_disk != disk)
sys/geom/mirror/g_mirror.c
2700
sc = disk->d_softc;
sys/geom/mirror/g_mirror.c
2705
g_mirror_get_diskname(disk), g_mirror_disk_state2str(disk->d_state),
sys/geom/mirror/g_mirror.c
2714
KASSERT(disk->d_state == G_MIRROR_DISK_STATE_NONE,
sys/geom/mirror/g_mirror.c
2715
("Wrong disk state (%s, %s).", g_mirror_get_diskname(disk),
sys/geom/mirror/g_mirror.c
2716
g_mirror_disk_state2str(disk->d_state)));
sys/geom/mirror/g_mirror.c
2719
disk->d_state = state;
sys/geom/mirror/g_mirror.c
2722
LIST_INSERT_HEAD(&sc->sc_disks, disk, d_next);
sys/geom/mirror/g_mirror.c
2727
if (disk->d_priority >= dp->d_priority) {
sys/geom/mirror/g_mirror.c
2728
LIST_INSERT_BEFORE(dp, disk, d_next);
sys/geom/mirror/g_mirror.c
2736
LIST_INSERT_AFTER(dp, disk, d_next);
sys/geom/mirror/g_mirror.c
2740
sc->sc_name, g_mirror_get_diskname(disk));
sys/geom/mirror/g_mirror.c
2746
g_mirror_get_diskname(disk),
sys/geom/mirror/g_mirror.c
2747
g_mirror_disk_state2str(disk->d_state)));
sys/geom/mirror/g_mirror.c
2748
state = g_mirror_determine_state(disk);
sys/geom/mirror/g_mirror.c
2761
g_mirror_get_diskname(disk),
sys/geom/mirror/g_mirror.c
2762
g_mirror_disk_state2str(disk->d_state)));
sys/geom/mirror/g_mirror.c
2764
KASSERT(disk->d_state == G_MIRROR_DISK_STATE_NEW ||
sys/geom/mirror/g_mirror.c
2765
disk->d_state == G_MIRROR_DISK_STATE_SYNCHRONIZING,
sys/geom/mirror/g_mirror.c
2766
("Wrong disk state (%s, %s).", g_mirror_get_diskname(disk),
sys/geom/mirror/g_mirror.c
2767
g_mirror_disk_state2str(disk->d_state)));
sys/geom/mirror/g_mirror.c
2770
if (disk->d_state == G_MIRROR_DISK_STATE_SYNCHRONIZING) {
sys/geom/mirror/g_mirror.c
2771
disk->d_flags &= ~G_MIRROR_DISK_FLAG_SYNCHRONIZING;
sys/geom/mirror/g_mirror.c
2772
disk->d_flags &= ~G_MIRROR_DISK_FLAG_FORCE_SYNC;
sys/geom/mirror/g_mirror.c
2773
g_mirror_sync_stop(disk, 0);
sys/geom/mirror/g_mirror.c
2775
disk->d_state = state;
sys/geom/mirror/g_mirror.c
2776
disk->d_sync.ds_offset = 0;
sys/geom/mirror/g_mirror.c
2777
disk->d_sync.ds_offset_done = 0;
sys/geom/mirror/g_mirror.c
2778
g_mirror_update_idle(sc, disk);
sys/geom/mirror/g_mirror.c
2779
g_mirror_update_metadata(disk);
sys/geom/mirror/g_mirror.c
2781
sc->sc_name, g_mirror_get_diskname(disk));
sys/geom/mirror/g_mirror.c
2789
KASSERT(disk->d_state == G_MIRROR_DISK_STATE_NEW,
sys/geom/mirror/g_mirror.c
2790
("Wrong disk state (%s, %s).", g_mirror_get_diskname(disk),
sys/geom/mirror/g_mirror.c
2791
g_mirror_disk_state2str(disk->d_state)));
sys/geom/mirror/g_mirror.c
2795
g_mirror_get_diskname(disk),
sys/geom/mirror/g_mirror.c
2796
g_mirror_disk_state2str(disk->d_state)));
sys/geom/mirror/g_mirror.c
2804
g_mirror_get_diskname(disk),
sys/geom/mirror/g_mirror.c
2805
g_mirror_disk_state2str(disk->d_state)));
sys/geom/mirror/g_mirror.c
2808
disk->d_flags &= ~G_MIRROR_DISK_FLAG_DIRTY;
sys/geom/mirror/g_mirror.c
2809
disk->d_state = state;
sys/geom/mirror/g_mirror.c
2810
g_mirror_update_metadata(disk);
sys/geom/mirror/g_mirror.c
2812
sc->sc_name, g_mirror_get_diskname(disk));
sys/geom/mirror/g_mirror.c
2820
KASSERT(disk->d_state == G_MIRROR_DISK_STATE_NEW,
sys/geom/mirror/g_mirror.c
2821
("Wrong disk state (%s, %s).", g_mirror_get_diskname(disk),
sys/geom/mirror/g_mirror.c
2822
g_mirror_disk_state2str(disk->d_state)));
sys/geom/mirror/g_mirror.c
2826
g_mirror_get_diskname(disk),
sys/geom/mirror/g_mirror.c
2827
g_mirror_disk_state2str(disk->d_state)));
sys/geom/mirror/g_mirror.c
2830
if (disk->d_state == G_MIRROR_DISK_STATE_NEW)
sys/geom/mirror/g_mirror.c
2831
disk->d_flags &= ~G_MIRROR_DISK_FLAG_DIRTY;
sys/geom/mirror/g_mirror.c
2832
disk->d_state = state;
sys/geom/mirror/g_mirror.c
2834
g_mirror_sync_start(disk);
sys/geom/mirror/g_mirror.c
2835
g_mirror_update_metadata(disk);
sys/geom/mirror/g_mirror.c
2850
KASSERT(disk->d_state == G_MIRROR_DISK_STATE_ACTIVE ||
sys/geom/mirror/g_mirror.c
2851
disk->d_state == G_MIRROR_DISK_STATE_STALE ||
sys/geom/mirror/g_mirror.c
2852
disk->d_state == G_MIRROR_DISK_STATE_SYNCHRONIZING,
sys/geom/mirror/g_mirror.c
2854
g_mirror_get_diskname(disk),
sys/geom/mirror/g_mirror.c
2855
g_mirror_disk_state2str(disk->d_state)));
sys/geom/mirror/g_mirror.c
2858
KASSERT(disk->d_state == G_MIRROR_DISK_STATE_NEW,
sys/geom/mirror/g_mirror.c
2860
g_mirror_get_diskname(disk),
sys/geom/mirror/g_mirror.c
2861
g_mirror_disk_state2str(disk->d_state)));
sys/geom/mirror/g_mirror.c
2873
g_mirror_get_diskname(disk),
sys/geom/mirror/g_mirror.c
2874
g_mirror_disk_state2str(disk->d_state)));
sys/geom/mirror/g_mirror.c
2879
sc->sc_name, g_mirror_get_diskname(disk));
sys/geom/mirror/g_mirror.c
2881
g_mirror_destroy_disk(disk);
sys/geom/mirror/g_mirror.c
2887
error = g_mirror_clear_metadata(disk);
sys/geom/mirror/g_mirror.c
2891
sc->sc_name, g_mirror_get_diskname(disk), error);
sys/geom/mirror/g_mirror.c
2896
sc->sc_name, g_mirror_get_diskname(disk));
sys/geom/mirror/g_mirror.c
2898
g_mirror_destroy_disk(disk);
sys/geom/mirror/g_mirror.c
290
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
2900
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror.c
2901
g_mirror_update_metadata(disk);
sys/geom/mirror/g_mirror.c
293
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror.c
294
if (state == -1 || disk->d_state == state)
sys/geom/mirror/g_mirror.c
3018
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
3042
disk = g_mirror_init_disk(sc, pp, md, &error);
sys/geom/mirror/g_mirror.c
3043
if (disk == NULL)
sys/geom/mirror/g_mirror.c
3045
error = g_mirror_event_send(disk, G_MIRROR_DISK_STATE_NEW,
sys/geom/mirror/g_mirror.c
3052
g_mirror_update_metadata(disk);
sys/geom/mirror/g_mirror.c
306
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
310
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror.c
311
if (disk->d_id == id)
sys/geom/mirror/g_mirror.c
312
return (disk);
sys/geom/mirror/g_mirror.c
3222
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
3238
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror.c
3239
if (disk->d_state ==
sys/geom/mirror/g_mirror.c
3241
g_mirror_sync_stop(disk, 1);
sys/geom/mirror/g_mirror.c
3385
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
3390
disk = cp->private;
sys/geom/mirror/g_mirror.c
3391
if (disk == NULL)
sys/geom/mirror/g_mirror.c
3394
g_mirror_update_metadata(disk);
sys/geom/mirror/g_mirror.c
3433
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
3435
disk = cp->private;
sys/geom/mirror/g_mirror.c
3436
if (disk == NULL)
sys/geom/mirror/g_mirror.c
3438
sbuf_printf(sb, "%s<ID>%u</ID>\n", indent, (u_int)disk->d_id);
sys/geom/mirror/g_mirror.c
3439
if (disk->d_state == G_MIRROR_DISK_STATE_SYNCHRONIZING) {
sys/geom/mirror/g_mirror.c
3441
if (disk->d_sync.ds_offset == 0)
sys/geom/mirror/g_mirror.c
3445
(u_int)((disk->d_sync.ds_offset * 100) /
sys/geom/mirror/g_mirror.c
3448
if (disk->d_sync.ds_offset > 0)
sys/geom/mirror/g_mirror.c
3451
(intmax_t)disk->d_sync.ds_offset);
sys/geom/mirror/g_mirror.c
3454
disk->d_sync.ds_syncid);
sys/geom/mirror/g_mirror.c
3456
disk->d_genid);
sys/geom/mirror/g_mirror.c
3458
if (disk->d_flags == 0)
sys/geom/mirror/g_mirror.c
3464
if ((disk->d_flags & (flag)) != 0) { \
sys/geom/mirror/g_mirror.c
3483
disk->d_priority);
sys/geom/mirror/g_mirror.c
3485
g_mirror_disk_state2str(disk->d_state));
sys/geom/mirror/g_mirror.c
404
g_mirror_connect_disk(struct g_mirror_disk *disk, struct g_provider *pp)
sys/geom/mirror/g_mirror.c
410
KASSERT(disk->d_consumer == NULL,
sys/geom/mirror/g_mirror.c
411
("Disk already connected (device %s).", disk->d_softc->sc_name));
sys/geom/mirror/g_mirror.c
414
cp = g_new_consumer(disk->d_softc->sc_geom);
sys/geom/mirror/g_mirror.c
432
disk->d_consumer = cp;
sys/geom/mirror/g_mirror.c
433
disk->d_consumer->private = disk;
sys/geom/mirror/g_mirror.c
434
disk->d_consumer->index = 0;
sys/geom/mirror/g_mirror.c
436
G_MIRROR_DEBUG(2, "Disk %s connected.", g_mirror_get_diskname(disk));
sys/geom/mirror/g_mirror.c
462
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
465
disk = malloc(sizeof(*disk), M_MIRROR, M_NOWAIT | M_ZERO);
sys/geom/mirror/g_mirror.c
466
if (disk == NULL) {
sys/geom/mirror/g_mirror.c
470
disk->d_softc = sc;
sys/geom/mirror/g_mirror.c
471
error = g_mirror_connect_disk(disk, pp);
sys/geom/mirror/g_mirror.c
474
disk->d_id = md->md_did;
sys/geom/mirror/g_mirror.c
475
disk->d_state = G_MIRROR_DISK_STATE_NONE;
sys/geom/mirror/g_mirror.c
476
disk->d_priority = md->md_priority;
sys/geom/mirror/g_mirror.c
477
disk->d_flags = md->md_dflags;
sys/geom/mirror/g_mirror.c
478
error = g_getattr("GEOM::candelete", disk->d_consumer, &i);
sys/geom/mirror/g_mirror.c
480
disk->d_flags |= G_MIRROR_DISK_FLAG_CANDELETE;
sys/geom/mirror/g_mirror.c
481
error = g_getattr("GEOM::rotation_rate", disk->d_consumer,
sys/geom/mirror/g_mirror.c
482
&disk->d_rotation_rate);
sys/geom/mirror/g_mirror.c
484
disk->d_rotation_rate = DISK_RR_UNKNOWN;
sys/geom/mirror/g_mirror.c
486
disk->d_flags |= G_MIRROR_DISK_FLAG_HARDCODED;
sys/geom/mirror/g_mirror.c
487
disk->d_sync.ds_consumer = NULL;
sys/geom/mirror/g_mirror.c
488
disk->d_sync.ds_offset = md->md_sync_offset;
sys/geom/mirror/g_mirror.c
489
disk->d_sync.ds_offset_done = md->md_sync_offset;
sys/geom/mirror/g_mirror.c
490
disk->d_sync.ds_update_ts = time_uptime;
sys/geom/mirror/g_mirror.c
491
disk->d_genid = md->md_genid;
sys/geom/mirror/g_mirror.c
492
disk->d_sync.ds_syncid = md->md_syncid;
sys/geom/mirror/g_mirror.c
493
disk->d_init_ndisks = md->md_all;
sys/geom/mirror/g_mirror.c
494
disk->d_init_slice = md->md_slice;
sys/geom/mirror/g_mirror.c
495
disk->d_init_balance = md->md_balance;
sys/geom/mirror/g_mirror.c
496
disk->d_init_mediasize = md->md_mediasize;
sys/geom/mirror/g_mirror.c
499
return (disk);
sys/geom/mirror/g_mirror.c
503
if (disk != NULL)
sys/geom/mirror/g_mirror.c
504
free(disk, M_MIRROR);
sys/geom/mirror/g_mirror.c
509
g_mirror_destroy_disk(struct g_mirror_disk *disk)
sys/geom/mirror/g_mirror.c
514
sc = disk->d_softc;
sys/geom/mirror/g_mirror.c
518
LIST_REMOVE(disk, d_next);
sys/geom/mirror/g_mirror.c
520
g_mirror_event_cancel(disk);
sys/geom/mirror/g_mirror.c
521
if (sc->sc_hint == disk)
sys/geom/mirror/g_mirror.c
523
switch (disk->d_state) {
sys/geom/mirror/g_mirror.c
525
g_mirror_sync_stop(disk, 1);
sys/geom/mirror/g_mirror.c
531
g_mirror_disconnect_consumer(sc, disk->d_consumer);
sys/geom/mirror/g_mirror.c
533
free(disk, M_MIRROR);
sys/geom/mirror/g_mirror.c
537
g_mirror_get_diskname(disk),
sys/geom/mirror/g_mirror.c
538
g_mirror_disk_state2str(disk->d_state)));
sys/geom/mirror/g_mirror.c
567
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
578
for (disk = LIST_FIRST(&sc->sc_disks); disk != NULL;
sys/geom/mirror/g_mirror.c
579
disk = LIST_FIRST(&sc->sc_disks)) {
sys/geom/mirror/g_mirror.c
580
disk->d_flags &= ~G_MIRROR_DISK_FLAG_DIRTY;
sys/geom/mirror/g_mirror.c
581
g_mirror_update_metadata(disk);
sys/geom/mirror/g_mirror.c
582
g_mirror_destroy_disk(disk);
sys/geom/mirror/g_mirror.c
615
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
619
disk = cp->private;
sys/geom/mirror/g_mirror.c
620
if (disk == NULL)
sys/geom/mirror/g_mirror.c
622
disk->d_softc->sc_bump_id |= G_MIRROR_BUMP_SYNCID;
sys/geom/mirror/g_mirror.c
623
g_mirror_event_send(disk, G_MIRROR_DISK_STATE_DISCONNECTED,
sys/geom/mirror/g_mirror.c
633
g_mirror_find_next(struct g_mirror_softc *sc, struct g_mirror_disk *disk)
sys/geom/mirror/g_mirror.c
637
for (dp = LIST_NEXT(disk, d_next); dp != disk;
sys/geom/mirror/g_mirror.c
652
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
659
disk = sc->sc_hint;
sys/geom/mirror/g_mirror.c
660
if (disk->d_state != G_MIRROR_DISK_STATE_ACTIVE) {
sys/geom/mirror/g_mirror.c
661
disk = g_mirror_find_next(sc, disk);
sys/geom/mirror/g_mirror.c
662
if (disk == NULL)
sys/geom/mirror/g_mirror.c
665
sc->sc_hint = g_mirror_find_next(sc, disk);
sys/geom/mirror/g_mirror.c
666
return (disk);
sys/geom/mirror/g_mirror.c
670
g_mirror_write_metadata(struct g_mirror_disk *disk,
sys/geom/mirror/g_mirror.c
680
sc = disk->d_softc;
sys/geom/mirror/g_mirror.c
683
cp = disk->d_consumer;
sys/geom/mirror/g_mirror.c
707
if ((disk->d_flags & G_MIRROR_DISK_FLAG_BROKEN) == 0) {
sys/geom/mirror/g_mirror.c
708
disk->d_flags |= G_MIRROR_DISK_FLAG_BROKEN;
sys/geom/mirror/g_mirror.c
711
g_mirror_get_diskname(disk), sc->sc_name, error);
sys/geom/mirror/g_mirror.c
715
g_mirror_get_diskname(disk), sc->sc_name, error);
sys/geom/mirror/g_mirror.c
720
g_mirror_event_send(disk,
sys/geom/mirror/g_mirror.c
729
g_mirror_clear_metadata(struct g_mirror_disk *disk)
sys/geom/mirror/g_mirror.c
734
sx_assert(&disk->d_softc->sc_lock, SX_LOCKED);
sys/geom/mirror/g_mirror.c
736
if (disk->d_softc->sc_type != G_MIRROR_TYPE_AUTOMATIC)
sys/geom/mirror/g_mirror.c
738
error = g_mirror_write_metadata(disk, NULL);
sys/geom/mirror/g_mirror.c
741
g_mirror_get_diskname(disk));
sys/geom/mirror/g_mirror.c
745
g_mirror_get_diskname(disk), error);
sys/geom/mirror/g_mirror.c
751
g_mirror_fill_metadata(struct g_mirror_softc *sc, struct g_mirror_disk *disk,
sys/geom/mirror/g_mirror.c
767
if (disk == NULL) {
sys/geom/mirror/g_mirror.c
770
md->md_did = disk->d_id;
sys/geom/mirror/g_mirror.c
771
md->md_priority = disk->d_priority;
sys/geom/mirror/g_mirror.c
772
md->md_syncid = disk->d_sync.ds_syncid;
sys/geom/mirror/g_mirror.c
773
md->md_dflags = (disk->d_flags & G_MIRROR_DISK_FLAG_MASK);
sys/geom/mirror/g_mirror.c
774
if (disk->d_state == G_MIRROR_DISK_STATE_SYNCHRONIZING)
sys/geom/mirror/g_mirror.c
775
md->md_sync_offset = disk->d_sync.ds_offset_done;
sys/geom/mirror/g_mirror.c
776
if ((disk->d_flags & G_MIRROR_DISK_FLAG_HARDCODED) != 0) {
sys/geom/mirror/g_mirror.c
778
disk->d_consumer->provider->name,
sys/geom/mirror/g_mirror.c
781
md->md_provsize = disk->d_consumer->provider->mediasize;
sys/geom/mirror/g_mirror.c
786
g_mirror_update_metadata(struct g_mirror_disk *disk)
sys/geom/mirror/g_mirror.c
793
sc = disk->d_softc;
sys/geom/mirror/g_mirror.c
799
g_mirror_fill_metadata(sc, disk, &md);
sys/geom/mirror/g_mirror.c
800
error = g_mirror_write_metadata(disk, &md);
sys/geom/mirror/g_mirror.c
803
g_mirror_get_diskname(disk));
sys/geom/mirror/g_mirror.c
807
g_mirror_get_diskname(disk), error);
sys/geom/mirror/g_mirror.c
814
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
825
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror.c
826
if (disk->d_state == G_MIRROR_DISK_STATE_ACTIVE ||
sys/geom/mirror/g_mirror.c
827
disk->d_state == G_MIRROR_DISK_STATE_SYNCHRONIZING) {
sys/geom/mirror/g_mirror.c
828
disk->d_sync.ds_syncid = sc->sc_syncid;
sys/geom/mirror/g_mirror.c
829
g_mirror_update_metadata(disk);
sys/geom/mirror/g_mirror.c
837
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
848
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror.c
849
if (disk->d_state == G_MIRROR_DISK_STATE_ACTIVE ||
sys/geom/mirror/g_mirror.c
850
disk->d_state == G_MIRROR_DISK_STATE_SYNCHRONIZING) {
sys/geom/mirror/g_mirror.c
851
disk->d_genid = sc->sc_genid;
sys/geom/mirror/g_mirror.c
852
g_mirror_update_metadata(disk);
sys/geom/mirror/g_mirror.c
860
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
880
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror.c
881
if (disk->d_state != G_MIRROR_DISK_STATE_ACTIVE)
sys/geom/mirror/g_mirror.c
884
g_mirror_get_diskname(disk), sc->sc_name);
sys/geom/mirror/g_mirror.c
885
disk->d_flags &= ~G_MIRROR_DISK_FLAG_DIRTY;
sys/geom/mirror/g_mirror.c
886
g_mirror_update_metadata(disk);
sys/geom/mirror/g_mirror.c
894
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
903
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror.c
904
if (disk->d_state != G_MIRROR_DISK_STATE_ACTIVE)
sys/geom/mirror/g_mirror.c
907
g_mirror_get_diskname(disk), sc->sc_name);
sys/geom/mirror/g_mirror.c
908
disk->d_flags |= G_MIRROR_DISK_FLAG_DIRTY;
sys/geom/mirror/g_mirror.c
909
g_mirror_update_metadata(disk);
sys/geom/mirror/g_mirror.c
928
struct g_mirror_disk *disk, struct bio *bp)
sys/geom/mirror/g_mirror.c
935
if ((disk->d_flags & G_MIRROR_DISK_FLAG_BROKEN) == 0) {
sys/geom/mirror/g_mirror.c
936
disk->d_flags |= G_MIRROR_DISK_FLAG_BROKEN;
sys/geom/mirror/g_mirror.c
952
g_mirror_event_send(disk, G_MIRROR_DISK_STATE_DISCONNECTED,
sys/geom/mirror/g_mirror.c
960
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror.c
971
disk = bp->bio_from->private;
sys/geom/mirror/g_mirror.c
972
if (disk == NULL) {
sys/geom/mirror/g_mirror.h
234
struct g_mirror_disk *disk, struct g_mirror_metadata *md);
sys/geom/mirror/g_mirror.h
235
void g_mirror_update_metadata(struct g_mirror_disk *disk);
sys/geom/mirror/g_mirror_ctl.c
1024
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror_ctl.c
1025
g_mirror_update_metadata(disk);
sys/geom/mirror/g_mirror_ctl.c
128
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror_ctl.c
133
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror_ctl.c
134
if (disk->d_consumer == NULL)
sys/geom/mirror/g_mirror_ctl.c
136
if (disk->d_consumer->provider == NULL)
sys/geom/mirror/g_mirror_ctl.c
138
if (strcmp(disk->d_consumer->provider->name, name) == 0)
sys/geom/mirror/g_mirror_ctl.c
139
return (disk);
sys/geom/mirror/g_mirror_ctl.c
148
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror_ctl.c
314
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror_ctl.c
321
if (strcmp(disk->d_name, prov) == 0) {
sys/geom/mirror/g_mirror_ctl.c
322
if (disk->d_priority == *priority)
sys/geom/mirror/g_mirror_ctl.c
325
disk->d_priority = *priority;
sys/geom/mirror/g_mirror_ctl.c
326
g_mirror_update_metadata(disk);
sys/geom/mirror/g_mirror_ctl.c
333
if (disk->d_state == G_MIRROR_DISK_STATE_SYNCHRONIZING)
sys/geom/mirror/g_mirror_ctl.c
334
disk->d_flags &= ~G_MIRROR_DISK_FLAG_FORCE_SYNC;
sys/geom/mirror/g_mirror_ctl.c
337
disk->d_flags |= G_MIRROR_DISK_FLAG_HARDCODED;
sys/geom/mirror/g_mirror_ctl.c
339
disk->d_flags &= ~G_MIRROR_DISK_FLAG_HARDCODED;
sys/geom/mirror/g_mirror_ctl.c
341
disk->d_flags &= ~G_MIRROR_DISK_FLAG_DIRTY;
sys/geom/mirror/g_mirror_ctl.c
342
g_mirror_update_metadata(disk);
sys/geom/mirror/g_mirror_ctl.c
344
if (disk->d_state == G_MIRROR_DISK_STATE_STALE) {
sys/geom/mirror/g_mirror_ctl.c
345
g_mirror_event_send(disk,
sys/geom/mirror/g_mirror_ctl.c
528
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror_ctl.c
561
disk = g_mirror_find_disk(sc, name);
sys/geom/mirror/g_mirror_ctl.c
562
if (disk == NULL) {
sys/geom/mirror/g_mirror_ctl.c
567
disk->d_state == G_MIRROR_DISK_STATE_ACTIVE) {
sys/geom/mirror/g_mirror_ctl.c
581
disk->d_sync.ds_syncid = 0;
sys/geom/mirror/g_mirror_ctl.c
583
disk->d_flags |= G_MIRROR_DISK_FLAG_FORCE_SYNC;
sys/geom/mirror/g_mirror_ctl.c
584
g_mirror_update_metadata(disk);
sys/geom/mirror/g_mirror_ctl.c
585
pp = disk->d_consumer->provider;
sys/geom/mirror/g_mirror_ctl.c
587
error = g_mirror_read_metadata(disk->d_consumer, &md);
sys/geom/mirror/g_mirror_ctl.c
589
g_mirror_event_send(disk, G_MIRROR_DISK_STATE_DISCONNECTED,
sys/geom/mirror/g_mirror_ctl.c
610
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror_ctl.c
771
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror_ctl.c
772
g_mirror_update_metadata(disk);
sys/geom/mirror/g_mirror_ctl.c
794
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror_ctl.c
833
disk = g_mirror_find_disk(sc, name);
sys/geom/mirror/g_mirror_ctl.c
834
if (disk == NULL) {
sys/geom/mirror/g_mirror_ctl.c
838
if (disk->d_state == G_MIRROR_DISK_STATE_ACTIVE) {
sys/geom/mirror/g_mirror_ctl.c
848
g_mirror_event_send(disk, G_MIRROR_DISK_STATE_DESTROY,
sys/geom/mirror/g_mirror_ctl.c
858
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror_ctl.c
902
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror_ctl.c
903
if (mediasize > disk->d_consumer->provider->mediasize -
sys/geom/mirror/g_mirror_ctl.c
904
disk->d_consumer->provider->sectorsize) {
sys/geom/mirror/g_mirror_ctl.c
906
disk->d_name);
sys/geom/mirror/g_mirror_ctl.c
913
LIST_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/mirror/g_mirror_ctl.c
914
g_mirror_update_metadata(disk);
sys/geom/mirror/g_mirror_ctl.c
926
struct g_mirror_disk *disk;
sys/geom/mirror/g_mirror_ctl.c
959
disk = g_mirror_find_disk(sc, name);
sys/geom/mirror/g_mirror_ctl.c
960
if (disk == NULL) {
sys/geom/mirror/g_mirror_ctl.c
964
if (disk->d_state == G_MIRROR_DISK_STATE_ACTIVE) {
sys/geom/mirror/g_mirror_ctl.c
974
disk->d_flags |= G_MIRROR_DISK_FLAG_INACTIVE;
sys/geom/mirror/g_mirror_ctl.c
975
disk->d_flags &= ~G_MIRROR_DISK_FLAG_FORCE_SYNC;
sys/geom/mirror/g_mirror_ctl.c
976
g_mirror_update_metadata(disk);
sys/geom/mirror/g_mirror_ctl.c
978
g_mirror_event_send(disk, G_MIRROR_DISK_STATE_DISCONNECTED,
sys/geom/mirror/g_mirror_ctl.c
988
struct g_mirror_disk *disk;
sys/geom/part/g_part_ldm.c
1345
struct ldm_disk *disk;
sys/geom/part/g_part_ldm.c
1398
LIST_FOREACH(disk, &db.disks, entry)
sys/geom/part/g_part_ldm.c
1399
if (memcmp(&disk->guid, &db.ph.disk_guid,
sys/geom/part/g_part_ldm.c
1402
if (disk == NULL) {
sys/geom/part/g_part_ldm.c
1413
if (part->disk_id != disk->id)
sys/geom/part/g_part_ldm.c
275
struct ldm_disk disk;
sys/geom/part/g_part_ldm.c
863
error = parse_uuid(vstr, &blk->u.disk.guid);
sys/geom/part/g_part_ldm.c
866
LIST_INSERT_HEAD(&db->disks, &blk->u.disk, entry);
sys/geom/part/g_part_ldm.c
898
be_uuid_dec(p + offset, &blk->u.disk.guid);
sys/geom/part/g_part_ldm.c
899
LIST_INSERT_HEAD(&db->disks, &blk->u.disk, entry);
sys/geom/part/g_part_ldm.c
911
be_uuid_dec(p + offset, &blk->u.disk.guid);
sys/geom/raid/g_raid.c
126
static int g_raid_update_disk(struct g_raid_disk *disk, u_int event);
sys/geom/raid/g_raid.c
1351
struct g_raid_disk *disk, *tdisk;
sys/geom/raid/g_raid.c
1369
disk = sd->sd_disk;
sys/geom/raid/g_raid.c
1370
if (disk->d_state != G_RAID_DISK_S_ACTIVE &&
sys/geom/raid/g_raid.c
1371
disk->d_state != G_RAID_DISK_S_FAILED) {
sys/geom/raid/g_raid.c
1373
"wrong state (%s)!", g_raid_disk_state2str(disk->d_state));
sys/geom/raid/g_raid.c
1377
cp = disk->d_consumer;
sys/geom/raid/g_raid.c
1391
disk->d_last_offset = bp->bio_offset + bp->bio_length;
sys/geom/raid/g_raid.c
1440
struct g_raid_disk *disk;
sys/geom/raid/g_raid.c
1452
disk = bp->bio_from->private;
sys/geom/raid/g_raid.c
1453
if (disk == NULL)
sys/geom/raid/g_raid.c
1615
struct g_raid_disk *disk;
sys/geom/raid/g_raid.c
1657
if ((disk = vol->v_subdisks[0].sd_disk) != NULL &&
sys/geom/raid/g_raid.c
1658
disk->d_consumer != NULL &&
sys/geom/raid/g_raid.c
1659
disk->d_consumer->provider != NULL) {
sys/geom/raid/g_raid.c
1660
pp->stripesize = disk->d_consumer->provider->stripesize;
sys/geom/raid/g_raid.c
1661
off = disk->d_consumer->provider->stripeoffset;
sys/geom/raid/g_raid.c
1780
g_raid_update_disk(struct g_raid_disk *disk, u_int event)
sys/geom/raid/g_raid.c
1784
sc = disk->d_softc;
sys/geom/raid/g_raid.c
1789
g_raid_get_diskname(disk));
sys/geom/raid/g_raid.c
1792
G_RAID_MD_EVENT(sc->sc_md, disk, event);
sys/geom/raid/g_raid.c
1967
struct g_raid_disk *disk;
sys/geom/raid/g_raid.c
1970
disk = malloc(sizeof(*disk), M_RAID, M_WAITOK | M_ZERO);
sys/geom/raid/g_raid.c
1971
disk->d_softc = sc;
sys/geom/raid/g_raid.c
1972
disk->d_state = G_RAID_DISK_S_NONE;
sys/geom/raid/g_raid.c
1973
TAILQ_INIT(&disk->d_subdisks);
sys/geom/raid/g_raid.c
1974
TAILQ_INSERT_TAIL(&sc->sc_disks, disk, d_next);
sys/geom/raid/g_raid.c
1975
return (disk);
sys/geom/raid/g_raid.c
2021
struct g_raid_disk *disk, *tmpd;
sys/geom/raid/g_raid.c
2031
TAILQ_FOREACH_SAFE(disk, &sc->sc_disks, d_next, tmpd) {
sys/geom/raid/g_raid.c
2032
if (g_raid_destroy_disk(disk))
sys/geom/raid/g_raid.c
2072
struct g_raid_disk *disk;
sys/geom/raid/g_raid.c
2104
disk = vol->v_subdisks[i].sd_disk;
sys/geom/raid/g_raid.c
2105
if (disk == NULL)
sys/geom/raid/g_raid.c
2107
TAILQ_REMOVE(&disk->d_subdisks, &vol->v_subdisks[i], sd_next);
sys/geom/raid/g_raid.c
2122
g_raid_destroy_disk(struct g_raid_disk *disk)
sys/geom/raid/g_raid.c
2127
sc = disk->d_softc;
sys/geom/raid/g_raid.c
2129
if (disk->d_consumer) {
sys/geom/raid/g_raid.c
2130
g_raid_kill_consumer(sc, disk->d_consumer);
sys/geom/raid/g_raid.c
2131
disk->d_consumer = NULL;
sys/geom/raid/g_raid.c
2133
TAILQ_FOREACH_SAFE(sd, &disk->d_subdisks, sd_next, tmp) {
sys/geom/raid/g_raid.c
2137
TAILQ_REMOVE(&disk->d_subdisks, sd, sd_next);
sys/geom/raid/g_raid.c
2140
TAILQ_REMOVE(&sc->sc_disks, disk, d_next);
sys/geom/raid/g_raid.c
2142
G_RAID_MD_FREE_DISK(sc->sc_md, disk);
sys/geom/raid/g_raid.c
2143
g_raid_event_cancel(sc, disk);
sys/geom/raid/g_raid.c
2144
free(disk, M_RAID);
sys/geom/raid/g_raid.c
2299
struct g_raid_subdisk *sd, struct g_raid_disk *disk)
sys/geom/raid/g_raid.c
2305
G_RAID_MD_WRITE(sc->sc_md, vol, sd, disk);
sys/geom/raid/g_raid.c
2309
struct g_raid_subdisk *sd, struct g_raid_disk *disk)
sys/geom/raid/g_raid.c
2312
if (disk == NULL)
sys/geom/raid/g_raid.c
2313
disk = sd->sd_disk;
sys/geom/raid/g_raid.c
2314
if (disk == NULL) {
sys/geom/raid/g_raid.c
2318
if (disk->d_state != G_RAID_DISK_S_ACTIVE) {
sys/geom/raid/g_raid.c
2320
"wrong state (%s)!", g_raid_disk_state2str(disk->d_state));
sys/geom/raid/g_raid.c
2324
G_RAID_MD_FAIL_DISK(sc->sc_md, sd, disk);
sys/geom/raid/g_raid.c
2334
struct g_raid_disk *disk;
sys/geom/raid/g_raid.c
2392
disk = cp->private;
sys/geom/raid/g_raid.c
2393
if (disk == NULL)
sys/geom/raid/g_raid.c
2398
g_raid_disk_state2str(disk->d_state));
sys/geom/raid/g_raid.c
2399
if (!TAILQ_EMPTY(&disk->d_subdisks)) {
sys/geom/raid/g_raid.c
2401
TAILQ_FOREACH(sd, &disk->d_subdisks, sd_next) {
sys/geom/raid/g_raid.c
2417
TAILQ_FOREACH(sd, &disk->d_subdisks, sd_next) {
sys/geom/raid/g_raid.c
2427
disk->d_read_errs);
sys/geom/raid/g_raid.c
489
g_raid_get_diskname(struct g_raid_disk *disk)
sys/geom/raid/g_raid.c
492
if (disk->d_consumer == NULL || disk->d_consumer->provider == NULL)
sys/geom/raid/g_raid.c
494
return (disk->d_consumer->provider->name);
sys/geom/raid/g_raid.c
498
g_raid_get_disk_info(struct g_raid_disk *disk)
sys/geom/raid/g_raid.c
500
struct g_consumer *cp = disk->d_consumer;
sys/geom/raid/g_raid.c
504
disk->d_kd.offset = 0;
sys/geom/raid/g_raid.c
505
disk->d_kd.length = OFF_MAX;
sys/geom/raid/g_raid.c
506
len = sizeof(disk->d_kd);
sys/geom/raid/g_raid.c
507
error = g_io_getattr("GEOM::kerneldump", cp, &len, &disk->d_kd);
sys/geom/raid/g_raid.c
509
disk->d_kd.di.dumper = NULL;
sys/geom/raid/g_raid.c
510
if (disk->d_kd.di.dumper == NULL)
sys/geom/raid/g_raid.c
511
G_RAID_DEBUG1(2, disk->d_softc,
sys/geom/raid/g_raid.c
516
error = g_getattr("GEOM::candelete", cp, &disk->d_candelete);
sys/geom/raid/g_raid.c
518
disk->d_candelete = 0;
sys/geom/raid/g_raid.c
519
if (!disk->d_candelete)
sys/geom/raid/g_raid.c
520
G_RAID_DEBUG1(2, disk->d_softc,
sys/geom/raid/g_raid.c
526
g_raid_report_disk_state(struct g_raid_disk *disk)
sys/geom/raid/g_raid.c
532
if (disk->d_consumer == NULL)
sys/geom/raid/g_raid.c
534
if (disk->d_state == G_RAID_DISK_S_DISABLED) {
sys/geom/raid/g_raid.c
536
} else if (disk->d_state == G_RAID_DISK_S_FAILED ||
sys/geom/raid/g_raid.c
537
disk->d_state == G_RAID_DISK_S_STALE_FAILED) {
sys/geom/raid/g_raid.c
541
TAILQ_FOREACH(sd, &disk->d_subdisks, sd_next) {
sys/geom/raid/g_raid.c
557
g_io_getattr("GEOM::setstate", disk->d_consumer, &len, &s);
sys/geom/raid/g_raid.c
558
G_RAID_DEBUG1(2, disk->d_softc, "Disk %s state reported as %d.",
sys/geom/raid/g_raid.c
559
g_raid_get_diskname(disk), s);
sys/geom/raid/g_raid.c
563
g_raid_change_disk_state(struct g_raid_disk *disk, int state)
sys/geom/raid/g_raid.c
566
G_RAID_DEBUG1(0, disk->d_softc, "Disk %s state changed from %s to %s.",
sys/geom/raid/g_raid.c
567
g_raid_get_diskname(disk),
sys/geom/raid/g_raid.c
568
g_raid_disk_state2str(disk->d_state),
sys/geom/raid/g_raid.c
570
disk->d_state = state;
sys/geom/raid/g_raid.c
571
g_raid_report_disk_state(disk);
sys/geom/raid/g_raid.c
708
struct g_raid_disk *disk;
sys/geom/raid/g_raid.c
714
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/g_raid.c
715
if (disk->d_state == state || state == -1)
sys/geom/raid/g_raid.c
899
struct g_raid_disk *disk;
sys/geom/raid/g_raid.c
903
disk = cp->private;
sys/geom/raid/g_raid.c
904
if (disk == NULL)
sys/geom/raid/g_raid.c
906
g_raid_event_send(disk, G_RAID_DISK_E_DISCONNECTED,
sys/geom/raid/g_raid.h
396
const char * g_raid_get_diskname(struct g_raid_disk *disk);
sys/geom/raid/g_raid.h
397
void g_raid_get_disk_info(struct g_raid_disk *disk);
sys/geom/raid/g_raid.h
403
int g_raid_destroy_disk(struct g_raid_disk *disk);
sys/geom/raid/g_raid.h
414
void g_raid_report_disk_state(struct g_raid_disk *disk);
sys/geom/raid/g_raid.h
415
void g_raid_change_disk_state(struct g_raid_disk *disk, int state);
sys/geom/raid/g_raid.h
420
struct g_raid_subdisk *sd, struct g_raid_disk *disk);
sys/geom/raid/g_raid.h
422
struct g_raid_subdisk *sd, struct g_raid_disk *disk);
sys/geom/raid/md_ddf.c
1405
struct g_raid_disk *disk;
sys/geom/raid/md_ddf.c
1409
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_ddf.c
1410
pd = (struct g_raid_md_ddf_perdisk *)disk->d_md_data;
sys/geom/raid/md_ddf.c
1420
return (disk);
sys/geom/raid/md_ddf.c
1449
struct g_raid_disk *disk, *tdisk;
sys/geom/raid/md_ddf.c
1455
TAILQ_FOREACH_SAFE(disk, &sc->sc_disks, d_next, tdisk) {
sys/geom/raid/md_ddf.c
1456
if (disk->d_state == G_RAID_DISK_S_SPARE)
sys/geom/raid/md_ddf.c
1458
pd = (struct g_raid_md_ddf_perdisk *)disk->d_md_data;
sys/geom/raid/md_ddf.c
1478
ddf_meta_erase(disk->d_consumer);
sys/geom/raid/md_ddf.c
1479
g_raid_destroy_disk(disk);
sys/geom/raid/md_ddf.c
1609
g_raid_md_ddf_start_disk(struct g_raid_disk *disk, struct g_raid_volume *vol)
sys/geom/raid/md_ddf.c
1626
sc = disk->d_softc;
sys/geom/raid/md_ddf.c
1628
pd = (struct g_raid_md_ddf_perdisk *)disk->d_md_data;
sys/geom/raid/md_ddf.c
1644
g_raid_get_diskname(disk), vol->v_name);
sys/geom/raid/md_ddf.c
1648
g_raid_change_disk_state(disk, G_RAID_DISK_S_STALE_FAILED);
sys/geom/raid/md_ddf.c
1666
g_raid_get_diskname(disk));
sys/geom/raid/md_ddf.c
1672
g_raid_get_diskname(disk));
sys/geom/raid/md_ddf.c
1692
g_raid_get_diskname(disk), esize, size);
sys/geom/raid/md_ddf.c
1702
if (disk->d_state == G_RAID_DISK_S_NONE)
sys/geom/raid/md_ddf.c
1703
g_raid_change_disk_state(disk,
sys/geom/raid/md_ddf.c
1725
g_raid_get_diskname(disk), disk_pos, vol->v_name);
sys/geom/raid/md_ddf.c
1737
vol->v_subdisks[disk_pos].sd_disk = disk;
sys/geom/raid/md_ddf.c
1738
TAILQ_INSERT_TAIL(&disk->d_subdisks, sd, sd_next);
sys/geom/raid/md_ddf.c
1742
g_raid_change_disk_state(disk, G_RAID_DISK_S_ACTIVE);
sys/geom/raid/md_ddf.c
1744
g_raid_change_disk_state(disk, G_RAID_DISK_S_FAILED);
sys/geom/raid/md_ddf.c
1746
g_raid_change_disk_state(disk, G_RAID_DISK_S_ACTIVE);
sys/geom/raid/md_ddf.c
1794
struct g_raid_disk *disk;
sys/geom/raid/md_ddf.c
1822
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_ddf.c
1824
if (disk->d_state < G_RAID_DISK_S_SPARE)
sys/geom/raid/md_ddf.c
1829
if (sd->sd_disk == disk)
sys/geom/raid/md_ddf.c
1836
pd = disk->d_md_data;
sys/geom/raid/md_ddf.c
1839
update = g_raid_md_ddf_start_disk(disk, vol);
sys/geom/raid/md_ddf.c
1844
g_raid_md_write_ddf(md, vol, NULL, disk);
sys/geom/raid/md_ddf.c
1858
struct g_raid_disk *disk;
sys/geom/raid/md_ddf.c
1914
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_ddf.c
1915
pd = (struct g_raid_md_ddf_perdisk *)disk->d_md_data;
sys/geom/raid/md_ddf.c
1917
g_raid_md_ddf_start_disk(disk, vol);
sys/geom/raid/md_ddf.c
1950
g_raid_md_ddf_new_disk(struct g_raid_disk *disk)
sys/geom/raid/md_ddf.c
1966
sc = disk->d_softc;
sys/geom/raid/md_ddf.c
1969
pd = (struct g_raid_md_ddf_perdisk *)disk->d_md_data;
sys/geom/raid/md_ddf.c
2016
g_raid_change_disk_state(disk, G_RAID_DISK_S_SPARE);
sys/geom/raid/md_ddf.c
2028
if (g_raid_md_ddf_start_disk(disk, vol))
sys/geom/raid/md_ddf.c
2115
struct g_raid_disk *disk;
sys/geom/raid/md_ddf.c
2183
disk = g_raid_create_disk(sc);
sys/geom/raid/md_ddf.c
2184
disk->d_md_data = (void *)pd;
sys/geom/raid/md_ddf.c
2185
disk->d_consumer = rcp;
sys/geom/raid/md_ddf.c
2186
rcp->private = disk;
sys/geom/raid/md_ddf.c
2188
g_raid_get_disk_info(disk);
sys/geom/raid/md_ddf.c
2190
g_raid_md_ddf_new_disk(disk);
sys/geom/raid/md_ddf.c
2200
struct g_raid_disk *disk, u_int event)
sys/geom/raid/md_ddf.c
2205
if (disk == NULL)
sys/geom/raid/md_ddf.c
2210
g_raid_change_disk_state(disk, G_RAID_DISK_S_NONE);
sys/geom/raid/md_ddf.c
2211
g_raid_destroy_disk(disk);
sys/geom/raid/md_ddf.c
2250
struct g_raid_disk *disk, *disks[DDF_MAX_DISKS_HARD];
sys/geom/raid/md_ddf.c
2317
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_ddf.c
2318
if (disk->d_consumer != NULL &&
sys/geom/raid/md_ddf.c
2319
disk->d_consumer->provider != NULL &&
sys/geom/raid/md_ddf.c
2320
strcmp(disk->d_consumer->provider->name,
sys/geom/raid/md_ddf.c
2324
if (disk != NULL) {
sys/geom/raid/md_ddf.c
2325
if (disk->d_state != G_RAID_DISK_S_ACTIVE) {
sys/geom/raid/md_ddf.c
2328
g_raid_disk_state2str(disk->d_state));
sys/geom/raid/md_ddf.c
2332
pd = disk->d_md_data;
sys/geom/raid/md_ddf.c
2341
pp = disk->d_consumer->provider;
sys/geom/raid/md_ddf.c
2342
disks[i] = disk;
sys/geom/raid/md_ddf.c
2362
disk = g_raid_create_disk(sc);
sys/geom/raid/md_ddf.c
2363
disk->d_md_data = (void *)pd;
sys/geom/raid/md_ddf.c
2364
disk->d_consumer = cp;
sys/geom/raid/md_ddf.c
2365
disks[i] = disk;
sys/geom/raid/md_ddf.c
2366
cp->private = disk;
sys/geom/raid/md_ddf.c
2367
ddf_meta_create(disk, &mdi->mdio_meta);
sys/geom/raid/md_ddf.c
2374
g_raid_get_disk_info(disk);
sys/geom/raid/md_ddf.c
2485
disk = disks[i];
sys/geom/raid/md_ddf.c
2487
sd->sd_disk = disk;
sys/geom/raid/md_ddf.c
2490
if (disk == NULL)
sys/geom/raid/md_ddf.c
2492
TAILQ_INSERT_TAIL(&disk->d_subdisks, sd, sd_next);
sys/geom/raid/md_ddf.c
2493
g_raid_change_disk_state(disk,
sys/geom/raid/md_ddf.c
2532
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_ddf.c
2533
if (disk->d_consumer)
sys/geom/raid/md_ddf.c
2534
ddf_meta_erase(disk->d_consumer);
sys/geom/raid/md_ddf.c
2596
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_ddf.c
2597
if (disk->d_consumer)
sys/geom/raid/md_ddf.c
2598
ddf_meta_erase(disk->d_consumer);
sys/geom/raid/md_ddf.c
2621
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_ddf.c
2622
if (disk->d_consumer != NULL &&
sys/geom/raid/md_ddf.c
2623
disk->d_consumer->provider != NULL &&
sys/geom/raid/md_ddf.c
2624
strcmp(disk->d_consumer->provider->name,
sys/geom/raid/md_ddf.c
2628
if (disk == NULL) {
sys/geom/raid/md_ddf.c
2636
g_raid_md_fail_disk_ddf(md, NULL, disk);
sys/geom/raid/md_ddf.c
2641
ddf_meta_erase(disk->d_consumer);
sys/geom/raid/md_ddf.c
2642
g_raid_destroy_disk(disk);
sys/geom/raid/md_ddf.c
2686
disk = g_raid_create_disk(sc);
sys/geom/raid/md_ddf.c
2687
disk->d_consumer = cp;
sys/geom/raid/md_ddf.c
2688
disk->d_md_data = (void *)pd;
sys/geom/raid/md_ddf.c
2689
cp->private = disk;
sys/geom/raid/md_ddf.c
2691
g_raid_get_disk_info(disk);
sys/geom/raid/md_ddf.c
2694
g_raid_change_disk_state(disk, G_RAID_DISK_S_SPARE);
sys/geom/raid/md_ddf.c
2695
ddf_meta_create(disk, &mdi->mdio_meta);
sys/geom/raid/md_ddf.c
2727
struct g_raid_disk *disk;
sys/geom/raid/md_ddf.c
2830
disk = sd->sd_disk;
sys/geom/raid/md_ddf.c
2831
if (disk != NULL) {
sys/geom/raid/md_ddf.c
2832
pd = (struct g_raid_md_ddf_perdisk *)disk->d_md_data;
sys/geom/raid/md_ddf.c
2883
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_ddf.c
2884
pd = (struct g_raid_md_ddf_perdisk *)disk->d_md_data;
sys/geom/raid/md_ddf.c
2889
if (disk->d_state == G_RAID_DISK_S_FAILED) {
sys/geom/raid/md_ddf.c
2894
if (disk->d_state != G_RAID_DISK_S_SPARE)
sys/geom/raid/md_ddf.c
2930
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_ddf.c
2931
pd = (struct g_raid_md_ddf_perdisk *)disk->d_md_data;
sys/geom/raid/md_ddf.c
2932
if (disk->d_state != G_RAID_DISK_S_ACTIVE &&
sys/geom/raid/md_ddf.c
2933
disk->d_state != G_RAID_DISK_S_SPARE)
sys/geom/raid/md_ddf.c
2966
TAILQ_FOREACH(sd, &disk->d_subdisks, sd_next) {
sys/geom/raid/md_ddf.c
2986
g_raid_get_diskname(disk));
sys/geom/raid/md_ddf.c
2988
ddf_meta_write(disk->d_consumer, &pd->pd_meta);
sys/geom/raid/md_ddf.c
3038
struct g_raid_disk *disk)
sys/geom/raid/md_ddf.c
3042
pd = (struct g_raid_md_ddf_perdisk *)disk->d_md_data;
sys/geom/raid/md_ddf.c
3045
disk->d_md_data = NULL;
sys/geom/raid/md_ddf.c
564
ddf_meta_create(struct g_raid_disk *disk, struct ddf_meta *sample)
sys/geom/raid/md_ddf.c
580
mdi = (struct g_raid_md_ddf_object *)disk->d_softc->sc_md;
sys/geom/raid/md_ddf.c
581
pd = (struct g_raid_md_ddf_perdisk *)disk->d_md_data;
sys/geom/raid/md_ddf.c
583
ss = disk->d_consumer->provider->sectorsize;
sys/geom/raid/md_ddf.c
584
anchorlba = disk->d_consumer->provider->mediasize / ss - 1;
sys/geom/raid/md_ddf.c
708
error = g_io_getattr("GEOM::ident", disk->d_consumer, &len, serial_buffer);
sys/geom/raid/md_intel.c
1006
TAILQ_INSERT_TAIL(&disk->d_subdisks, sd, sd_next);
sys/geom/raid/md_intel.c
1007
sd->sd_disk = disk;
sys/geom/raid/md_intel.c
1019
memcpy(&meta->disk[disk_pos], &pd->pd_disk_meta,
sys/geom/raid/md_intel.c
1024
if ((meta->disk[disk_pos].flags & INTEL_F_DISABLED) &&
sys/geom/raid/md_intel.c
1026
g_raid_change_disk_state(disk, G_RAID_DISK_S_DISABLED);
sys/geom/raid/md_intel.c
1028
g_raid_change_disk_state(disk, G_RAID_DISK_S_ACTIVE);
sys/geom/raid/md_intel.c
1029
else if (meta->disk[disk_pos].flags & INTEL_F_FAILED)
sys/geom/raid/md_intel.c
1030
g_raid_change_disk_state(disk, G_RAID_DISK_S_FAILED);
sys/geom/raid/md_intel.c
1031
else if (meta->disk[disk_pos].flags & INTEL_F_SPARE)
sys/geom/raid/md_intel.c
1032
g_raid_change_disk_state(disk, G_RAID_DISK_S_SPARE);
sys/geom/raid/md_intel.c
1034
g_raid_change_disk_state(disk, G_RAID_DISK_S_ACTIVE);
sys/geom/raid/md_intel.c
1035
TAILQ_FOREACH(sd, &disk->d_subdisks, sd_next) {
sys/geom/raid/md_intel.c
1051
if ((meta->disk[disk_pos].flags & INTEL_F_DISABLED) &&
sys/geom/raid/md_intel.c
1060
} else if (meta->disk[disk_pos].flags & INTEL_F_FAILED) {
sys/geom/raid/md_intel.c
1186
struct g_raid_disk *disk;
sys/geom/raid/md_intel.c
1206
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_intel.c
1207
if (disk->d_state == G_RAID_DISK_S_STALE) {
sys/geom/raid/md_intel.c
1208
update += g_raid_md_intel_start_disk(disk);
sys/geom/raid/md_intel.c
1209
if (disk->d_state == G_RAID_DISK_S_ACTIVE ||
sys/geom/raid/md_intel.c
1210
disk->d_state == G_RAID_DISK_S_DISABLED)
sys/geom/raid/md_intel.c
1214
if (disk != NULL)
sys/geom/raid/md_intel.c
1218
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_intel.c
1219
if (disk->d_state == G_RAID_DISK_S_SPARE) {
sys/geom/raid/md_intel.c
1220
update += g_raid_md_intel_start_disk(disk);
sys/geom/raid/md_intel.c
1221
if (disk->d_state == G_RAID_DISK_S_ACTIVE)
sys/geom/raid/md_intel.c
1225
} while (disk != NULL);
sys/geom/raid/md_intel.c
1258
struct g_raid_disk *disk;
sys/geom/raid/md_intel.c
1315
pd->pd_disk_meta = meta->disk[disk_pos];
sys/geom/raid/md_intel.c
1316
disk = g_raid_create_disk(sc);
sys/geom/raid/md_intel.c
1317
disk->d_md_data = (void *)pd;
sys/geom/raid/md_intel.c
1318
disk->d_state = G_RAID_DISK_S_OFFLINE;
sys/geom/raid/md_intel.c
1330
sd->sd_disk = disk;
sys/geom/raid/md_intel.c
1331
TAILQ_INSERT_TAIL(&disk->d_subdisks, sd, sd_next);
sys/geom/raid/md_intel.c
1337
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_intel.c
1338
if (disk->d_state == G_RAID_DISK_S_NONE) {
sys/geom/raid/md_intel.c
1339
g_raid_md_intel_start_disk(disk);
sys/geom/raid/md_intel.c
1343
} while (disk != NULL);
sys/geom/raid/md_intel.c
1364
g_raid_md_intel_new_disk(struct g_raid_disk *disk)
sys/geom/raid/md_intel.c
1372
sc = disk->d_softc;
sys/geom/raid/md_intel.c
1375
pd = (struct g_raid_md_intel_perdisk *)disk->d_md_data;
sys/geom/raid/md_intel.c
1379
if (g_raid_md_intel_start_disk(disk))
sys/geom/raid/md_intel.c
1476
struct g_raid_disk *disk;
sys/geom/raid/md_intel.c
1527
if (intel_get_disk_sectors(&meta->disk[disk_pos]) !=
sys/geom/raid/md_intel.c
1530
intel_get_disk_sectors(&meta->disk[disk_pos]),
sys/geom/raid/md_intel.c
1536
spare = meta->disk[disk_pos].flags & INTEL_F_SPARE;
sys/geom/raid/md_intel.c
1606
pd->pd_disk_meta = meta->disk[disk_pos];
sys/geom/raid/md_intel.c
1608
disk = g_raid_create_disk(sc);
sys/geom/raid/md_intel.c
1609
disk->d_md_data = (void *)pd;
sys/geom/raid/md_intel.c
1610
disk->d_consumer = rcp;
sys/geom/raid/md_intel.c
1611
rcp->private = disk;
sys/geom/raid/md_intel.c
1613
g_raid_get_disk_info(disk);
sys/geom/raid/md_intel.c
1615
g_raid_md_intel_new_disk(disk);
sys/geom/raid/md_intel.c
1630
struct g_raid_disk *disk, u_int event)
sys/geom/raid/md_intel.c
1639
if (disk == NULL) {
sys/geom/raid/md_intel.c
1648
pd = (struct g_raid_md_intel_perdisk *)disk->d_md_data;
sys/geom/raid/md_intel.c
1653
g_raid_change_disk_state(disk, G_RAID_DISK_S_OFFLINE);
sys/geom/raid/md_intel.c
1654
if (disk->d_consumer) {
sys/geom/raid/md_intel.c
1655
g_raid_kill_consumer(sc, disk->d_consumer);
sys/geom/raid/md_intel.c
1656
disk->d_consumer = NULL;
sys/geom/raid/md_intel.c
1658
TAILQ_FOREACH(sd, &disk->d_subdisks, sd_next) {
sys/geom/raid/md_intel.c
1666
g_raid_change_disk_state(disk, G_RAID_DISK_S_NONE);
sys/geom/raid/md_intel.c
1667
g_raid_destroy_disk(disk);
sys/geom/raid/md_intel.c
1691
struct g_raid_disk *disk;
sys/geom/raid/md_intel.c
1770
disk = g_raid_create_disk(sc);
sys/geom/raid/md_intel.c
1771
disk->d_md_data = (void *)pd;
sys/geom/raid/md_intel.c
1772
disk->d_consumer = cp;
sys/geom/raid/md_intel.c
1779
cp->private = disk;
sys/geom/raid/md_intel.c
1792
g_raid_get_disk_info(disk);
sys/geom/raid/md_intel.c
188
struct intel_raid_disk disk[1]; /* total_disks entries. */
sys/geom/raid/md_intel.c
1885
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_intel.c
1886
pd = (struct g_raid_md_intel_perdisk *)disk->d_md_data;
sys/geom/raid/md_intel.c
1888
sd->sd_disk = disk;
sys/geom/raid/md_intel.c
1891
TAILQ_INSERT_TAIL(&disk->d_subdisks, sd, sd_next);
sys/geom/raid/md_intel.c
1893
g_raid_change_disk_state(disk,
sys/geom/raid/md_intel.c
1904
g_raid_change_disk_state(disk, G_RAID_DISK_S_OFFLINE);
sys/geom/raid/md_intel.c
1971
disk = vol1->v_subdisks[i].sd_disk;
sys/geom/raid/md_intel.c
1973
disk->d_md_data;
sys/geom/raid/md_intel.c
1979
if (disk->d_consumer != NULL &&
sys/geom/raid/md_intel.c
1980
disk->d_consumer->provider != NULL &&
sys/geom/raid/md_intel.c
1981
disk->d_consumer->provider->sectorsize >
sys/geom/raid/md_intel.c
1984
disk->d_consumer->provider->sectorsize;
sys/geom/raid/md_intel.c
2080
disk = vol1->v_subdisks[i].sd_disk;
sys/geom/raid/md_intel.c
2082
sd->sd_disk = disk;
sys/geom/raid/md_intel.c
2085
TAILQ_INSERT_TAIL(&disk->d_subdisks, sd, sd_next);
sys/geom/raid/md_intel.c
2086
if (disk->d_state == G_RAID_DISK_S_ACTIVE) {
sys/geom/raid/md_intel.c
2120
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_intel.c
2121
if (disk->d_consumer)
sys/geom/raid/md_intel.c
2122
intel_meta_erase(disk->d_consumer);
sys/geom/raid/md_intel.c
2183
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_intel.c
2184
if (disk->d_consumer)
sys/geom/raid/md_intel.c
2185
intel_meta_erase(disk->d_consumer);
sys/geom/raid/md_intel.c
2208
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_intel.c
2209
if (disk->d_consumer != NULL &&
sys/geom/raid/md_intel.c
2210
disk->d_consumer->provider != NULL &&
sys/geom/raid/md_intel.c
2211
strcmp(disk->d_consumer->provider->name,
sys/geom/raid/md_intel.c
2215
if (disk == NULL) {
sys/geom/raid/md_intel.c
2223
g_raid_md_fail_disk_intel(md, NULL, disk);
sys/geom/raid/md_intel.c
2227
pd = (struct g_raid_md_intel_perdisk *)disk->d_md_data;
sys/geom/raid/md_intel.c
2230
intel_meta_erase(disk->d_consumer);
sys/geom/raid/md_intel.c
2234
g_raid_change_disk_state(disk, G_RAID_DISK_S_OFFLINE);
sys/geom/raid/md_intel.c
2235
g_raid_kill_consumer(sc, disk->d_consumer);
sys/geom/raid/md_intel.c
2236
disk->d_consumer = NULL;
sys/geom/raid/md_intel.c
2237
TAILQ_FOREACH(sd, &disk->d_subdisks, sd_next) {
sys/geom/raid/md_intel.c
2245
g_raid_change_disk_state(disk, G_RAID_DISK_S_NONE);
sys/geom/raid/md_intel.c
2246
g_raid_destroy_disk(disk);
sys/geom/raid/md_intel.c
2305
disk = g_raid_create_disk(sc);
sys/geom/raid/md_intel.c
2306
disk->d_consumer = cp;
sys/geom/raid/md_intel.c
2307
disk->d_md_data = (void *)pd;
sys/geom/raid/md_intel.c
2308
cp->private = disk;
sys/geom/raid/md_intel.c
2310
g_raid_get_disk_info(disk);
sys/geom/raid/md_intel.c
2320
update += g_raid_md_intel_start_disk(disk);
sys/geom/raid/md_intel.c
2321
if (disk->d_state == G_RAID_DISK_S_SPARE) {
sys/geom/raid/md_intel.c
2323
g_raid_destroy_disk(disk);
sys/geom/raid/md_intel.c
2324
} else if (disk->d_state != G_RAID_DISK_S_ACTIVE) {
sys/geom/raid/md_intel.c
2327
g_raid_destroy_disk(disk);
sys/geom/raid/md_intel.c
2348
struct g_raid_disk *disk;
sys/geom/raid/md_intel.c
2370
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_intel.c
2371
pd = (struct g_raid_md_intel_perdisk *)disk->d_md_data;
sys/geom/raid/md_intel.c
2375
if (disk->d_state == G_RAID_DISK_S_ACTIVE) {
sys/geom/raid/md_intel.c
2378
} else if (disk->d_state == G_RAID_DISK_S_FAILED) {
sys/geom/raid/md_intel.c
2381
} else if (disk->d_state == G_RAID_DISK_S_DISABLED) {
sys/geom/raid/md_intel.c
2406
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_intel.c
2407
pd = (struct g_raid_md_intel_perdisk *)disk->d_md_data;
sys/geom/raid/md_intel.c
2410
meta->disk[pd->pd_disk_pos] = pd->pd_disk_meta;
sys/geom/raid/md_intel.c
2601
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_intel.c
2602
pd = (struct g_raid_md_intel_perdisk *)disk->d_md_data;
sys/geom/raid/md_intel.c
2603
if (disk->d_state != G_RAID_DISK_S_ACTIVE)
sys/geom/raid/md_intel.c
2610
intel_meta_write(disk->d_consumer, meta);
sys/geom/raid/md_intel.c
2636
mdi->mdio_meta->disk[pd->pd_disk_pos].flags = INTEL_F_FAILED;
sys/geom/raid/md_intel.c
2665
struct g_raid_disk *disk)
sys/geom/raid/md_intel.c
2669
pd = (struct g_raid_md_intel_perdisk *)disk->d_md_data;
sys/geom/raid/md_intel.c
2675
disk->d_md_data = NULL;
sys/geom/raid/md_intel.c
284
mvol = (struct intel_raid_vol *)&meta->disk[meta->total_disks];
sys/geom/raid/md_intel.c
336
intel_get_disk_sectors(struct intel_raid_disk *disk)
sys/geom/raid/md_intel.c
338
off_t sectors = (off_t)disk->sectors_hi << 32;
sys/geom/raid/md_intel.c
340
sectors += disk->sectors;
sys/geom/raid/md_intel.c
345
intel_set_disk_sectors(struct intel_raid_disk *disk, off_t sectors)
sys/geom/raid/md_intel.c
348
disk->sectors = sectors & 0xffffffff;
sys/geom/raid/md_intel.c
349
disk->sectors_hi = sectors >> 32;
sys/geom/raid/md_intel.c
486
meta->disk[i].serial, meta->disk[i].sectors,
sys/geom/raid/md_intel.c
487
meta->disk[i].sectors_hi, meta->disk[i].id,
sys/geom/raid/md_intel.c
488
meta->disk[i].flags, "\20\01S\02A\03F\04O\05D",
sys/geom/raid/md_intel.c
489
meta->disk[i].owner_cfg_num);
sys/geom/raid/md_intel.c
574
if (strncmp(meta->disk[pos].serial,
sys/geom/raid/md_intel.c
832
meta->disk[0] = *d;
sys/geom/raid/md_intel.c
841
struct g_raid_disk *disk;
sys/geom/raid/md_intel.c
844
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_intel.c
845
pd = (struct g_raid_md_intel_perdisk *)disk->d_md_data;
sys/geom/raid/md_intel.c
849
return (disk);
sys/geom/raid/md_intel.c
906
g_raid_md_intel_start_disk(struct g_raid_disk *disk)
sys/geom/raid/md_intel.c
920
sc = disk->d_softc;
sys/geom/raid/md_intel.c
924
pd = (struct g_raid_md_intel_perdisk *)disk->d_md_data;
sys/geom/raid/md_intel.c
934
g_raid_change_disk_state(disk, G_RAID_DISK_S_STALE_FAILED);
sys/geom/raid/md_intel.c
975
g_raid_change_disk_state(disk,
sys/geom/raid/md_intel.c
979
g_raid_change_disk_state(disk,
sys/geom/raid/md_intel.c
997
g_raid_change_disk_state(disk, G_RAID_DISK_S_STALE);
sys/geom/raid/md_jmicron.c
1000
g_raid_change_disk_state(disk, G_RAID_DISK_S_NONE);
sys/geom/raid/md_jmicron.c
1001
g_raid_destroy_disk(disk);
sys/geom/raid/md_jmicron.c
1025
struct g_raid_disk *disk;
sys/geom/raid/md_jmicron.c
1103
disk = g_raid_create_disk(sc);
sys/geom/raid/md_jmicron.c
1104
disk->d_md_data = (void *)pd;
sys/geom/raid/md_jmicron.c
1105
disk->d_consumer = cp;
sys/geom/raid/md_jmicron.c
1108
cp->private = disk;
sys/geom/raid/md_jmicron.c
1111
g_raid_get_disk_info(disk);
sys/geom/raid/md_jmicron.c
1206
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_jmicron.c
1207
pd = (struct g_raid_md_jmicron_perdisk *)disk->d_md_data;
sys/geom/raid/md_jmicron.c
1209
sd->sd_disk = disk;
sys/geom/raid/md_jmicron.c
1212
TAILQ_INSERT_TAIL(&disk->d_subdisks, sd, sd_next);
sys/geom/raid/md_jmicron.c
1214
g_raid_change_disk_state(disk,
sys/geom/raid/md_jmicron.c
1221
g_raid_change_disk_state(disk, G_RAID_DISK_S_OFFLINE);
sys/geom/raid/md_jmicron.c
1245
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_jmicron.c
1246
if (disk->d_consumer)
sys/geom/raid/md_jmicron.c
1247
jmicron_meta_erase(disk->d_consumer);
sys/geom/raid/md_jmicron.c
1269
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_jmicron.c
1270
if (disk->d_consumer != NULL &&
sys/geom/raid/md_jmicron.c
1271
disk->d_consumer->provider != NULL &&
sys/geom/raid/md_jmicron.c
1272
strcmp(disk->d_consumer->provider->name,
sys/geom/raid/md_jmicron.c
1276
if (disk == NULL) {
sys/geom/raid/md_jmicron.c
1284
g_raid_md_fail_disk_jmicron(md, NULL, disk);
sys/geom/raid/md_jmicron.c
1288
pd = (struct g_raid_md_jmicron_perdisk *)disk->d_md_data;
sys/geom/raid/md_jmicron.c
1291
jmicron_meta_erase(disk->d_consumer);
sys/geom/raid/md_jmicron.c
1295
g_raid_change_disk_state(disk, G_RAID_DISK_S_OFFLINE);
sys/geom/raid/md_jmicron.c
1296
g_raid_kill_consumer(sc, disk->d_consumer);
sys/geom/raid/md_jmicron.c
1297
disk->d_consumer = NULL;
sys/geom/raid/md_jmicron.c
1298
TAILQ_FOREACH(sd, &disk->d_subdisks, sd_next) {
sys/geom/raid/md_jmicron.c
1306
g_raid_change_disk_state(disk, G_RAID_DISK_S_NONE);
sys/geom/raid/md_jmicron.c
1307
g_raid_destroy_disk(disk);
sys/geom/raid/md_jmicron.c
1355
disk = g_raid_create_disk(sc);
sys/geom/raid/md_jmicron.c
1356
disk->d_consumer = cp;
sys/geom/raid/md_jmicron.c
1357
disk->d_md_data = (void *)pd;
sys/geom/raid/md_jmicron.c
1358
cp->private = disk;
sys/geom/raid/md_jmicron.c
1361
g_raid_get_disk_info(disk);
sys/geom/raid/md_jmicron.c
1364
update += g_raid_md_jmicron_start_disk(disk);
sys/geom/raid/md_jmicron.c
1365
if (disk->d_state != G_RAID_DISK_S_ACTIVE &&
sys/geom/raid/md_jmicron.c
1366
disk->d_state != G_RAID_DISK_S_SPARE) {
sys/geom/raid/md_jmicron.c
1369
g_raid_destroy_disk(disk);
sys/geom/raid/md_jmicron.c
1391
struct g_raid_disk *disk;
sys/geom/raid/md_jmicron.c
1441
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_jmicron.c
1442
pd = (struct g_raid_md_jmicron_perdisk *)disk->d_md_data;
sys/geom/raid/md_jmicron.c
1443
if (disk->d_state != G_RAID_DISK_S_SPARE)
sys/geom/raid/md_jmicron.c
1454
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_jmicron.c
1455
pd = (struct g_raid_md_jmicron_perdisk *)disk->d_md_data;
sys/geom/raid/md_jmicron.c
1456
if (disk->d_state != G_RAID_DISK_S_ACTIVE &&
sys/geom/raid/md_jmicron.c
1457
disk->d_state != G_RAID_DISK_S_SPARE)
sys/geom/raid/md_jmicron.c
1465
if ((sd = TAILQ_FIRST(&disk->d_subdisks)) != NULL) {
sys/geom/raid/md_jmicron.c
1478
g_raid_get_diskname(disk));
sys/geom/raid/md_jmicron.c
1480
jmicron_meta_write(disk->d_consumer, pd->pd_meta);
sys/geom/raid/md_jmicron.c
1526
struct g_raid_disk *disk)
sys/geom/raid/md_jmicron.c
1530
pd = (struct g_raid_md_jmicron_perdisk *)disk->d_md_data;
sys/geom/raid/md_jmicron.c
1536
disk->d_md_data = NULL;
sys/geom/raid/md_jmicron.c
357
struct g_raid_disk *disk;
sys/geom/raid/md_jmicron.c
360
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_jmicron.c
361
pd = (struct g_raid_md_jmicron_perdisk *)disk->d_md_data;
sys/geom/raid/md_jmicron.c
365
return (disk);
sys/geom/raid/md_jmicron.c
420
g_raid_md_jmicron_start_disk(struct g_raid_disk *disk)
sys/geom/raid/md_jmicron.c
431
sc = disk->d_softc;
sys/geom/raid/md_jmicron.c
435
pd = (struct g_raid_md_jmicron_perdisk *)disk->d_md_data;
sys/geom/raid/md_jmicron.c
478
g_raid_change_disk_state(disk,
sys/geom/raid/md_jmicron.c
482
g_raid_change_disk_state(disk,
sys/geom/raid/md_jmicron.c
500
g_raid_change_disk_state(disk, G_RAID_DISK_S_STALE);
sys/geom/raid/md_jmicron.c
509
TAILQ_INSERT_TAIL(&disk->d_subdisks, sd, sd_next);
sys/geom/raid/md_jmicron.c
510
sd->sd_disk = disk;
sys/geom/raid/md_jmicron.c
526
g_raid_change_disk_state(disk, G_RAID_DISK_S_ACTIVE);
sys/geom/raid/md_jmicron.c
527
TAILQ_FOREACH(sd, &disk->d_subdisks, sd_next) {
sys/geom/raid/md_jmicron.c
586
struct g_raid_disk *disk;
sys/geom/raid/md_jmicron.c
604
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_jmicron.c
605
if (disk->d_state == G_RAID_DISK_S_STALE) {
sys/geom/raid/md_jmicron.c
606
update += g_raid_md_jmicron_start_disk(disk);
sys/geom/raid/md_jmicron.c
607
if (disk->d_state == G_RAID_DISK_S_ACTIVE)
sys/geom/raid/md_jmicron.c
611
if (disk != NULL)
sys/geom/raid/md_jmicron.c
615
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_jmicron.c
616
if (disk->d_state == G_RAID_DISK_S_SPARE) {
sys/geom/raid/md_jmicron.c
617
update += g_raid_md_jmicron_start_disk(disk);
sys/geom/raid/md_jmicron.c
618
if (disk->d_state == G_RAID_DISK_S_ACTIVE)
sys/geom/raid/md_jmicron.c
622
} while (disk != NULL);
sys/geom/raid/md_jmicron.c
650
struct g_raid_disk *disk;
sys/geom/raid/md_jmicron.c
703
disk = g_raid_create_disk(sc);
sys/geom/raid/md_jmicron.c
704
disk->d_md_data = (void *)pd;
sys/geom/raid/md_jmicron.c
705
disk->d_state = G_RAID_DISK_S_OFFLINE;
sys/geom/raid/md_jmicron.c
707
sd->sd_disk = disk;
sys/geom/raid/md_jmicron.c
708
TAILQ_INSERT_TAIL(&disk->d_subdisks, sd, sd_next);
sys/geom/raid/md_jmicron.c
713
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_jmicron.c
714
if (disk->d_state == G_RAID_DISK_S_NONE) {
sys/geom/raid/md_jmicron.c
715
g_raid_md_jmicron_start_disk(disk);
sys/geom/raid/md_jmicron.c
719
} while (disk != NULL);
sys/geom/raid/md_jmicron.c
737
g_raid_md_jmicron_new_disk(struct g_raid_disk *disk)
sys/geom/raid/md_jmicron.c
745
sc = disk->d_softc;
sys/geom/raid/md_jmicron.c
748
pd = (struct g_raid_md_jmicron_perdisk *)disk->d_md_data;
sys/geom/raid/md_jmicron.c
752
if (g_raid_md_jmicron_start_disk(disk))
sys/geom/raid/md_jmicron.c
825
struct g_raid_disk *disk;
sys/geom/raid/md_jmicron.c
944
disk = g_raid_create_disk(sc);
sys/geom/raid/md_jmicron.c
945
disk->d_md_data = (void *)pd;
sys/geom/raid/md_jmicron.c
946
disk->d_consumer = rcp;
sys/geom/raid/md_jmicron.c
947
rcp->private = disk;
sys/geom/raid/md_jmicron.c
949
g_raid_get_disk_info(disk);
sys/geom/raid/md_jmicron.c
951
g_raid_md_jmicron_new_disk(disk);
sys/geom/raid/md_jmicron.c
964
struct g_raid_disk *disk, u_int event)
sys/geom/raid/md_jmicron.c
973
if (disk == NULL) {
sys/geom/raid/md_jmicron.c
982
pd = (struct g_raid_md_jmicron_perdisk *)disk->d_md_data;
sys/geom/raid/md_jmicron.c
987
g_raid_change_disk_state(disk, G_RAID_DISK_S_OFFLINE);
sys/geom/raid/md_jmicron.c
988
if (disk->d_consumer) {
sys/geom/raid/md_jmicron.c
989
g_raid_kill_consumer(sc, disk->d_consumer);
sys/geom/raid/md_jmicron.c
990
disk->d_consumer = NULL;
sys/geom/raid/md_jmicron.c
992
TAILQ_FOREACH(sd, &disk->d_subdisks, sd_next) {
sys/geom/raid/md_nvidia.c
1029
struct g_raid_disk *disk;
sys/geom/raid/md_nvidia.c
1106
disk = g_raid_create_disk(sc);
sys/geom/raid/md_nvidia.c
1107
disk->d_md_data = (void *)pd;
sys/geom/raid/md_nvidia.c
1108
disk->d_consumer = cp;
sys/geom/raid/md_nvidia.c
1111
cp->private = disk;
sys/geom/raid/md_nvidia.c
1114
g_raid_get_disk_info(disk);
sys/geom/raid/md_nvidia.c
1211
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_nvidia.c
1212
pd = (struct g_raid_md_nvidia_perdisk *)disk->d_md_data;
sys/geom/raid/md_nvidia.c
1214
sd->sd_disk = disk;
sys/geom/raid/md_nvidia.c
1217
TAILQ_INSERT_TAIL(&disk->d_subdisks, sd, sd_next);
sys/geom/raid/md_nvidia.c
1219
g_raid_change_disk_state(disk,
sys/geom/raid/md_nvidia.c
1226
g_raid_change_disk_state(disk, G_RAID_DISK_S_OFFLINE);
sys/geom/raid/md_nvidia.c
1250
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_nvidia.c
1251
if (disk->d_consumer)
sys/geom/raid/md_nvidia.c
1252
nvidia_meta_erase(disk->d_consumer);
sys/geom/raid/md_nvidia.c
1274
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_nvidia.c
1275
if (disk->d_consumer != NULL &&
sys/geom/raid/md_nvidia.c
1276
disk->d_consumer->provider != NULL &&
sys/geom/raid/md_nvidia.c
1277
strcmp(disk->d_consumer->provider->name,
sys/geom/raid/md_nvidia.c
1281
if (disk == NULL) {
sys/geom/raid/md_nvidia.c
1289
g_raid_md_fail_disk_nvidia(md, NULL, disk);
sys/geom/raid/md_nvidia.c
1293
pd = (struct g_raid_md_nvidia_perdisk *)disk->d_md_data;
sys/geom/raid/md_nvidia.c
1296
nvidia_meta_erase(disk->d_consumer);
sys/geom/raid/md_nvidia.c
1300
g_raid_change_disk_state(disk, G_RAID_DISK_S_OFFLINE);
sys/geom/raid/md_nvidia.c
1301
g_raid_kill_consumer(sc, disk->d_consumer);
sys/geom/raid/md_nvidia.c
1302
disk->d_consumer = NULL;
sys/geom/raid/md_nvidia.c
1303
TAILQ_FOREACH(sd, &disk->d_subdisks, sd_next) {
sys/geom/raid/md_nvidia.c
1311
g_raid_change_disk_state(disk, G_RAID_DISK_S_NONE);
sys/geom/raid/md_nvidia.c
1312
g_raid_destroy_disk(disk);
sys/geom/raid/md_nvidia.c
1359
disk = g_raid_create_disk(sc);
sys/geom/raid/md_nvidia.c
1360
disk->d_consumer = cp;
sys/geom/raid/md_nvidia.c
1361
disk->d_md_data = (void *)pd;
sys/geom/raid/md_nvidia.c
1362
cp->private = disk;
sys/geom/raid/md_nvidia.c
1365
g_raid_get_disk_info(disk);
sys/geom/raid/md_nvidia.c
1368
update += g_raid_md_nvidia_start_disk(disk);
sys/geom/raid/md_nvidia.c
1369
if (disk->d_state != G_RAID_DISK_S_SPARE &&
sys/geom/raid/md_nvidia.c
1370
disk->d_state != G_RAID_DISK_S_ACTIVE) {
sys/geom/raid/md_nvidia.c
1373
g_raid_destroy_disk(disk);
sys/geom/raid/md_nvidia.c
1395
struct g_raid_disk *disk;
sys/geom/raid/md_nvidia.c
1474
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_nvidia.c
1475
pd = (struct g_raid_md_nvidia_perdisk *)disk->d_md_data;
sys/geom/raid/md_nvidia.c
1476
if (disk->d_state != G_RAID_DISK_S_ACTIVE &&
sys/geom/raid/md_nvidia.c
1477
disk->d_state != G_RAID_DISK_S_SPARE)
sys/geom/raid/md_nvidia.c
1484
if ((sd = TAILQ_FIRST(&disk->d_subdisks)) != NULL) {
sys/geom/raid/md_nvidia.c
1497
g_raid_get_diskname(disk));
sys/geom/raid/md_nvidia.c
1499
nvidia_meta_write(disk->d_consumer, pd->pd_meta);
sys/geom/raid/md_nvidia.c
1546
struct g_raid_disk *disk)
sys/geom/raid/md_nvidia.c
1550
pd = (struct g_raid_md_nvidia_perdisk *)disk->d_md_data;
sys/geom/raid/md_nvidia.c
1556
disk->d_md_data = NULL;
sys/geom/raid/md_nvidia.c
367
struct g_raid_disk *disk;
sys/geom/raid/md_nvidia.c
370
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_nvidia.c
371
pd = (struct g_raid_md_nvidia_perdisk *)disk->d_md_data;
sys/geom/raid/md_nvidia.c
375
return (disk);
sys/geom/raid/md_nvidia.c
427
g_raid_md_nvidia_start_disk(struct g_raid_disk *disk)
sys/geom/raid/md_nvidia.c
438
sc = disk->d_softc;
sys/geom/raid/md_nvidia.c
442
pd = (struct g_raid_md_nvidia_perdisk *)disk->d_md_data;
sys/geom/raid/md_nvidia.c
488
g_raid_change_disk_state(disk, G_RAID_DISK_S_SPARE);
sys/geom/raid/md_nvidia.c
504
g_raid_change_disk_state(disk, G_RAID_DISK_S_STALE);
sys/geom/raid/md_nvidia.c
513
TAILQ_INSERT_TAIL(&disk->d_subdisks, sd, sd_next);
sys/geom/raid/md_nvidia.c
514
sd->sd_disk = disk;
sys/geom/raid/md_nvidia.c
529
g_raid_change_disk_state(disk, G_RAID_DISK_S_ACTIVE);
sys/geom/raid/md_nvidia.c
532
g_raid_change_disk_state(disk, G_RAID_DISK_S_ACTIVE);
sys/geom/raid/md_nvidia.c
535
TAILQ_FOREACH(sd, &disk->d_subdisks, sd_next) {
sys/geom/raid/md_nvidia.c
593
struct g_raid_disk *disk;
sys/geom/raid/md_nvidia.c
611
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_nvidia.c
612
if (disk->d_state == G_RAID_DISK_S_STALE) {
sys/geom/raid/md_nvidia.c
613
update += g_raid_md_nvidia_start_disk(disk);
sys/geom/raid/md_nvidia.c
614
if (disk->d_state == G_RAID_DISK_S_ACTIVE)
sys/geom/raid/md_nvidia.c
618
if (disk != NULL)
sys/geom/raid/md_nvidia.c
622
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_nvidia.c
623
if (disk->d_state == G_RAID_DISK_S_SPARE) {
sys/geom/raid/md_nvidia.c
624
update += g_raid_md_nvidia_start_disk(disk);
sys/geom/raid/md_nvidia.c
625
if (disk->d_state == G_RAID_DISK_S_ACTIVE)
sys/geom/raid/md_nvidia.c
629
} while (disk != NULL);
sys/geom/raid/md_nvidia.c
657
struct g_raid_disk *disk;
sys/geom/raid/md_nvidia.c
712
disk = g_raid_create_disk(sc);
sys/geom/raid/md_nvidia.c
713
disk->d_md_data = (void *)pd;
sys/geom/raid/md_nvidia.c
714
disk->d_state = G_RAID_DISK_S_OFFLINE;
sys/geom/raid/md_nvidia.c
716
sd->sd_disk = disk;
sys/geom/raid/md_nvidia.c
717
TAILQ_INSERT_TAIL(&disk->d_subdisks, sd, sd_next);
sys/geom/raid/md_nvidia.c
722
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_nvidia.c
723
if (disk->d_state == G_RAID_DISK_S_NONE) {
sys/geom/raid/md_nvidia.c
724
g_raid_md_nvidia_start_disk(disk);
sys/geom/raid/md_nvidia.c
728
} while (disk != NULL);
sys/geom/raid/md_nvidia.c
746
g_raid_md_nvidia_new_disk(struct g_raid_disk *disk)
sys/geom/raid/md_nvidia.c
754
sc = disk->d_softc;
sys/geom/raid/md_nvidia.c
757
pd = (struct g_raid_md_nvidia_perdisk *)disk->d_md_data;
sys/geom/raid/md_nvidia.c
761
if (g_raid_md_nvidia_start_disk(disk))
sys/geom/raid/md_nvidia.c
830
struct g_raid_disk *disk;
sys/geom/raid/md_nvidia.c
939
disk = g_raid_create_disk(sc);
sys/geom/raid/md_nvidia.c
940
disk->d_md_data = (void *)pd;
sys/geom/raid/md_nvidia.c
941
disk->d_consumer = rcp;
sys/geom/raid/md_nvidia.c
942
rcp->private = disk;
sys/geom/raid/md_nvidia.c
944
g_raid_get_disk_info(disk);
sys/geom/raid/md_nvidia.c
946
g_raid_md_nvidia_new_disk(disk);
sys/geom/raid/md_nvidia.c
959
struct g_raid_disk *disk, u_int event)
sys/geom/raid/md_nvidia.c
968
if (disk == NULL) {
sys/geom/raid/md_nvidia.c
980
pd = (struct g_raid_md_nvidia_perdisk *)disk->d_md_data;
sys/geom/raid/md_nvidia.c
985
g_raid_change_disk_state(disk, G_RAID_DISK_S_OFFLINE);
sys/geom/raid/md_nvidia.c
986
if (disk->d_consumer) {
sys/geom/raid/md_nvidia.c
987
g_raid_kill_consumer(sc, disk->d_consumer);
sys/geom/raid/md_nvidia.c
988
disk->d_consumer = NULL;
sys/geom/raid/md_nvidia.c
990
TAILQ_FOREACH(sd, &disk->d_subdisks, sd_next) {
sys/geom/raid/md_nvidia.c
998
g_raid_change_disk_state(disk, G_RAID_DISK_S_NONE);
sys/geom/raid/md_nvidia.c
999
g_raid_destroy_disk(disk);
sys/geom/raid/md_promise.c
1052
if (g_raid_md_promise_start_disk(disk, i, vol))
sys/geom/raid/md_promise.c
1101
struct g_raid_disk *disk;
sys/geom/raid/md_promise.c
1142
if (metaarr[i]->disk.flags & PROMISE_F_ASSIGNED) {
sys/geom/raid/md_promise.c
1196
disk = g_raid_create_disk(sc);
sys/geom/raid/md_promise.c
1197
disk->d_md_data = (void *)pd;
sys/geom/raid/md_promise.c
1198
disk->d_consumer = rcp;
sys/geom/raid/md_promise.c
1199
rcp->private = disk;
sys/geom/raid/md_promise.c
1201
g_raid_get_disk_info(disk);
sys/geom/raid/md_promise.c
1203
g_raid_md_promise_new_disk(disk);
sys/geom/raid/md_promise.c
1213
struct g_raid_disk *disk, u_int event)
sys/geom/raid/md_promise.c
1218
if (disk == NULL)
sys/geom/raid/md_promise.c
1223
g_raid_change_disk_state(disk, G_RAID_DISK_S_NONE);
sys/geom/raid/md_promise.c
1224
g_raid_destroy_disk(disk);
sys/geom/raid/md_promise.c
1263
struct g_raid_disk *disk, *disks[PROMISE_MAX_DISKS];
sys/geom/raid/md_promise.c
1328
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_promise.c
1329
if (disk->d_consumer != NULL &&
sys/geom/raid/md_promise.c
1330
disk->d_consumer->provider != NULL &&
sys/geom/raid/md_promise.c
1331
strcmp(disk->d_consumer->provider->name,
sys/geom/raid/md_promise.c
1335
if (disk != NULL) {
sys/geom/raid/md_promise.c
1336
if (disk->d_state != G_RAID_DISK_S_ACTIVE) {
sys/geom/raid/md_promise.c
1339
g_raid_disk_state2str(disk->d_state));
sys/geom/raid/md_promise.c
1343
pd = disk->d_md_data;
sys/geom/raid/md_promise.c
1351
pp = disk->d_consumer->provider;
sys/geom/raid/md_promise.c
1352
disks[i] = disk;
sys/geom/raid/md_promise.c
1373
disk = g_raid_create_disk(sc);
sys/geom/raid/md_promise.c
1374
disk->d_md_data = (void *)pd;
sys/geom/raid/md_promise.c
1375
disk->d_consumer = cp;
sys/geom/raid/md_promise.c
1376
disks[i] = disk;
sys/geom/raid/md_promise.c
1377
cp->private = disk;
sys/geom/raid/md_promise.c
1380
g_raid_get_disk_info(disk);
sys/geom/raid/md_promise.c
1474
disk = disks[i];
sys/geom/raid/md_promise.c
1476
sd->sd_disk = disk;
sys/geom/raid/md_promise.c
1479
if (disk == NULL)
sys/geom/raid/md_promise.c
1481
TAILQ_INSERT_TAIL(&disk->d_subdisks, sd, sd_next);
sys/geom/raid/md_promise.c
1482
g_raid_change_disk_state(disk,
sys/geom/raid/md_promise.c
1521
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_promise.c
1522
if (disk->d_consumer)
sys/geom/raid/md_promise.c
1523
promise_meta_erase(disk->d_consumer);
sys/geom/raid/md_promise.c
1585
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_promise.c
1586
if (disk->d_consumer)
sys/geom/raid/md_promise.c
1587
promise_meta_erase(disk->d_consumer);
sys/geom/raid/md_promise.c
1610
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_promise.c
1611
if (disk->d_consumer != NULL &&
sys/geom/raid/md_promise.c
1612
disk->d_consumer->provider != NULL &&
sys/geom/raid/md_promise.c
1613
strcmp(disk->d_consumer->provider->name,
sys/geom/raid/md_promise.c
1617
if (disk == NULL) {
sys/geom/raid/md_promise.c
1625
g_raid_md_fail_disk_promise(md, NULL, disk);
sys/geom/raid/md_promise.c
1630
promise_meta_erase(disk->d_consumer);
sys/geom/raid/md_promise.c
1631
g_raid_destroy_disk(disk);
sys/geom/raid/md_promise.c
1675
disk = g_raid_create_disk(sc);
sys/geom/raid/md_promise.c
1676
disk->d_consumer = cp;
sys/geom/raid/md_promise.c
1677
disk->d_md_data = (void *)pd;
sys/geom/raid/md_promise.c
1678
cp->private = disk;
sys/geom/raid/md_promise.c
1680
g_raid_get_disk_info(disk);
sys/geom/raid/md_promise.c
1683
g_raid_change_disk_state(disk, G_RAID_DISK_S_SPARE);
sys/geom/raid/md_promise.c
1699
struct g_raid_disk *disk;
sys/geom/raid/md_promise.c
1848
disk = sd->sd_disk;
sys/geom/raid/md_promise.c
1849
if (disk == NULL)
sys/geom/raid/md_promise.c
1853
pd = (struct g_raid_md_promise_perdisk *)disk->d_md_data;
sys/geom/raid/md_promise.c
1863
pd->pd_meta[j]->disk = meta->disks[pos];
sys/geom/raid/md_promise.c
1864
pd->pd_meta[j]->disk.number = pos;
sys/geom/raid/md_promise.c
1887
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_promise.c
1888
pd = (struct g_raid_md_promise_perdisk *)disk->d_md_data;
sys/geom/raid/md_promise.c
1889
if (disk->d_state != G_RAID_DISK_S_ACTIVE)
sys/geom/raid/md_promise.c
1894
g_raid_get_diskname(disk));
sys/geom/raid/md_promise.c
1897
promise_meta_write(disk->d_consumer,
sys/geom/raid/md_promise.c
1929
pd->pd_meta[i]->disk.flags |=
sys/geom/raid/md_promise.c
1931
pos = pd->pd_meta[i]->disk.number;
sys/geom/raid/md_promise.c
1960
struct g_raid_disk *disk)
sys/geom/raid/md_promise.c
1965
pd = (struct g_raid_md_promise_perdisk *)disk->d_md_data;
sys/geom/raid/md_promise.c
1973
disk->d_md_data = NULL;
sys/geom/raid/md_promise.c
200
meta->disk.flags, meta->disk.number, meta->disk.channel,
sys/geom/raid/md_promise.c
201
meta->disk.device, meta->disk.id);
sys/geom/raid/md_promise.c
455
meta->disk.flags = PROMISE_F_ONLINE | PROMISE_F_VALID;
sys/geom/raid/md_promise.c
456
meta->disk.number = 0xff;
sys/geom/raid/md_promise.c
457
arc4rand(&meta->disk.id, sizeof(meta->disk.id), 0);
sys/geom/raid/md_promise.c
523
meta->disk.flags = PROMISE_F_SPARE | PROMISE_F_ONLINE | PROMISE_F_VALID;
sys/geom/raid/md_promise.c
524
meta->disk.number = 0xff;
sys/geom/raid/md_promise.c
525
arc4rand(&meta->disk.id, sizeof(meta->disk.id), 0);
sys/geom/raid/md_promise.c
577
struct g_raid_disk *disk, *tdisk;
sys/geom/raid/md_promise.c
583
TAILQ_FOREACH_SAFE(disk, &sc->sc_disks, d_next, tdisk) {
sys/geom/raid/md_promise.c
584
if (disk->d_state == G_RAID_DISK_S_SPARE)
sys/geom/raid/md_promise.c
586
pd = (struct g_raid_md_promise_perdisk *)disk->d_md_data;
sys/geom/raid/md_promise.c
606
promise_meta_erase(disk->d_consumer);
sys/geom/raid/md_promise.c
607
g_raid_destroy_disk(disk);
sys/geom/raid/md_promise.c
664
g_raid_md_promise_start_disk(struct g_raid_disk *disk, int sdn,
sys/geom/raid/md_promise.c
675
sc = disk->d_softc;
sys/geom/raid/md_promise.c
676
pd = (struct g_raid_md_promise_perdisk *)disk->d_md_data;
sys/geom/raid/md_promise.c
683
md_disk_pos = promise_meta_find_disk(meta, pd->pd_meta[sdn]->disk.id);
sys/geom/raid/md_promise.c
692
g_raid_get_diskname(disk), vol->v_name);
sys/geom/raid/md_promise.c
695
pd->pd_meta[sdn]->disk.flags & PROMISE_F_DOWN) {
sys/geom/raid/md_promise.c
696
g_raid_change_disk_state(disk, G_RAID_DISK_S_STALE_FAILED);
sys/geom/raid/md_promise.c
715
disk->d_consumer->provider->mediasize /
sys/geom/raid/md_promise.c
716
disk->d_consumer->provider->sectorsize,
sys/geom/raid/md_promise.c
720
g_raid_get_diskname(disk));
sys/geom/raid/md_promise.c
738
g_raid_get_diskname(disk),
sys/geom/raid/md_promise.c
750
g_raid_change_disk_state(disk,
sys/geom/raid/md_promise.c
756
g_raid_get_diskname(disk), disk_pos, vol->v_name);
sys/geom/raid/md_promise.c
768
vol->v_subdisks[disk_pos].sd_disk = disk;
sys/geom/raid/md_promise.c
769
TAILQ_INSERT_TAIL(&disk->d_subdisks, sd, sd_next);
sys/geom/raid/md_promise.c
773
g_raid_change_disk_state(disk, G_RAID_DISK_S_ACTIVE);
sys/geom/raid/md_promise.c
775
g_raid_change_disk_state(disk, G_RAID_DISK_S_FAILED);
sys/geom/raid/md_promise.c
777
g_raid_change_disk_state(disk, G_RAID_DISK_S_ACTIVE);
sys/geom/raid/md_promise.c
833
struct g_raid_disk *disk;
sys/geom/raid/md_promise.c
84
struct promise_raid_disk disk; /* This subdisk info. */
sys/geom/raid/md_promise.c
861
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_promise.c
863
if (disk->d_state < G_RAID_DISK_S_SPARE)
sys/geom/raid/md_promise.c
868
if (sd->sd_disk == disk)
sys/geom/raid/md_promise.c
875
pd = disk->d_md_data;
sys/geom/raid/md_promise.c
878
g_raid_md_promise_start_disk(disk, -1, vol);
sys/geom/raid/md_promise.c
883
g_raid_md_write_promise(md, vol, NULL, disk);
sys/geom/raid/md_promise.c
897
struct g_raid_disk *disk;
sys/geom/raid/md_promise.c
945
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_promise.c
946
pd = disk->d_md_data;
sys/geom/raid/md_promise.c
949
g_raid_md_promise_start_disk(disk, i, vol);
sys/geom/raid/md_promise.c
982
g_raid_md_promise_new_disk(struct g_raid_disk *disk)
sys/geom/raid/md_promise.c
993
sc = disk->d_softc;
sys/geom/raid/md_promise.c
995
pd = (struct g_raid_md_promise_perdisk *)disk->d_md_data;
sys/geom/raid/md_promise.c
998
g_raid_change_disk_state(disk, G_RAID_DISK_S_SPARE);
sys/geom/raid/md_sii.c
1039
disk = g_raid_create_disk(sc);
sys/geom/raid/md_sii.c
1040
disk->d_md_data = (void *)pd;
sys/geom/raid/md_sii.c
1041
disk->d_consumer = rcp;
sys/geom/raid/md_sii.c
1042
rcp->private = disk;
sys/geom/raid/md_sii.c
1044
g_raid_get_disk_info(disk);
sys/geom/raid/md_sii.c
1046
g_raid_md_sii_new_disk(disk);
sys/geom/raid/md_sii.c
1059
struct g_raid_disk *disk, u_int event)
sys/geom/raid/md_sii.c
1068
if (disk == NULL) {
sys/geom/raid/md_sii.c
1077
pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data;
sys/geom/raid/md_sii.c
1082
g_raid_change_disk_state(disk, G_RAID_DISK_S_OFFLINE);
sys/geom/raid/md_sii.c
1083
if (disk->d_consumer) {
sys/geom/raid/md_sii.c
1084
g_raid_kill_consumer(sc, disk->d_consumer);
sys/geom/raid/md_sii.c
1085
disk->d_consumer = NULL;
sys/geom/raid/md_sii.c
1087
TAILQ_FOREACH(sd, &disk->d_subdisks, sd_next) {
sys/geom/raid/md_sii.c
1095
g_raid_change_disk_state(disk, G_RAID_DISK_S_NONE);
sys/geom/raid/md_sii.c
1096
g_raid_destroy_disk(disk);
sys/geom/raid/md_sii.c
1120
struct g_raid_disk *disk;
sys/geom/raid/md_sii.c
1197
disk = g_raid_create_disk(sc);
sys/geom/raid/md_sii.c
1198
disk->d_md_data = (void *)pd;
sys/geom/raid/md_sii.c
1199
disk->d_consumer = cp;
sys/geom/raid/md_sii.c
1202
cp->private = disk;
sys/geom/raid/md_sii.c
1205
g_raid_get_disk_info(disk);
sys/geom/raid/md_sii.c
1300
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_sii.c
1301
pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data;
sys/geom/raid/md_sii.c
1303
sd->sd_disk = disk;
sys/geom/raid/md_sii.c
1306
TAILQ_INSERT_TAIL(&disk->d_subdisks, sd, sd_next);
sys/geom/raid/md_sii.c
1308
g_raid_change_disk_state(disk,
sys/geom/raid/md_sii.c
1315
g_raid_change_disk_state(disk, G_RAID_DISK_S_OFFLINE);
sys/geom/raid/md_sii.c
1339
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_sii.c
1340
if (disk->d_consumer)
sys/geom/raid/md_sii.c
1341
sii_meta_erase(disk->d_consumer);
sys/geom/raid/md_sii.c
1363
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_sii.c
1364
if (disk->d_consumer != NULL &&
sys/geom/raid/md_sii.c
1365
disk->d_consumer->provider != NULL &&
sys/geom/raid/md_sii.c
1366
strcmp(disk->d_consumer->provider->name,
sys/geom/raid/md_sii.c
1370
if (disk == NULL) {
sys/geom/raid/md_sii.c
1378
g_raid_md_fail_disk_sii(md, NULL, disk);
sys/geom/raid/md_sii.c
1382
pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data;
sys/geom/raid/md_sii.c
1385
sii_meta_erase(disk->d_consumer);
sys/geom/raid/md_sii.c
1389
g_raid_change_disk_state(disk, G_RAID_DISK_S_OFFLINE);
sys/geom/raid/md_sii.c
1390
g_raid_kill_consumer(sc, disk->d_consumer);
sys/geom/raid/md_sii.c
1391
disk->d_consumer = NULL;
sys/geom/raid/md_sii.c
1392
TAILQ_FOREACH(sd, &disk->d_subdisks, sd_next) {
sys/geom/raid/md_sii.c
1400
g_raid_change_disk_state(disk, G_RAID_DISK_S_NONE);
sys/geom/raid/md_sii.c
1401
g_raid_destroy_disk(disk);
sys/geom/raid/md_sii.c
1448
disk = g_raid_create_disk(sc);
sys/geom/raid/md_sii.c
1449
disk->d_consumer = cp;
sys/geom/raid/md_sii.c
1450
disk->d_md_data = (void *)pd;
sys/geom/raid/md_sii.c
1451
cp->private = disk;
sys/geom/raid/md_sii.c
1454
g_raid_get_disk_info(disk);
sys/geom/raid/md_sii.c
1457
update += g_raid_md_sii_start_disk(disk);
sys/geom/raid/md_sii.c
1458
if (disk->d_state == G_RAID_DISK_S_SPARE) {
sys/geom/raid/md_sii.c
1460
g_raid_destroy_disk(disk);
sys/geom/raid/md_sii.c
1461
} else if (disk->d_state != G_RAID_DISK_S_ACTIVE) {
sys/geom/raid/md_sii.c
1464
g_raid_destroy_disk(disk);
sys/geom/raid/md_sii.c
1486
struct g_raid_disk *disk;
sys/geom/raid/md_sii.c
1551
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_sii.c
1552
pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data;
sys/geom/raid/md_sii.c
1553
if (disk->d_state != G_RAID_DISK_S_ACTIVE)
sys/geom/raid/md_sii.c
1560
if ((sd = TAILQ_FIRST(&disk->d_subdisks)) != NULL) {
sys/geom/raid/md_sii.c
1584
g_raid_get_diskname(disk));
sys/geom/raid/md_sii.c
1586
sii_meta_write(disk->d_consumer, pd->pd_meta);
sys/geom/raid/md_sii.c
1641
struct g_raid_disk *disk)
sys/geom/raid/md_sii.c
1645
pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data;
sys/geom/raid/md_sii.c
1651
disk->d_md_data = NULL;
sys/geom/raid/md_sii.c
414
struct g_raid_disk *disk;
sys/geom/raid/md_sii.c
417
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_sii.c
418
pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data;
sys/geom/raid/md_sii.c
422
return (disk);
sys/geom/raid/md_sii.c
475
g_raid_md_sii_start_disk(struct g_raid_disk *disk)
sys/geom/raid/md_sii.c
486
sc = disk->d_softc;
sys/geom/raid/md_sii.c
490
pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data;
sys/geom/raid/md_sii.c
533
g_raid_change_disk_state(disk,
sys/geom/raid/md_sii.c
537
g_raid_change_disk_state(disk,
sys/geom/raid/md_sii.c
555
g_raid_change_disk_state(disk, G_RAID_DISK_S_STALE);
sys/geom/raid/md_sii.c
564
TAILQ_INSERT_TAIL(&disk->d_subdisks, sd, sd_next);
sys/geom/raid/md_sii.c
565
sd->sd_disk = disk;
sys/geom/raid/md_sii.c
580
g_raid_change_disk_state(disk, G_RAID_DISK_S_ACTIVE);
sys/geom/raid/md_sii.c
583
g_raid_change_disk_state(disk, G_RAID_DISK_S_ACTIVE);
sys/geom/raid/md_sii.c
585
g_raid_change_disk_state(disk, G_RAID_DISK_S_FAILED);
sys/geom/raid/md_sii.c
586
TAILQ_FOREACH(sd, &disk->d_subdisks, sd_next) {
sys/geom/raid/md_sii.c
649
struct g_raid_disk *disk;
sys/geom/raid/md_sii.c
667
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_sii.c
668
if (disk->d_state == G_RAID_DISK_S_STALE) {
sys/geom/raid/md_sii.c
669
update += g_raid_md_sii_start_disk(disk);
sys/geom/raid/md_sii.c
670
if (disk->d_state == G_RAID_DISK_S_ACTIVE)
sys/geom/raid/md_sii.c
674
if (disk != NULL)
sys/geom/raid/md_sii.c
678
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_sii.c
679
if (disk->d_state == G_RAID_DISK_S_SPARE) {
sys/geom/raid/md_sii.c
680
update += g_raid_md_sii_start_disk(disk);
sys/geom/raid/md_sii.c
681
if (disk->d_state == G_RAID_DISK_S_ACTIVE)
sys/geom/raid/md_sii.c
685
} while (disk != NULL);
sys/geom/raid/md_sii.c
713
struct g_raid_disk *disk, *best;
sys/geom/raid/md_sii.c
768
disk = g_raid_create_disk(sc);
sys/geom/raid/md_sii.c
769
disk->d_md_data = (void *)pd;
sys/geom/raid/md_sii.c
770
disk->d_state = G_RAID_DISK_S_OFFLINE;
sys/geom/raid/md_sii.c
772
sd->sd_disk = disk;
sys/geom/raid/md_sii.c
773
TAILQ_INSERT_TAIL(&disk->d_subdisks, sd, sd_next);
sys/geom/raid/md_sii.c
783
TAILQ_FOREACH(disk, &sc->sc_disks, d_next) {
sys/geom/raid/md_sii.c
784
if (disk->d_state != G_RAID_DISK_S_NONE)
sys/geom/raid/md_sii.c
786
pd = disk->d_md_data;
sys/geom/raid/md_sii.c
793
best = disk;
sys/geom/raid/md_sii.c
817
g_raid_md_sii_new_disk(struct g_raid_disk *disk)
sys/geom/raid/md_sii.c
825
sc = disk->d_softc;
sys/geom/raid/md_sii.c
828
pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data;
sys/geom/raid/md_sii.c
832
if (g_raid_md_sii_start_disk(disk))
sys/geom/raid/md_sii.c
912
struct g_raid_disk *disk;
sys/geom/raid/tr_raid1.c
221
struct g_raid_disk *disk)
sys/geom/raid/tr_raid1.c
235
g_raid_fail_disk(sc, sd, disk);
sys/geom/raid/tr_raid1e.c
1022
V2P(vol, virtual, &disk, &offset, &start);
sys/geom/raid/tr_raid1e.c
1027
disk, offset, start, mask);
sys/geom/raid/tr_raid1e.c
1029
disk += best;
sys/geom/raid/tr_raid1e.c
1030
if (disk >= vol->v_disks_count) {
sys/geom/raid/tr_raid1e.c
1031
disk -= vol->v_disks_count;
sys/geom/raid/tr_raid1e.c
1041
nsd = &vol->v_subdisks[disk];
sys/geom/raid/tr_raid1e.c
1074
V2P(vol, virtual, &disk, &offset, &start);
sys/geom/raid/tr_raid1e.c
1078
disk, offset, start, ~mask);
sys/geom/raid/tr_raid1e.c
1080
disk += best;
sys/geom/raid/tr_raid1e.c
1081
if (disk >= vol->v_disks_count) {
sys/geom/raid/tr_raid1e.c
1082
disk -= vol->v_disks_count;
sys/geom/raid/tr_raid1e.c
1092
g_raid_subdisk_iostart(&vol->v_subdisks[disk], cbp);
sys/geom/raid/tr_raid1e.c
1109
V2P(vol, virtual, &disk, &offset, &start);
sys/geom/raid/tr_raid1e.c
1113
vol->v_subdisks[(disk + copy) %
sys/geom/raid/tr_raid1e.c
141
int *disk, off_t *offset, off_t *start)
sys/geom/raid/tr_raid1e.c
152
*disk = (nstrip * N) % vol->v_disks_count;
sys/geom/raid/tr_raid1e.c
158
P2V(struct g_raid_volume *vol, int disk, off_t offset,
sys/geom/raid/tr_raid1e.c
168
nstrip = (offset / strip_size) * vol->v_disks_count + disk;
sys/geom/raid/tr_raid1e.c
331
struct g_raid_disk *disk)
sys/geom/raid/tr_raid1e.c
352
g_raid_fail_disk(sc, sd, disk);
sys/geom/raid/tr_raid1e.c
430
int disk, copy, best;
sys/geom/raid/tr_raid1e.c
447
V2P(vol, virtual, &disk, &offset, &start);
sys/geom/raid/tr_raid1e.c
454
best = g_raid_tr_raid1e_select_read_disk(vol, disk,
sys/geom/raid/tr_raid1e.c
473
((disk + best >= vol->v_disks_count) ? vol->v_strip_size : 0);
sys/geom/raid/tr_raid1e.c
478
bp->bio_caller1 = &vol->v_subdisks[(disk + best) % vol->v_disks_count];
sys/geom/raid/tr_raid1e.c
891
int error, do_write, copy, disk, best;
sys/geom/raid3/g_raid3.c
1072
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3.c
1125
disk = cbp->bio_caller2;
sys/geom/raid3/g_raid3.c
1126
cp = disk->d_consumer;
sys/geom/raid3/g_raid3.c
1142
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3.c
1184
disk = cbp->bio_caller2;
sys/geom/raid3/g_raid3.c
1185
if (disk == NULL)
sys/geom/raid3/g_raid3.c
1187
if ((disk->d_flags & G_RAID3_DISK_FLAG_BROKEN) == 0) {
sys/geom/raid3/g_raid3.c
1188
disk->d_flags |= G_RAID3_DISK_FLAG_BROKEN;
sys/geom/raid3/g_raid3.c
1198
g_raid3_event_send(disk,
sys/geom/raid3/g_raid3.c
1217
disk = pbp->bio_driver2;
sys/geom/raid3/g_raid3.c
1218
if (disk->d_state != G_RAID3_DISK_STATE_ACTIVE) {
sys/geom/raid3/g_raid3.c
1225
if (disk->d_no == sc->sc_ndisks - 1)
sys/geom/raid3/g_raid3.c
123
static int g_raid3_update_disk(struct g_raid3_disk *disk, u_int state);
sys/geom/raid3/g_raid3.c
1231
cp = disk->d_consumer;
sys/geom/raid3/g_raid3.c
1232
fbp->bio_caller2 = disk;
sys/geom/raid3/g_raid3.c
1306
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3.c
1316
disk = cbp->bio_from->private;
sys/geom/raid3/g_raid3.c
1317
if (disk == NULL) {
sys/geom/raid3/g_raid3.c
1355
disk = cbp->bio_caller2;
sys/geom/raid3/g_raid3.c
1356
if (disk == NULL) {
sys/geom/raid3/g_raid3.c
1361
if ((disk->d_flags & G_RAID3_DISK_FLAG_BROKEN) == 0) {
sys/geom/raid3/g_raid3.c
1362
disk->d_flags |= G_RAID3_DISK_FLAG_BROKEN;
sys/geom/raid3/g_raid3.c
1374
g_raid3_event_send(disk,
sys/geom/raid3/g_raid3.c
1414
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3.c
1421
disk = &sc->sc_disks[i];
sys/geom/raid3/g_raid3.c
1422
if (disk->d_state != G_RAID3_DISK_STATE_ACTIVE)
sys/geom/raid3/g_raid3.c
1438
cbp->bio_caller1 = disk;
sys/geom/raid3/g_raid3.c
1439
cbp->bio_to = disk->d_consumer->provider;
sys/geom/raid3/g_raid3.c
1444
disk = cbp->bio_caller1;
sys/geom/raid3/g_raid3.c
1446
cp = disk->d_consumer;
sys/geom/raid3/g_raid3.c
1450
g_io_request(cbp, disk->d_consumer);
sys/geom/raid3/g_raid3.c
1498
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3.c
1503
disk = sc->sc_syncdisk;
sys/geom/raid3/g_raid3.c
1504
if (disk == NULL)
sys/geom/raid3/g_raid3.c
1509
sbp = disk->d_sync.ds_bios[i];
sys/geom/raid3/g_raid3.c
1627
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3.c
1631
disk = bp->bio_from->private;
sys/geom/raid3/g_raid3.c
1632
if (disk == NULL) {
sys/geom/raid3/g_raid3.c
1664
if (disk->d_no == sc->sc_ndisks - 1) {
sys/geom/raid3/g_raid3.c
1680
src += atom * disk->d_no;
sys/geom/raid3/g_raid3.c
1695
cp = disk->d_consumer;
sys/geom/raid3/g_raid3.c
1716
g_raid3_event_send(disk,
sys/geom/raid3/g_raid3.c
1722
sync = &disk->d_sync;
sys/geom/raid3/g_raid3.c
173
g_raid3_get_diskname(struct g_raid3_disk *disk)
sys/geom/raid3/g_raid3.c
1743
g_raid3_event_send(disk, G_RAID3_DISK_STATE_ACTIVE,
sys/geom/raid3/g_raid3.c
176
if (disk->d_consumer == NULL || disk->d_consumer->provider == NULL)
sys/geom/raid3/g_raid3.c
178
return (disk->d_name);
sys/geom/raid3/g_raid3.c
1785
g_raid3_update_metadata(disk);
sys/geom/raid3/g_raid3.c
1800
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3.c
1859
disk = &sc->sc_disks[n];
sys/geom/raid3/g_raid3.c
1882
if (disk->d_state != G_RAID3_DISK_STATE_ACTIVE) {
sys/geom/raid3/g_raid3.c
1887
disk = &sc->sc_disks[sc->sc_ndisks - 1];
sys/geom/raid3/g_raid3.c
1891
disk->d_no == sc->sc_round_robin) {
sys/geom/raid3/g_raid3.c
1896
pbp->bio_driver2 = disk;
sys/geom/raid3/g_raid3.c
1897
disk = &sc->sc_disks[sc->sc_ndisks - 1];
sys/geom/raid3/g_raid3.c
1901
} else if (verify && disk->d_no == sc->sc_ndisks - 1) {
sys/geom/raid3/g_raid3.c
1907
if (disk->d_state == G_RAID3_DISK_STATE_ACTIVE ||
sys/geom/raid3/g_raid3.c
1908
disk->d_state == G_RAID3_DISK_STATE_SYNCHRONIZING) {
sys/geom/raid3/g_raid3.c
1930
disk = NULL;
sys/geom/raid3/g_raid3.c
1936
cbp->bio_caller2 = disk;
sys/geom/raid3/g_raid3.c
1949
disk = cbp->bio_caller2;
sys/geom/raid3/g_raid3.c
1950
cp = disk->d_consumer;
sys/geom/raid3/g_raid3.c
2190
g_raid3_update_idle(struct g_raid3_softc *sc, struct g_raid3_disk *disk)
sys/geom/raid3/g_raid3.c
2196
if (!sc->sc_idle && (disk->d_flags & G_RAID3_DISK_FLAG_DIRTY) == 0) {
sys/geom/raid3/g_raid3.c
2198
g_raid3_get_diskname(disk), sc->sc_name);
sys/geom/raid3/g_raid3.c
2199
disk->d_flags |= G_RAID3_DISK_FLAG_DIRTY;
sys/geom/raid3/g_raid3.c
2201
(disk->d_flags & G_RAID3_DISK_FLAG_DIRTY) != 0) {
sys/geom/raid3/g_raid3.c
2203
g_raid3_get_diskname(disk), sc->sc_name);
sys/geom/raid3/g_raid3.c
2204
disk->d_flags &= ~G_RAID3_DISK_FLAG_DIRTY;
sys/geom/raid3/g_raid3.c
2211
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3.c
2225
disk = NULL;
sys/geom/raid3/g_raid3.c
2229
disk = &sc->sc_disks[n];
sys/geom/raid3/g_raid3.c
2232
if (disk == NULL)
sys/geom/raid3/g_raid3.c
2247
g_raid3_get_diskname(disk));
sys/geom/raid3/g_raid3.c
2249
disk->d_flags |= G_RAID3_DISK_FLAG_DIRTY;
sys/geom/raid3/g_raid3.c
2250
KASSERT(disk->d_sync.ds_consumer == NULL,
sys/geom/raid3/g_raid3.c
2252
sc->sc_name, g_raid3_get_diskname(disk)));
sys/geom/raid3/g_raid3.c
2254
disk->d_sync.ds_consumer = cp;
sys/geom/raid3/g_raid3.c
2255
disk->d_sync.ds_consumer->private = disk;
sys/geom/raid3/g_raid3.c
2256
disk->d_sync.ds_consumer->index = 0;
sys/geom/raid3/g_raid3.c
2257
sc->sc_syncdisk = disk;
sys/geom/raid3/g_raid3.c
2262
disk->d_sync.ds_bios = malloc(sizeof(struct bio *) * g_raid3_syncreqs,
sys/geom/raid3/g_raid3.c
2266
disk->d_sync.ds_bios[n] = bp;
sys/geom/raid3/g_raid3.c
2271
bp->bio_offset = disk->d_sync.ds_offset * (sc->sc_ndisks - 1);
sys/geom/raid3/g_raid3.c
2273
disk->d_sync.ds_offset += bp->bio_length / (sc->sc_ndisks - 1);
sys/geom/raid3/g_raid3.c
2275
bp->bio_from = disk->d_sync.ds_consumer;
sys/geom/raid3/g_raid3.c
2281
disk->d_sync.ds_inflight = g_raid3_syncreqs;
sys/geom/raid3/g_raid3.c
2287
bp = disk->d_sync.ds_bios[n];
sys/geom/raid3/g_raid3.c
2289
disk->d_sync.ds_consumer->index++;
sys/geom/raid3/g_raid3.c
2296
g_io_request(bp, disk->d_sync.ds_consumer);
sys/geom/raid3/g_raid3.c
2308
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3.c
2317
disk = sc->sc_syncdisk;
sys/geom/raid3/g_raid3.c
2319
KASSERT(disk != NULL, ("No disk was synchronized (%s).", sc->sc_name));
sys/geom/raid3/g_raid3.c
2320
KASSERT(disk->d_state == G_RAID3_DISK_STATE_SYNCHRONIZING,
sys/geom/raid3/g_raid3.c
2321
("Wrong disk state (%s, %s).", g_raid3_get_diskname(disk),
sys/geom/raid3/g_raid3.c
2322
g_raid3_disk_state2str(disk->d_state)));
sys/geom/raid3/g_raid3.c
2323
if (disk->d_sync.ds_consumer == NULL)
sys/geom/raid3/g_raid3.c
2328
sc->sc_name, g_raid3_get_diskname(disk));
sys/geom/raid3/g_raid3.c
2331
sc->sc_name, g_raid3_get_diskname(disk));
sys/geom/raid3/g_raid3.c
2333
free(disk->d_sync.ds_bios, M_RAID3);
sys/geom/raid3/g_raid3.c
2334
disk->d_sync.ds_bios = NULL;
sys/geom/raid3/g_raid3.c
2335
cp = disk->d_sync.ds_consumer;
sys/geom/raid3/g_raid3.c
2336
disk->d_sync.ds_consumer = NULL;
sys/geom/raid3/g_raid3.c
2337
disk->d_flags &= ~G_RAID3_DISK_FLAG_DIRTY;
sys/geom/raid3/g_raid3.c
2349
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3.c
2361
disk = &sc->sc_disks[n];
sys/geom/raid3/g_raid3.c
2362
if (disk->d_consumer && disk->d_consumer->provider &&
sys/geom/raid3/g_raid3.c
2363
disk->d_consumer->provider->stripesize > pp->stripesize) {
sys/geom/raid3/g_raid3.c
2364
pp->stripesize = disk->d_consumer->provider->stripesize;
sys/geom/raid3/g_raid3.c
2365
pp->stripeoffset = disk->d_consumer->provider->stripeoffset;
sys/geom/raid3/g_raid3.c
2433
g_raid3_determine_state(struct g_raid3_disk *disk)
sys/geom/raid3/g_raid3.c
2438
sc = disk->d_softc;
sys/geom/raid3/g_raid3.c
2439
if (sc->sc_syncid == disk->d_sync.ds_syncid) {
sys/geom/raid3/g_raid3.c
2440
if ((disk->d_flags &
sys/geom/raid3/g_raid3.c
2447
(disk->d_flags &
sys/geom/raid3/g_raid3.c
2458
} else if (disk->d_sync.ds_syncid < sc->sc_syncid) {
sys/geom/raid3/g_raid3.c
2464
disk->d_flags |= G_RAID3_DISK_FLAG_SYNCHRONIZING;
sys/geom/raid3/g_raid3.c
2465
disk->d_sync.ds_offset = 0;
sys/geom/raid3/g_raid3.c
2466
disk->d_sync.ds_offset_done = 0;
sys/geom/raid3/g_raid3.c
2467
disk->d_sync.ds_syncid = sc->sc_syncid;
sys/geom/raid3/g_raid3.c
2469
(disk->d_flags & G_RAID3_DISK_FLAG_FORCE_SYNC) != 0) {
sys/geom/raid3/g_raid3.c
2486
g_raid3_get_diskname(disk));
sys/geom/raid3/g_raid3.c
2487
g_raid3_destroy_disk(disk);
sys/geom/raid3/g_raid3.c
2493
g_raid3_get_diskname(disk), g_raid3_disk_state2str(state));
sys/geom/raid3/g_raid3.c
2503
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3.c
2541
disk = &sc->sc_disks[n];
sys/geom/raid3/g_raid3.c
2542
if (disk->d_state == G_RAID3_DISK_STATE_NODISK)
sys/geom/raid3/g_raid3.c
2544
if (disk->d_genid > genid)
sys/geom/raid3/g_raid3.c
2545
genid = disk->d_genid;
sys/geom/raid3/g_raid3.c
2552
disk = &sc->sc_disks[n];
sys/geom/raid3/g_raid3.c
2553
if (disk->d_state == G_RAID3_DISK_STATE_NODISK)
sys/geom/raid3/g_raid3.c
2555
if (disk->d_genid < genid) {
sys/geom/raid3/g_raid3.c
2558
g_raid3_get_diskname(disk), sc->sc_name);
sys/geom/raid3/g_raid3.c
2559
g_raid3_destroy_disk(disk);
sys/geom/raid3/g_raid3.c
2574
disk = &sc->sc_disks[n];
sys/geom/raid3/g_raid3.c
2575
if (disk->d_state == G_RAID3_DISK_STATE_NODISK)
sys/geom/raid3/g_raid3.c
2577
if ((disk->d_flags & G_RAID3_DISK_FLAG_DIRTY) != 0)
sys/geom/raid3/g_raid3.c
2579
if (disk->d_sync.ds_syncid > syncid) {
sys/geom/raid3/g_raid3.c
2580
syncid = disk->d_sync.ds_syncid;
sys/geom/raid3/g_raid3.c
2582
} else if (disk->d_sync.ds_syncid < syncid) {
sys/geom/raid3/g_raid3.c
2585
if ((disk->d_flags &
sys/geom/raid3/g_raid3.c
2608
disk = &sc->sc_disks[n];
sys/geom/raid3/g_raid3.c
2609
if ((disk->d_flags &
sys/geom/raid3/g_raid3.c
2613
disk->d_flags |=
sys/geom/raid3/g_raid3.c
2617
disk = &sc->sc_disks[sc->sc_ndisks - 1];
sys/geom/raid3/g_raid3.c
2618
disk->d_flags |= G_RAID3_DISK_FLAG_SYNCHRONIZING;
sys/geom/raid3/g_raid3.c
2635
disk = &sc->sc_disks[n];
sys/geom/raid3/g_raid3.c
2636
if (disk->d_state == G_RAID3_DISK_STATE_NODISK)
sys/geom/raid3/g_raid3.c
2638
state = g_raid3_determine_state(disk);
sys/geom/raid3/g_raid3.c
2639
g_raid3_event_send(disk, state, G_RAID3_EVENT_DONTWAIT);
sys/geom/raid3/g_raid3.c
2726
g_raid3_get_diskname(disk), \
sys/geom/raid3/g_raid3.c
2727
g_raid3_disk_state2str(disk->d_state), \
sys/geom/raid3/g_raid3.c
2730
g_raid3_update_disk(struct g_raid3_disk *disk, u_int state)
sys/geom/raid3/g_raid3.c
2734
sc = disk->d_softc;
sys/geom/raid3/g_raid3.c
2739
g_raid3_get_diskname(disk), g_raid3_disk_state2str(disk->d_state),
sys/geom/raid3/g_raid3.c
2748
KASSERT(disk->d_state == G_RAID3_DISK_STATE_NONE,
sys/geom/raid3/g_raid3.c
2749
("Wrong disk state (%s, %s).", g_raid3_get_diskname(disk),
sys/geom/raid3/g_raid3.c
2750
g_raid3_disk_state2str(disk->d_state)));
sys/geom/raid3/g_raid3.c
2753
disk->d_state = state;
sys/geom/raid3/g_raid3.c
2755
sc->sc_name, g_raid3_get_diskname(disk));
sys/geom/raid3/g_raid3.c
2762
g_raid3_get_diskname(disk),
sys/geom/raid3/g_raid3.c
2763
g_raid3_disk_state2str(disk->d_state)));
sys/geom/raid3/g_raid3.c
2764
state = g_raid3_determine_state(disk);
sys/geom/raid3/g_raid3.c
2778
g_raid3_get_diskname(disk),
sys/geom/raid3/g_raid3.c
2779
g_raid3_disk_state2str(disk->d_state)));
sys/geom/raid3/g_raid3.c
2781
KASSERT(disk->d_state == G_RAID3_DISK_STATE_NEW ||
sys/geom/raid3/g_raid3.c
2782
disk->d_state == G_RAID3_DISK_STATE_SYNCHRONIZING,
sys/geom/raid3/g_raid3.c
2783
("Wrong disk state (%s, %s).", g_raid3_get_diskname(disk),
sys/geom/raid3/g_raid3.c
2784
g_raid3_disk_state2str(disk->d_state)));
sys/geom/raid3/g_raid3.c
2787
if (disk->d_state == G_RAID3_DISK_STATE_SYNCHRONIZING) {
sys/geom/raid3/g_raid3.c
2788
disk->d_flags &= ~G_RAID3_DISK_FLAG_SYNCHRONIZING;
sys/geom/raid3/g_raid3.c
2789
disk->d_flags &= ~G_RAID3_DISK_FLAG_FORCE_SYNC;
sys/geom/raid3/g_raid3.c
2792
disk->d_state = state;
sys/geom/raid3/g_raid3.c
2793
disk->d_sync.ds_offset = 0;
sys/geom/raid3/g_raid3.c
2794
disk->d_sync.ds_offset_done = 0;
sys/geom/raid3/g_raid3.c
2795
g_raid3_update_idle(sc, disk);
sys/geom/raid3/g_raid3.c
2796
g_raid3_update_metadata(disk);
sys/geom/raid3/g_raid3.c
2798
sc->sc_name, g_raid3_get_diskname(disk));
sys/geom/raid3/g_raid3.c
2806
KASSERT(disk->d_state == G_RAID3_DISK_STATE_NEW,
sys/geom/raid3/g_raid3.c
2807
("Wrong disk state (%s, %s).", g_raid3_get_diskname(disk),
sys/geom/raid3/g_raid3.c
2808
g_raid3_disk_state2str(disk->d_state)));
sys/geom/raid3/g_raid3.c
2813
g_raid3_get_diskname(disk),
sys/geom/raid3/g_raid3.c
2814
g_raid3_disk_state2str(disk->d_state)));
sys/geom/raid3/g_raid3.c
2822
g_raid3_get_diskname(disk),
sys/geom/raid3/g_raid3.c
2823
g_raid3_disk_state2str(disk->d_state)));
sys/geom/raid3/g_raid3.c
2826
disk->d_flags &= ~G_RAID3_DISK_FLAG_DIRTY;
sys/geom/raid3/g_raid3.c
2827
disk->d_state = state;
sys/geom/raid3/g_raid3.c
2828
g_raid3_update_metadata(disk);
sys/geom/raid3/g_raid3.c
2830
sc->sc_name, g_raid3_get_diskname(disk));
sys/geom/raid3/g_raid3.c
2838
KASSERT(disk->d_state == G_RAID3_DISK_STATE_NEW,
sys/geom/raid3/g_raid3.c
2839
("Wrong disk state (%s, %s).", g_raid3_get_diskname(disk),
sys/geom/raid3/g_raid3.c
2840
g_raid3_disk_state2str(disk->d_state)));
sys/geom/raid3/g_raid3.c
2845
g_raid3_get_diskname(disk),
sys/geom/raid3/g_raid3.c
2846
g_raid3_disk_state2str(disk->d_state)));
sys/geom/raid3/g_raid3.c
2849
if (disk->d_state == G_RAID3_DISK_STATE_NEW)
sys/geom/raid3/g_raid3.c
2850
disk->d_flags &= ~G_RAID3_DISK_FLAG_DIRTY;
sys/geom/raid3/g_raid3.c
2851
disk->d_state = state;
sys/geom/raid3/g_raid3.c
2854
g_raid3_update_metadata(disk);
sys/geom/raid3/g_raid3.c
2870
KASSERT(disk->d_state == G_RAID3_DISK_STATE_ACTIVE ||
sys/geom/raid3/g_raid3.c
2871
disk->d_state == G_RAID3_DISK_STATE_STALE ||
sys/geom/raid3/g_raid3.c
2872
disk->d_state == G_RAID3_DISK_STATE_SYNCHRONIZING,
sys/geom/raid3/g_raid3.c
2874
g_raid3_get_diskname(disk),
sys/geom/raid3/g_raid3.c
2875
g_raid3_disk_state2str(disk->d_state)));
sys/geom/raid3/g_raid3.c
2878
KASSERT(disk->d_state == G_RAID3_DISK_STATE_NEW,
sys/geom/raid3/g_raid3.c
2880
g_raid3_get_diskname(disk),
sys/geom/raid3/g_raid3.c
2881
g_raid3_disk_state2str(disk->d_state)));
sys/geom/raid3/g_raid3.c
2893
g_raid3_get_diskname(disk),
sys/geom/raid3/g_raid3.c
2894
g_raid3_disk_state2str(disk->d_state)));
sys/geom/raid3/g_raid3.c
2899
sc->sc_name, g_raid3_get_diskname(disk));
sys/geom/raid3/g_raid3.c
2901
g_raid3_destroy_disk(disk);
sys/geom/raid3/g_raid3.c
296
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3.c
301
disk = NULL;
sys/geom/raid3/g_raid3.c
304
disk = arg;
sys/geom/raid3/g_raid3.c
305
sc = disk->d_softc;
sys/geom/raid3/g_raid3.c
3051
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3.c
3066
disk = g_raid3_init_disk(sc, pp, md, &error);
sys/geom/raid3/g_raid3.c
3067
if (disk == NULL)
sys/geom/raid3/g_raid3.c
3069
error = g_raid3_event_send(disk, G_RAID3_DISK_STATE_NEW,
sys/geom/raid3/g_raid3.c
307
ep->e_disk = disk;
sys/geom/raid3/g_raid3.c
3076
g_raid3_update_metadata(disk);
sys/geom/raid3/g_raid3.c
3449
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3.c
3451
disk = cp->private;
sys/geom/raid3/g_raid3.c
3452
if (disk == NULL)
sys/geom/raid3/g_raid3.c
3457
if (disk->d_no == sc->sc_ndisks - 1)
sys/geom/raid3/g_raid3.c
3463
(u_int)disk->d_no);
sys/geom/raid3/g_raid3.c
3464
if (disk->d_state == G_RAID3_DISK_STATE_SYNCHRONIZING) {
sys/geom/raid3/g_raid3.c
3466
if (disk->d_sync.ds_offset == 0)
sys/geom/raid3/g_raid3.c
3470
(u_int)((disk->d_sync.ds_offset * 100) /
sys/geom/raid3/g_raid3.c
3474
if (disk->d_sync.ds_offset > 0) {
sys/geom/raid3/g_raid3.c
3477
(intmax_t)disk->d_sync.ds_offset);
sys/geom/raid3/g_raid3.c
3481
disk->d_sync.ds_syncid);
sys/geom/raid3/g_raid3.c
3482
sbuf_printf(sb, "%s<GenID>%u</GenID>\n", indent, disk->d_genid);
sys/geom/raid3/g_raid3.c
3484
if (disk->d_flags == 0)
sys/geom/raid3/g_raid3.c
3490
if ((disk->d_flags & (flag)) != 0) { \
sys/geom/raid3/g_raid3.c
3508
g_raid3_disk_state2str(disk->d_state));
sys/geom/raid3/g_raid3.c
365
g_raid3_event_cancel(struct g_raid3_disk *disk)
sys/geom/raid3/g_raid3.c
370
sc = disk->d_softc;
sys/geom/raid3/g_raid3.c
377
if (ep->e_disk != disk)
sys/geom/raid3/g_raid3.c
397
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3.c
403
disk = &sc->sc_disks[n];
sys/geom/raid3/g_raid3.c
404
if (disk->d_state == G_RAID3_DISK_STATE_NODISK)
sys/geom/raid3/g_raid3.c
406
if (state == -1 || disk->d_state == state)
sys/geom/raid3/g_raid3.c
500
g_raid3_connect_disk(struct g_raid3_disk *disk, struct g_provider *pp)
sys/geom/raid3/g_raid3.c
506
KASSERT(disk->d_consumer == NULL,
sys/geom/raid3/g_raid3.c
507
("Disk already connected (device %s).", disk->d_softc->sc_name));
sys/geom/raid3/g_raid3.c
510
cp = g_new_consumer(disk->d_softc->sc_geom);
sys/geom/raid3/g_raid3.c
526
disk->d_consumer = cp;
sys/geom/raid3/g_raid3.c
527
disk->d_consumer->private = disk;
sys/geom/raid3/g_raid3.c
528
disk->d_consumer->index = 0;
sys/geom/raid3/g_raid3.c
529
G_RAID3_DEBUG(2, "Disk %s connected.", g_raid3_get_diskname(disk));
sys/geom/raid3/g_raid3.c
555
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3.c
558
disk = &sc->sc_disks[md->md_no];
sys/geom/raid3/g_raid3.c
559
error = g_raid3_connect_disk(disk, pp);
sys/geom/raid3/g_raid3.c
565
disk->d_state = G_RAID3_DISK_STATE_NONE;
sys/geom/raid3/g_raid3.c
566
disk->d_flags = md->md_dflags;
sys/geom/raid3/g_raid3.c
568
disk->d_flags |= G_RAID3_DISK_FLAG_HARDCODED;
sys/geom/raid3/g_raid3.c
569
disk->d_sync.ds_consumer = NULL;
sys/geom/raid3/g_raid3.c
570
disk->d_sync.ds_offset = md->md_sync_offset;
sys/geom/raid3/g_raid3.c
571
disk->d_sync.ds_offset_done = md->md_sync_offset;
sys/geom/raid3/g_raid3.c
572
disk->d_genid = md->md_genid;
sys/geom/raid3/g_raid3.c
573
disk->d_sync.ds_syncid = md->md_syncid;
sys/geom/raid3/g_raid3.c
576
return (disk);
sys/geom/raid3/g_raid3.c
580
g_raid3_destroy_disk(struct g_raid3_disk *disk)
sys/geom/raid3/g_raid3.c
585
sc = disk->d_softc;
sys/geom/raid3/g_raid3.c
588
if (disk->d_state == G_RAID3_DISK_STATE_NODISK)
sys/geom/raid3/g_raid3.c
590
g_raid3_event_cancel(disk);
sys/geom/raid3/g_raid3.c
591
switch (disk->d_state) {
sys/geom/raid3/g_raid3.c
600
g_raid3_disconnect_consumer(sc, disk->d_consumer);
sys/geom/raid3/g_raid3.c
602
disk->d_consumer = NULL;
sys/geom/raid3/g_raid3.c
606
g_raid3_get_diskname(disk),
sys/geom/raid3/g_raid3.c
607
g_raid3_disk_state2str(disk->d_state)));
sys/geom/raid3/g_raid3.c
609
disk->d_state = G_RAID3_DISK_STATE_NODISK;
sys/geom/raid3/g_raid3.c
644
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3.c
656
disk = &sc->sc_disks[n];
sys/geom/raid3/g_raid3.c
657
if (disk->d_state != G_RAID3_DISK_STATE_NODISK) {
sys/geom/raid3/g_raid3.c
658
disk->d_flags &= ~G_RAID3_DISK_FLAG_DIRTY;
sys/geom/raid3/g_raid3.c
659
g_raid3_update_metadata(disk);
sys/geom/raid3/g_raid3.c
660
g_raid3_destroy_disk(disk);
sys/geom/raid3/g_raid3.c
692
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3.c
696
disk = cp->private;
sys/geom/raid3/g_raid3.c
697
if (disk == NULL)
sys/geom/raid3/g_raid3.c
699
disk->d_softc->sc_bump_id = G_RAID3_BUMP_SYNCID;
sys/geom/raid3/g_raid3.c
700
g_raid3_event_send(disk, G_RAID3_DISK_STATE_DISCONNECTED,
sys/geom/raid3/g_raid3.c
705
g_raid3_write_metadata(struct g_raid3_disk *disk, struct g_raid3_metadata *md)
sys/geom/raid3/g_raid3.c
714
sc = disk->d_softc;
sys/geom/raid3/g_raid3.c
717
cp = disk->d_consumer;
sys/geom/raid3/g_raid3.c
731
if ((disk->d_flags & G_RAID3_DISK_FLAG_BROKEN) == 0) {
sys/geom/raid3/g_raid3.c
734
g_raid3_get_diskname(disk), sc->sc_name, error);
sys/geom/raid3/g_raid3.c
735
disk->d_flags |= G_RAID3_DISK_FLAG_BROKEN;
sys/geom/raid3/g_raid3.c
739
g_raid3_get_diskname(disk), sc->sc_name, error);
sys/geom/raid3/g_raid3.c
744
g_raid3_event_send(disk,
sys/geom/raid3/g_raid3.c
753
g_raid3_clear_metadata(struct g_raid3_disk *disk)
sys/geom/raid3/g_raid3.c
758
sx_assert(&disk->d_softc->sc_lock, SX_LOCKED);
sys/geom/raid3/g_raid3.c
760
error = g_raid3_write_metadata(disk, NULL);
sys/geom/raid3/g_raid3.c
763
g_raid3_get_diskname(disk));
sys/geom/raid3/g_raid3.c
767
g_raid3_get_diskname(disk), error);
sys/geom/raid3/g_raid3.c
773
g_raid3_fill_metadata(struct g_raid3_disk *disk, struct g_raid3_metadata *md)
sys/geom/raid3/g_raid3.c
779
sc = disk->d_softc;
sys/geom/raid3/g_raid3.c
789
md->md_no = disk->d_no;
sys/geom/raid3/g_raid3.c
790
md->md_syncid = disk->d_sync.ds_syncid;
sys/geom/raid3/g_raid3.c
791
md->md_dflags = (disk->d_flags & G_RAID3_DISK_FLAG_MASK);
sys/geom/raid3/g_raid3.c
792
if (disk->d_state == G_RAID3_DISK_STATE_SYNCHRONIZING) {
sys/geom/raid3/g_raid3.c
794
disk->d_sync.ds_offset_done / (sc->sc_ndisks - 1);
sys/geom/raid3/g_raid3.c
796
if (disk->d_consumer != NULL && disk->d_consumer->provider != NULL)
sys/geom/raid3/g_raid3.c
797
pp = disk->d_consumer->provider;
sys/geom/raid3/g_raid3.c
800
if ((disk->d_flags & G_RAID3_DISK_FLAG_HARDCODED) != 0 && pp != NULL)
sys/geom/raid3/g_raid3.c
807
g_raid3_update_metadata(struct g_raid3_disk *disk)
sys/geom/raid3/g_raid3.c
814
sc = disk->d_softc;
sys/geom/raid3/g_raid3.c
817
g_raid3_fill_metadata(disk, &md);
sys/geom/raid3/g_raid3.c
818
error = g_raid3_write_metadata(disk, &md);
sys/geom/raid3/g_raid3.c
821
g_raid3_get_diskname(disk));
sys/geom/raid3/g_raid3.c
825
g_raid3_get_diskname(disk), error);
sys/geom/raid3/g_raid3.c
832
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3.c
845
disk = &sc->sc_disks[n];
sys/geom/raid3/g_raid3.c
846
if (disk->d_state == G_RAID3_DISK_STATE_ACTIVE ||
sys/geom/raid3/g_raid3.c
847
disk->d_state == G_RAID3_DISK_STATE_SYNCHRONIZING) {
sys/geom/raid3/g_raid3.c
848
disk->d_sync.ds_syncid = sc->sc_syncid;
sys/geom/raid3/g_raid3.c
849
g_raid3_update_metadata(disk);
sys/geom/raid3/g_raid3.c
857
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3.c
870
disk = &sc->sc_disks[n];
sys/geom/raid3/g_raid3.c
871
if (disk->d_state == G_RAID3_DISK_STATE_ACTIVE ||
sys/geom/raid3/g_raid3.c
872
disk->d_state == G_RAID3_DISK_STATE_SYNCHRONIZING) {
sys/geom/raid3/g_raid3.c
873
disk->d_genid = sc->sc_genid;
sys/geom/raid3/g_raid3.c
874
g_raid3_update_metadata(disk);
sys/geom/raid3/g_raid3.c
882
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3.c
904
disk = &sc->sc_disks[i];
sys/geom/raid3/g_raid3.c
905
if (disk->d_state != G_RAID3_DISK_STATE_ACTIVE)
sys/geom/raid3/g_raid3.c
908
g_raid3_get_diskname(disk), sc->sc_name);
sys/geom/raid3/g_raid3.c
909
disk->d_flags &= ~G_RAID3_DISK_FLAG_DIRTY;
sys/geom/raid3/g_raid3.c
910
g_raid3_update_metadata(disk);
sys/geom/raid3/g_raid3.c
918
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3.c
929
disk = &sc->sc_disks[i];
sys/geom/raid3/g_raid3.c
930
if (disk->d_state != G_RAID3_DISK_STATE_ACTIVE)
sys/geom/raid3/g_raid3.c
933
g_raid3_get_diskname(disk), sc->sc_name);
sys/geom/raid3/g_raid3.c
934
disk->d_flags |= G_RAID3_DISK_FLAG_DIRTY;
sys/geom/raid3/g_raid3.c
935
g_raid3_update_metadata(disk);
sys/geom/raid3/g_raid3.h
234
const char *g_raid3_get_diskname(struct g_raid3_disk *disk);
sys/geom/raid3/g_raid3.h
245
void g_raid3_fill_metadata(struct g_raid3_disk *disk,
sys/geom/raid3/g_raid3.h
247
int g_raid3_clear_metadata(struct g_raid3_disk *disk);
sys/geom/raid3/g_raid3.h
248
void g_raid3_update_metadata(struct g_raid3_disk *disk);
sys/geom/raid3/g_raid3_ctl.c
236
disk = &sc->sc_disks[n];
sys/geom/raid3/g_raid3_ctl.c
238
if (disk->d_state == G_RAID3_DISK_STATE_SYNCHRONIZING)
sys/geom/raid3/g_raid3_ctl.c
239
disk->d_flags &= ~G_RAID3_DISK_FLAG_FORCE_SYNC;
sys/geom/raid3/g_raid3_ctl.c
242
disk->d_flags &= ~G_RAID3_DISK_FLAG_DIRTY;
sys/geom/raid3/g_raid3_ctl.c
243
g_raid3_update_metadata(disk);
sys/geom/raid3/g_raid3_ctl.c
245
if (disk->d_state == G_RAID3_DISK_STATE_STALE) {
sys/geom/raid3/g_raid3_ctl.c
250
g_raid3_event_send(disk,
sys/geom/raid3/g_raid3_ctl.c
264
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3_ctl.c
294
disk = g_raid3_find_disk(sc, name);
sys/geom/raid3/g_raid3_ctl.c
295
if (disk == NULL) {
sys/geom/raid3/g_raid3_ctl.c
300
if (disk->d_state == G_RAID3_DISK_STATE_ACTIVE &&
sys/geom/raid3/g_raid3_ctl.c
310
disk->d_sync.ds_syncid = 0;
sys/geom/raid3/g_raid3_ctl.c
312
disk->d_flags |= G_RAID3_DISK_FLAG_FORCE_SYNC;
sys/geom/raid3/g_raid3_ctl.c
313
g_raid3_update_metadata(disk);
sys/geom/raid3/g_raid3_ctl.c
314
pp = disk->d_consumer->provider;
sys/geom/raid3/g_raid3_ctl.c
316
error = g_raid3_read_metadata(disk->d_consumer, &md);
sys/geom/raid3/g_raid3_ctl.c
318
g_raid3_event_send(disk, G_RAID3_DISK_STATE_DISCONNECTED,
sys/geom/raid3/g_raid3_ctl.c
397
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3_ctl.c
460
disk = &sc->sc_disks[*no];
sys/geom/raid3/g_raid3_ctl.c
461
if (disk->d_state != G_RAID3_DISK_STATE_NODISK) {
sys/geom/raid3/g_raid3_ctl.c
468
disk = NULL;
sys/geom/raid3/g_raid3_ctl.c
469
for (autono = 0; autono < sc->sc_ndisks && disk == NULL; autono++)
sys/geom/raid3/g_raid3_ctl.c
472
disk = &sc->sc_disks[autono];
sys/geom/raid3/g_raid3_ctl.c
473
if (disk == NULL) {
sys/geom/raid3/g_raid3_ctl.c
498
g_raid3_fill_metadata(disk, &md);
sys/geom/raid3/g_raid3_ctl.c
529
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3_ctl.c
563
disk = &sc->sc_disks[*no];
sys/geom/raid3/g_raid3_ctl.c
564
switch (disk->d_state) {
sys/geom/raid3/g_raid3_ctl.c
579
if (g_raid3_clear_metadata(disk) != 0) {
sys/geom/raid3/g_raid3_ctl.c
581
g_raid3_get_diskname(disk));
sys/geom/raid3/g_raid3_ctl.c
583
g_raid3_event_send(disk,
sys/geom/raid3/g_raid3_ctl.c
73
struct g_raid3_disk *disk;
sys/geom/raid3/g_raid3_ctl.c
80
disk = &sc->sc_disks[n];
sys/geom/raid3/g_raid3_ctl.c
81
if (disk->d_state == G_RAID3_DISK_STATE_NODISK)
sys/geom/raid3/g_raid3_ctl.c
83
if (disk->d_consumer == NULL)
sys/geom/raid3/g_raid3_ctl.c
85
if (disk->d_consumer->provider == NULL)
sys/geom/raid3/g_raid3_ctl.c
87
if (strcmp(disk->d_consumer->provider->name, name) == 0)
sys/geom/raid3/g_raid3_ctl.c
88
return (disk);
sys/geom/raid3/g_raid3_ctl.c
97
struct g_raid3_disk *disk;
sys/powerpc/mambo/mambo_disk.c
101
struct disk *d;
sys/powerpc/mambo/mambo_disk.c
109
d = sc->disk = disk_alloc();
sys/powerpc/mambo/mambo_disk.c
160
disk_destroy(sc->disk);
sys/powerpc/mambo/mambo_disk.c
169
mambodisk_open(struct disk *dp)
sys/powerpc/mambo/mambo_disk.c
175
mambodisk_close(struct disk *dp)
sys/powerpc/mambo/mambo_disk.c
218
sz = sc->disk->d_sectorsize;
sys/powerpc/mambo/mambo_disk.c
46
struct disk *disk;
sys/powerpc/mambo/mambo_disk.c
67
static int mambodisk_open(struct disk *dp);
sys/powerpc/mambo/mambo_disk.c
68
static int mambodisk_close(struct disk *dp);
sys/powerpc/powernv/opal_flash.c
102
opalflash_open(struct disk *dp)
sys/powerpc/powernv/opal_flash.c
109
opalflash_close(struct disk *dp)
sys/powerpc/powernv/opal_flash.c
116
opalflash_ioctl(struct disk *dp, u_long cmd, void *data, int fflag,
sys/powerpc/powernv/opal_flash.c
66
struct disk *sc_disk;
sys/powerpc/ps3/ps3disk.c
115
struct disk **sc_disk;
sys/powerpc/ps3/ps3disk.c
127
static int ps3disk_open(struct disk *dp);
sys/powerpc/ps3/ps3disk.c
128
static int ps3disk_close(struct disk *dp);
sys/powerpc/ps3/ps3disk.c
158
struct disk *d;
sys/powerpc/ps3/ps3disk.c
225
sc->sc_disk = malloc(sc->sc_nregs * sizeof(struct disk *),
sys/powerpc/ps3/ps3disk.c
309
ps3disk_open(struct disk *dp)
sys/powerpc/ps3/ps3disk.c
315
ps3disk_close(struct disk *dp)
sys/sys/bio.h
79
struct disk;
sys/sys/bio.h
93
struct disk *bio_disk; /* Valid below geom_disk.c only */
tests/sys/geom/class/eli/unaligned_io.c
50
const char *disk;
tests/sys/geom/class/eli/unaligned_io.c
60
disk = argv[1];
tests/sys/geom/class/eli/unaligned_io.c
62
fd = open(disk, O_RDWR);
tests/sys/geom/class/eli/unaligned_io.c
64
err(1, "open(%s)", disk);
tools/diag/prtblknos/main.c
37
struct uufsd disk;
tools/diag/prtblknos/main.c
76
if (ufs_disk_fillout_blank(&disk, fsname) == -1 ||
tools/diag/prtblknos/main.c
77
sbfind(&disk, 0) == -1)
tools/diag/prtblknos/main.c
79
fs = (struct fs *)&disk.d_sbunion.d_sb;
tools/diag/prtblknos/main.c
93
if (getinode(&disk, &dp, inonum) < 0)
tools/diag/prtblknos/main.c
95
(intmax_t)inonum, fsname, disk.d_error);
tools/diag/prtblknos/prtblknos.c
163
if (bread(&disk, fsbtodb(fs, blkno), indir, fs->fs_bsize) == -1) {
tools/diag/prtblknos/prtblknos.c
36
extern struct uufsd disk;
tools/tools/bootparttest/bootparttest.c
103
disk.fd = open(argv[1], O_RDONLY);
tools/tools/bootparttest/bootparttest.c
104
if (disk.fd < 0)
tools/tools/bootparttest/bootparttest.c
106
disk.mediasize = sb.st_size;
tools/tools/bootparttest/bootparttest.c
107
disk.sectorsize = 512;
tools/tools/bootparttest/bootparttest.c
108
disk.file = 1;
tools/tools/bootparttest/bootparttest.c
110
disk.fd = g_open(argv[1], 0);
tools/tools/bootparttest/bootparttest.c
111
if (disk.fd < 0)
tools/tools/bootparttest/bootparttest.c
113
disk.mediasize = g_mediasize(disk.fd);
tools/tools/bootparttest/bootparttest.c
114
disk.sectorsize = g_sectorsize(disk.fd);
tools/tools/bootparttest/bootparttest.c
119
printf("%s \"%s\" opened\n", disk.file ? "Disk image": "GEOM provider",
tools/tools/bootparttest/bootparttest.c
122
disk.mediasize, disk.mediasize / disk.sectorsize, disk.sectorsize);
tools/tools/bootparttest/bootparttest.c
124
if (disk_open(&dev, disk.mediasize, disk.sectorsize) != 0)
tools/tools/bootparttest/bootparttest.c
130
if (disk.file)
tools/tools/bootparttest/bootparttest.c
131
close(disk.fd);
tools/tools/bootparttest/bootparttest.c
133
g_close(disk.fd);
tools/tools/bootparttest/bootparttest.c
65
} disk;
tools/tools/bootparttest/bootparttest.c
80
ret = pread(disk.fd, buf, size,
tools/tools/bootparttest/bootparttest.c
81
(blk + dev->d_offset) * disk.sectorsize);
tools/tools/bootparttest/bootparttest.c
97
memset(&disk, 0, sizeof(disk));
tools/tools/vhba/faulty/vhba_faulty.c
293
memcpy(csio->data_ptr, &vhbas->disk[off], data_len);
tools/tools/vhba/faulty/vhba_faulty.c
295
memcpy(&vhbas->disk[off], csio->data_ptr, data_len);
tools/tools/vhba/faulty/vhba_faulty.c
43
uint8_t * disk;
tools/tools/vhba/faulty/vhba_faulty.c
59
vhbastatic.disk = malloc(vhbastatic.disk_size, M_DEVBUF, M_WAITOK|M_ZERO);
tools/tools/vhba/faulty/vhba_faulty.c
71
free(vhbas->disk, M_DEVBUF);
tools/tools/vhba/lots/vhba_lots.c
279
memcpy(csio->data_ptr, &vhbas->disk[off], data_len);
tools/tools/vhba/lots/vhba_lots.c
281
memcpy(&vhbas->disk[off], csio->data_ptr, data_len);
tools/tools/vhba/lots/vhba_lots.c
43
uint8_t * disk;
tools/tools/vhba/lots/vhba_lots.c
57
vhbas.disk = malloc(vhbas.disk_size, M_DEVBUF, M_WAITOK|M_ZERO);
tools/tools/vhba/lots/vhba_lots.c
68
free(vhbas->disk, M_DEVBUF);
tools/tools/vhba/medium/vhba_medium.c
279
memcpy(csio->data_ptr, &vhbas->disk[off], data_len);
tools/tools/vhba/medium/vhba_medium.c
281
memcpy(&vhbas->disk[off], csio->data_ptr, data_len);
tools/tools/vhba/medium/vhba_medium.c
43
uint8_t * disk;
tools/tools/vhba/medium/vhba_medium.c
57
vhbas.disk = malloc(vhbas.disk_size, M_DEVBUF, M_WAITOK|M_ZERO);
tools/tools/vhba/medium/vhba_medium.c
68
free(vhbas->disk, M_DEVBUF);
tools/tools/vhba/mptest/vhba_mptest.c
324
memcpy(csio->data_ptr, &vhbas->disk[off], data_len);
tools/tools/vhba/mptest/vhba_mptest.c
326
memcpy(&vhbas->disk[off], csio->data_ptr, data_len);
tools/tools/vhba/mptest/vhba_mptest.c
57
uint8_t * disk;
tools/tools/vhba/mptest/vhba_mptest.c
78
vhbastatic.disk = malloc(vhbastatic.disk_size, M_DEVBUF, M_WAITOK|M_ZERO);
tools/tools/vhba/mptest/vhba_mptest.c
94
free(vhbas->disk, M_DEVBUF);
tools/tools/vhba/rptluns/vhba_rptluns.c
308
memcpy(csio->data_ptr, &vhbas->disk[off], data_len);
tools/tools/vhba/rptluns/vhba_rptluns.c
310
memcpy(&vhbas->disk[off], csio->data_ptr, data_len);
tools/tools/vhba/rptluns/vhba_rptluns.c
43
uint8_t * disk;
tools/tools/vhba/rptluns/vhba_rptluns.c
61
vhbas.disk = malloc(vhbas.disk_size, M_DEVBUF, M_WAITOK|M_ZERO);
tools/tools/vhba/rptluns/vhba_rptluns.c
89
free(vhbas->disk, M_DEVBUF);
tools/tools/vhba/simple/vhba_simple.c
279
memcpy(csio->data_ptr, &vhbas->disk[off], data_len);
tools/tools/vhba/simple/vhba_simple.c
281
memcpy(&vhbas->disk[off], csio->data_ptr, data_len);
tools/tools/vhba/simple/vhba_simple.c
43
uint8_t * disk;
tools/tools/vhba/simple/vhba_simple.c
57
vhbas.disk = malloc(vhbas.disk_size, M_DEVBUF, M_WAITOK|M_ZERO);
tools/tools/vhba/simple/vhba_simple.c
68
free(vhbas->disk, M_DEVBUF);
usr.sbin/boot0cfg/boot0cfg.c
121
char *disk;
usr.sbin/boot0cfg/boot0cfg.c
186
disk = g_device_path(*argv);
usr.sbin/boot0cfg/boot0cfg.c
187
if (disk == NULL)
usr.sbin/boot0cfg/boot0cfg.c
196
mbr_size = read_mbr(disk, &mbr, !B_flag);
usr.sbin/boot0cfg/boot0cfg.c
256
write_mbr(disk, 0, boot0, boot0_size, vol_id[4] || b0_ver == 1);
usr.sbin/boot0cfg/boot0cfg.c
266
free(disk);
usr.sbin/boot0cfg/boot0cfg.c
307
read_mbr(const char *disk, u_int8_t **mbr, int check_version)
usr.sbin/boot0cfg/boot0cfg.c
314
if ((fd = open(disk, O_RDONLY)) == -1)
usr.sbin/boot0cfg/boot0cfg.c
315
err(1, "open %s", disk);
usr.sbin/boot0cfg/boot0cfg.c
317
err(1, "read %s", disk);
usr.sbin/boot0cfg/boot0cfg.c
319
errx(1, "%s: short read", disk);
usr.sbin/boot0cfg/boot0cfg.c
321
errx(1, "%s: bad magic", disk);
usr.sbin/boot0cfg/boot0cfg.c
325
errx(1, "%s: unknown or incompatible boot code", disk);
usr.sbin/boot0cfg/boot0cfg.c
329
errx(1, "%s: unable to allocate read buffer", disk);
usr.sbin/boot0cfg/boot0cfg.c
332
err(1, "%s", disk);
usr.sbin/boot0cfg/boot0cfg.c
334
errx(1, "%s: short read", disk);
usr.sbin/boot0cfg/boot0cfg.c
339
errx(1, "%s: unable to allocate MBR buffer", disk);
usr.sbin/bsdinstall/partedit/part_wizard.c
100
free(disk);
usr.sbin/bsdinstall/partedit/part_wizard.c
244
wizard_partition(struct gmesh *mesh, const char *disk)
usr.sbin/bsdinstall/partedit/part_wizard.c
263
if (strcmp(gpart->lg_name, disk) == 0)
usr.sbin/bsdinstall/partedit/part_wizard.c
289
"currently stored there.", disk);
usr.sbin/bsdinstall/partedit/part_wizard.c
316
gpart_partition(disk, scheme);
usr.sbin/bsdinstall/partedit/part_wizard.c
334
gpart_partition(disk, scheme);
usr.sbin/bsdinstall/partedit/part_wizard.c
341
gpart_create(provider_for_name(&submesh, disk),
usr.sbin/bsdinstall/partedit/part_wizard.c
347
retval = strdup(disk);
usr.sbin/bsdinstall/partedit/part_wizard.c
354
wizard_makeparts(struct gmesh *mesh, const char *disk, const char *fstype,
usr.sbin/bsdinstall/partedit/part_wizard.c
380
if (strcmp(gp->lg_name, disk) == 0)
usr.sbin/bsdinstall/partedit/part_wizard.c
383
pp = provider_for_name(mesh, disk);
usr.sbin/bsdinstall/partedit/part_wizard.c
396
disk, availablestr, neededstr);
usr.sbin/bsdinstall/partedit/part_wizard.c
416
pp = provider_for_name(&submesh, disk);
usr.sbin/bsdinstall/partedit/part_wizard.c
423
pp = provider_for_name(&submesh, disk);
usr.sbin/bsdinstall/partedit/part_wizard.c
47
static char *wizard_partition(struct gmesh *mesh, const char *disk);
usr.sbin/bsdinstall/partedit/part_wizard.c
72
char *disk, *schemeroot;
usr.sbin/bsdinstall/partedit/part_wizard.c
91
disk = boot_disk_select(&mesh);
usr.sbin/bsdinstall/partedit/part_wizard.c
92
if (disk == NULL) {
usr.sbin/bsdinstall/partedit/part_wizard.c
99
schemeroot = wizard_partition(&mesh, disk);
usr.sbin/bsdinstall/partedit/partedit.h
62
int wizard_makeparts(struct gmesh *mesh, const char *disk, const char *fstype,
usr.sbin/bsdinstall/partedit/scripted.c
102
gpart_create(provider_for_name(&submesh, disk),
usr.sbin/bsdinstall/partedit/scripted.c
103
"freebsd", NULL, NULL, &disk, 0);
usr.sbin/bsdinstall/partedit/scripted.c
107
disk = strdup(disk);
usr.sbin/bsdinstall/partedit/scripted.c
113
free(disk);
usr.sbin/bsdinstall/partedit/scripted.c
119
wizard_makeparts(&mesh, disk, "ufs", 0);
usr.sbin/bsdinstall/partedit/scripted.c
138
gpart_create(provider_for_name(&mesh, disk), type, size, mount,
usr.sbin/bsdinstall/partedit/scripted.c
143
free(disk);
usr.sbin/bsdinstall/partedit/scripted.c
151
free(disk);
usr.sbin/bsdinstall/partedit/scripted.c
160
char *disk = NULL, *scheme = NULL, *partconfig = NULL;
usr.sbin/bsdinstall/partedit/scripted.c
183
if (disk == NULL)
usr.sbin/bsdinstall/partedit/scripted.c
184
disk = strsep(&input, " \t\n");
usr.sbin/bsdinstall/partedit/scripted.c
195
if (disk == NULL || strcmp(disk, "DEFAULT") == 0) {
usr.sbin/bsdinstall/partedit/scripted.c
199
disk = boot_disk_select(&mesh);
usr.sbin/bsdinstall/partedit/scripted.c
204
return (part_config(disk, scheme, partconfig));
usr.sbin/bsdinstall/partedit/scripted.c
65
part_config(char *disk, const char *scheme, char *config)
usr.sbin/bsdinstall/partedit/scripted.c
79
if (provider_for_name(&mesh, disk) == NULL) {
usr.sbin/bsdinstall/partedit/scripted.c
80
fprintf(stderr, "GEOM provider %s not found\n", disk);
usr.sbin/bsdinstall/partedit/scripted.c
91
if (strcmp(gpart->lg_name, disk) == 0)
usr.sbin/bsdinstall/partedit/scripted.c
96
gpart_partition(disk, scheme);
usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c
434
char *disk = NULL;
usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c
437
disk = strsep(&disk_list, " ");
usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c
438
if (disk == NULL)
usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c
442
"%s%s", _PATH_DEV, disk);
usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c
445
if ((entry = device_find_by_name(disk)) == NULL) {
usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c
450
"device list", __func__, disk);
usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c
452
if ((entry = device_entry_create(disk, "", "")) == NULL)
usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c
495
strlcpy((char *)disk_entry->dev_name, disk,
usr.sbin/makefs/cd9660/cd9660_eltorito.c
282
cd9660_boot_setup_default_entry(struct cd9660_boot_image *disk)
usr.sbin/makefs/cd9660/cd9660_eltorito.c
294
ie->boot_indicator[0] = disk->bootable;
usr.sbin/makefs/cd9660/cd9660_eltorito.c
295
ie->media_type[0] = disk->targetMode;
usr.sbin/makefs/cd9660/cd9660_eltorito.c
296
cd9660_721(disk->loadSegment, ie->load_segment);
usr.sbin/makefs/cd9660/cd9660_eltorito.c
297
ie->system_type[0] = disk->system;
usr.sbin/makefs/cd9660/cd9660_eltorito.c
298
cd9660_721(disk->num_sectors, ie->sector_count);
usr.sbin/makefs/cd9660/cd9660_eltorito.c
299
cd9660_731(disk->sector, ie->load_rba);
usr.sbin/makefs/cd9660/cd9660_eltorito.c
304
ie->media_type[0], disk->loadSegment, ie->system_type[0],
usr.sbin/makefs/cd9660/cd9660_eltorito.c
305
disk->num_sectors, disk->sector));
usr.sbin/makefs/cd9660/cd9660_eltorito.c
332
cd9660_boot_setup_section_entry(struct cd9660_boot_image *disk)
usr.sbin/makefs/cd9660/cd9660_eltorito.c
343
se->media_type[0] = disk->targetMode;
usr.sbin/makefs/cd9660/cd9660_eltorito.c
344
cd9660_721(disk->loadSegment, se->load_segment);
usr.sbin/makefs/cd9660/cd9660_eltorito.c
345
cd9660_721(disk->num_sectors, se->sector_count);
usr.sbin/makefs/cd9660/cd9660_eltorito.c
346
cd9660_731(disk->sector, se->load_rba);
usr.sbin/makefs/cd9660/cd9660_eltorito.c
352
cd9660_boot_get_system_type(struct cd9660_boot_image *disk)
usr.sbin/mptutil/mpt_cam.c
231
fetch_scsi_capacity(struct cam_device *dev, struct mpt_standalone_disk *disk)
usr.sbin/mptutil/mpt_cam.c
268
disk->maxlba = scsi_4btoul(rcap.addr);
usr.sbin/mptutil/mpt_cam.c
294
disk->maxlba = scsi_8btou64(rcaplong.addr);
usr.sbin/mptutil/mpt_cam.c
300
format_scsi_inquiry(struct mpt_standalone_disk *disk,
usr.sbin/mptutil/mpt_cam.c
321
snprintf(disk->inqstring, sizeof(disk->inqstring),
usr.sbin/mptutil/mpt_cam.c
338
snprintf(disk->inqstring, sizeof(disk->inqstring), "<%s %s %s> %s",
usr.sbin/mptutil/mpt_cam.c
344
fetch_scsi_inquiry(struct cam_device *dev, struct mpt_standalone_disk *disk)
usr.sbin/mptutil/mpt_cam.c
382
format_scsi_inquiry(disk, inq_buf);
usr.sbin/mptutil/mpt_config.c
120
mpt_lock_physdisk(struct mpt_standalone_disk *disk)
usr.sbin/mptutil/mpt_config.c
125
snprintf(path, sizeof(path), "%s%s", _PATH_DEV, disk->devname);
usr.sbin/mptutil/mpt_config.c
129
warn("Unable to lock disk %s", disk->devname);
usr.sbin/mptutil/mpt_config.c
179
mpt_create_physdisk(int fd, struct mpt_standalone_disk *disk, U8 *PhysDiskNum)
usr.sbin/mptutil/mpt_config.c
201
config_page->PhysDiskBus = disk->bus;
usr.sbin/mptutil/mpt_config.c
202
config_page->PhysDiskID = disk->target;
usr.sbin/mptutil/mpt_config.c
232
IOC_3_PHYS_DISK *disk;
usr.sbin/mptutil/mpt_config.c
307
disk = ioc3->PhysDisk;
usr.sbin/mptutil/mpt_config.c
308
for (i = 0; i < ioc3->NumPhysDisks; disk++, i++)
usr.sbin/mptutil/mpt_config.c
309
if (mpt_delete_physdisk(fd, disk->PhysDiskNum) < 0)
usr.sbin/mptutil/mpt_config.c
311
disk->PhysDiskNum);
usr.sbin/mptutil/mpt_drive.c
144
IOC_3_PHYS_DISK *disk;
usr.sbin/mptutil/mpt_drive.c
233
disk = ioc3->PhysDisk;
usr.sbin/mptutil/mpt_drive.c
234
for (i = 0; i < ioc3->NumPhysDisks; disk++, i++)
usr.sbin/mptutil/mpt_drive.c
235
if (mpt_pd_insert(fd, list, disk->PhysDiskNum) < 0) {
usr.sbin/mptutil/mpt_show.c
241
print_standalone(struct mpt_standalone_disk *disk, int state_len, int location)
usr.sbin/mptutil/mpt_show.c
245
humanize_number(buf, sizeof(buf), (disk->maxlba + 1) * 512,
usr.sbin/mptutil/mpt_show.c
251
if (disk->inqstring[0] != '\0')
usr.sbin/mptutil/mpt_show.c
252
printf(" %s", disk->inqstring);
usr.sbin/mptutil/mpt_show.c
255
printf(" bus %d id %d", disk->bus, disk->target);
usr.sbin/mptutil/mpt_show.c
286
RAID_VOL0_PHYS_DISK *disk;
usr.sbin/mptutil/mpt_show.c
347
disk = vinfo->PhysDisk;
usr.sbin/mptutil/mpt_show.c
348
for (j = 0; j < vinfo->NumPhysDisks; disk++, j++) {
usr.sbin/mptutil/mpt_show.c
349
printf(" drive %u ", disk->PhysDiskNum);
usr.sbin/mptutil/mpt_show.c
350
pinfo = mpt_pd_info(fd, disk->PhysDiskNum, NULL);
usr.sbin/sesutil/sesutil.c
159
disk_match(const char *devnames, const char *disk, size_t len)
usr.sbin/sesutil/sesutil.c
164
while ((dname = strstr(dname, disk)) != NULL) {
usr.sbin/sesutil/sesutil.c
180
char *disk, *endptr;
usr.sbin/sesutil/sesutil.c
194
disk = argv[1];
usr.sbin/sesutil/sesutil.c
196
sesid = strtoul(disk, &endptr, 10);
usr.sbin/sesutil/sesutil.c
215
if (strcmp(disk, "all") == 0) {
usr.sbin/sesutil/sesutil.c
218
len = strlen(disk);
usr.sbin/sesutil/sesutil.c
305
if (disk_match(objdn.elm_devnames, disk, len)) {
usr.sbin/sesutil/sesutil.c
319
disk);
usr.sbin/snapinfo/snapinfo.c
120
struct uufsd disk;
usr.sbin/snapinfo/snapinfo.c
123
if (ufs_disk_fillout(&disk, sfs->f_mntfromname) == -1)
usr.sbin/snapinfo/snapinfo.c
127
printf("%s mounted on %s\n", disk.d_name, disk.d_fs.fs_fsmnt);
usr.sbin/snapinfo/snapinfo.c
130
if (disk.d_fs.fs_snapinum[j]) {
usr.sbin/snapinfo/snapinfo.c
131
inode = disk.d_fs.fs_snapinum[j];