Lines Matching refs:disk

52 getinode(struct uufsd *disk, union dinodep *dp, ino_t inum)  in getinode()  argument
58 ERROR(disk, NULL); in getinode()
60 fs = &disk->d_fs; in getinode()
62 ERROR(disk, "inode number out of range"); in getinode()
65 inoblock = disk->d_inoblock; in getinode()
66 min = disk->d_inomin; in getinode()
67 max = disk->d_inomax; in getinode()
72 ERROR(disk, "unable to allocate inode block"); in getinode()
75 disk->d_inoblock = inoblock; in getinode()
79 bread(disk, fsbtodb(fs, ino_to_fsba(fs, inum)), inoblock, in getinode()
81 disk->d_inomin = min = inum - (inum % INOPB(fs)); in getinode()
82 disk->d_inomax = max = min + INOPB(fs); in getinode()
83 gotit: switch (disk->d_ufs) { in getinode()
85 disk->d_dp.dp1 = &((struct ufs1_dinode *)inoblock)[inum - min]; in getinode()
87 *dp = disk->d_dp; in getinode()
90 disk->d_dp.dp2 = &((struct ufs2_dinode *)inoblock)[inum - min]; in getinode()
92 *dp = disk->d_dp; in getinode()
93 if (ffs_verify_dinode_ckhash(fs, disk->d_dp.dp2) == 0) in getinode()
95 ERROR(disk, "check-hash failed for inode read from disk"); in getinode()
100 ERROR(disk, "unknown UFS filesystem type"); in getinode()
105 putinode(struct uufsd *disk) in putinode() argument
109 fs = &disk->d_fs; in putinode()
110 if (disk->d_inoblock == NULL) { in putinode()
111 ERROR(disk, "No inode block allocated"); in putinode()
114 if (disk->d_ufs == 2) in putinode()
115 ffs_update_dinode_ckhash(fs, disk->d_dp.dp2); in putinode()
116 if (bwrite(disk, fsbtodb(fs, ino_to_fsba(&disk->d_fs, disk->d_inomin)), in putinode()
117 disk->d_inoblock, disk->d_fs.fs_bsize) <= 0) in putinode()