Lines Matching refs:slot

85 struct slot {
89 struct fbuf *fbp; /* dir buf where slot is */
90 struct file_id *ep; /* pointer to slot */
96 struct slot *, struct ud_inode **, uint8_t *, struct cred *);
103 enum de_op, int, struct slot *, struct ud_inode *,
108 struct slot *, struct cred *);
110 struct slot *, uint8_t *, struct cred *);
113 int32_t ud_write_fid(struct ud_inode *, struct slot *, uint8_t *);
339 struct slot slot;
385 slot.status = NONE;
386 slot.offset = 0;
387 slot.size = 0;
388 slot.fbp = NULL;
389 slot.ep = NULL;
390 slot.endoff = 0;
475 namep, namlen, &slot, &tip, buf, cr)) {
491 namep, buf, &slot, cr);
522 namlen, &slot, sip, sdp, cr)) {
549 if (slot.fbp) {
550 fbrelse(slot.fbp, S_OTHER);
611 struct slot slot;
650 slot.status = FOUND; /* don't need to look for empty slot */
651 slot.offset = 0;
652 slot.size = 0;
653 slot.fbp = NULL;
654 slot.ep = NULL;
655 slot.endoff = 0;
669 if (err = ud_dircheckforname(dp, namep, namelen, &slot, &ip,
770 fid = slot.ep;
777 if ((slot.offset + FID_LEN(fid)) == dp->i_size) {
778 fbrelse(slot.fbp, S_OTHER);
779 if ((err = ud_itrunc(dp, slot.offset, 0, cr)) != 0) {
785 if ((err = ud_ip_off2bno(dp, slot.offset, &tbno)) != 0) {
792 err = ud_write_fid(dp, &slot, buf);
795 slot.fbp = NULL;
851 if (slot.fbp != NULL) {
852 fbrelse(slot.fbp, S_OTHER);
877 char *namep, int32_t namelen, struct slot *slotp,
963 * empty slot and the current slot
992 * We didn't find a slot; the new directory entry should be put
1278 enum de_op op, int32_t namelen, struct slot *slotp,
1442 uint8_t *buf, struct slot *slotp, struct cred *cr)
1614 * 1. When we find a slot that belonged to a file which was deleted
1616 * 2. There is not empty slot available. The new entry
1618 * 3. There is no empty slot available. The new
1626 struct slot *slotp, uint8_t *buf, struct cred *cr)
1648 * If we didn't find a slot, then indicate that the
1649 * new slot belongs at the end of the directory.
1650 * If we found a slot, then the new entry can be
1655 * We did not find a slot, the next
1874 ud_write_fid(struct ud_inode *dp, struct slot *slot, uint8_t *buf)
1883 ASSERT(slot->fbp);
1884 ASSERT(slot->ep);
1887 fid = slot->ep;
1895 (offset_t)(slot->offset & ~lbmask),
1907 if (((slot->offset & lbmask) +
1910 if ((slot->offset & lbmask) != 0) {
1912 (slot->offset & lbmask);
1913 count = (slot->offset +
1922 (slot->offset & lbmask), old_count);
1924 slot->fbp->fb_addr, count);
1928 error = ud_fbwrite(slot->fbp, dp);
1931 (slot->offset & lbmask),
1936 fbrelse(slot->fbp, S_OTHER);
1939 if ((error = ud_fbwrite(slot->fbp, dp)) != 0) {
1945 slot->fbp = NULL;