Lines Matching refs:disk
59 ufs_disk_close(struct uufsd *disk) in ufs_disk_close() argument
61 ERROR(disk, NULL); in ufs_disk_close()
62 close(disk->d_fd); in ufs_disk_close()
63 disk->d_fd = -1; in ufs_disk_close()
64 if (disk->d_inoblock != NULL) { in ufs_disk_close()
65 free(disk->d_inoblock); in ufs_disk_close()
66 disk->d_inoblock = NULL; in ufs_disk_close()
68 if (disk->d_mine & MINE_NAME) { in ufs_disk_close()
69 free((char *)(uintptr_t)disk->d_name); in ufs_disk_close()
70 disk->d_name = NULL; in ufs_disk_close()
72 if (disk->d_si != NULL) { in ufs_disk_close()
73 free(disk->d_si->si_csp); in ufs_disk_close()
74 free(disk->d_si); in ufs_disk_close()
75 disk->d_si = NULL; in ufs_disk_close()
81 ufs_disk_fillout(struct uufsd *disk, const char *name) in ufs_disk_fillout() argument
83 if (ufs_disk_fillout_blank(disk, name) == -1) { in ufs_disk_fillout()
86 if (sbread(disk) == -1) { in ufs_disk_fillout()
87 ERROR(disk, "could not read superblock to fill out disk"); in ufs_disk_fillout()
88 ufs_disk_close(disk); in ufs_disk_fillout()
95 ufs_disk_fillout_blank(struct uufsd *disk, const char *name) in ufs_disk_fillout_blank() argument
104 ERROR(disk, NULL); in ufs_disk_fillout_blank()
143 ERROR(disk, "could not find special device"); in ufs_disk_fillout_blank()
149 ERROR(disk, "could not find special device"); in ufs_disk_fillout_blank()
154 ERROR(disk, "could not open special device"); in ufs_disk_fillout_blank()
158 disk->d_bsize = 1; in ufs_disk_fillout_blank()
159 disk->d_ccg = 0; in ufs_disk_fillout_blank()
160 disk->d_fd = fd; in ufs_disk_fillout_blank()
161 disk->d_inoblock = NULL; in ufs_disk_fillout_blank()
162 disk->d_inomin = 0; in ufs_disk_fillout_blank()
163 disk->d_inomax = 0; in ufs_disk_fillout_blank()
164 disk->d_lcg = 0; in ufs_disk_fillout_blank()
165 disk->d_mine = 0; in ufs_disk_fillout_blank()
166 disk->d_ufs = 0; in ufs_disk_fillout_blank()
167 disk->d_error = NULL; in ufs_disk_fillout_blank()
168 disk->d_si = NULL; in ufs_disk_fillout_blank()
169 disk->d_sblockloc = UFS_STDSB; in ufs_disk_fillout_blank()
170 disk->d_lookupflags = 0; in ufs_disk_fillout_blank()
175 ERROR(disk, "could not allocate memory for disk name"); in ufs_disk_fillout_blank()
178 disk->d_mine |= MINE_NAME; in ufs_disk_fillout_blank()
180 disk->d_name = name; in ufs_disk_fillout_blank()
186 ufs_disk_write(struct uufsd *disk) in ufs_disk_write() argument
190 ERROR(disk, NULL); in ufs_disk_write()
192 if (disk->d_mine & MINE_WRITE) in ufs_disk_write()
195 fd = open(disk->d_name, O_RDWR); in ufs_disk_write()
197 ERROR(disk, "failed to open disk for writing"); in ufs_disk_write()
201 close(disk->d_fd); in ufs_disk_write()
202 disk->d_fd = fd; in ufs_disk_write()
203 disk->d_mine |= MINE_WRITE; in ufs_disk_write()