Lines Matching refs:disk
57 ufs_disk_close(struct uufsd *disk)
59 ERROR(disk, NULL);
60 close(disk->d_fd);
61 disk->d_fd = -1;
62 if (disk->d_inoblock != NULL) {
63 free(disk->d_inoblock);
64 disk->d_inoblock = NULL;
66 if (disk->d_mine & MINE_NAME) {
67 free((char *)(uintptr_t)disk->d_name);
68 disk->d_name = NULL;
70 if (disk->d_sbcsum != NULL) {
71 free(disk->d_sbcsum);
72 disk->d_sbcsum = NULL;
78 ufs_disk_fillout(struct uufsd *disk, const char *name)
80 if (ufs_disk_fillout_blank(disk, name) == -1) {
83 if (sbread(disk) == -1) {
84 ERROR(disk, "could not read superblock to fill out disk");
91 ufs_disk_fillout_blank(struct uufsd *disk, const char *name)
100 ERROR(disk, NULL);
117 /* Possibly a disk image, give it a try. */
139 ERROR(disk, "could not find special device");
145 ERROR(disk, "could not find special device");
150 ERROR(disk, "could not open special device");
154 disk->d_bsize = 1;
155 disk->d_ccg = 0;
156 disk->d_fd = fd;
157 disk->d_inoblock = NULL;
158 disk->d_inomin = 0;
159 disk->d_inomax = 0;
160 disk->d_lcg = 0;
161 disk->d_mine = 0;
162 disk->d_ufs = 0;
163 disk->d_error = NULL;
164 disk->d_sbcsum = NULL;
169 ERROR(disk, "could not allocate memory for disk name");
172 disk->d_mine |= MINE_NAME;
174 disk->d_name = name;
180 ufs_disk_write(struct uufsd *disk)
184 ERROR(disk, NULL);
186 if (disk->d_mine & MINE_WRITE)
189 fd = open(disk->d_name, O_RDWR);
191 ERROR(disk, "failed to open disk for writing");
195 close(disk->d_fd);
196 disk->d_fd = fd;
197 disk->d_mine |= MINE_WRITE;