Lines Matching defs:dno

215 	dnode_secno dno = le32_to_cpu(d->self);
221 if (le32_to_cpu(dd->up) != dno || dd->root_dnode) {
222 dd->up = cpu_to_le32(dno);
233 static int hpfs_add_to_dnode(struct inode *i, dnode_secno dno,
259 if (!(d = hpfs_map_dnode(i->i_sb, dno, &qbh))) {
266 if (hpfs_stop_cycles(i->i_sb, dno, &c1, &c2, "hpfs_add_to_dnode")) {
312 for_all_poss(i, hpfs_pos_subst, ((loff_t)dno << 4) | pos, ((loff_t)adno << 4) | pos);
319 for_all_poss(i, hpfs_pos_subst, ((loff_t)dno << 4) | pos, 4);
326 for_all_poss(i, hpfs_pos_del, (loff_t)dno << 4, pos);
330 dno = le32_to_cpu(ad->up);
369 set_last_pointer(i->i_sb, rd, dno);
370 dno = rdno;
391 dnode_secno dno;
394 dno = hpfs_inode->i_dno;
397 if (hpfs_stop_cycles(i->i_sb, dno, &c1, &c2, "hpfs_add_dirent")) return 1;
398 if (!(d = hpfs_map_dnode(i->i_sb, dno, &qbh))) return 1;
407 dno = de_down_pointer(de);
420 c = hpfs_add_to_dnode(i, dno, name, namelen, new_de, 0);
432 dnode_secno dno, ddno;
440 dno = from;
443 if (hpfs_stop_cycles(i->i_sb, dno, &c1, &c2, "move_to_top"))
445 if (!(dnode = hpfs_map_dnode(i->i_sb, dno, &qbh))) return 0;
449 dno, chk_up, le32_to_cpu(dnode->up));
453 chk_up = dno;
456 hpfs_error(i->i_sb, "move_to_top: dnode %08x has no last de", dno);
461 dno = de_down_pointer(de);
467 hpfs_free_dnode(i->i_sb, dno);
470 for_all_poss(i, hpfs_pos_subst, ((loff_t)dno << 4) | 1, 5);
480 hpfs_error(i->i_sb, "move_to_top: dnode %08x doesn't point down to %08x", up, dno);
488 dno = up;
507 return dno;
515 static void delete_empty_dnode(struct inode *i, dnode_secno dno)
525 if (hpfs_stop_cycles(i->i_sb, dno, &c1, &c2, "delete_empty_dnode")) return;
526 if (!(dnode = hpfs_map_dnode(i->i_sb, dno, &qbh))) return;
535 hpfs_error(i->i_sb, "delete_empty_dnode: root dnode %08x is empty", dno);
539 hpfs_free_dnode(i->i_sb, dno);
551 dno, up,
567 for_all_poss(i, hpfs_pos_subst, ((loff_t)dno << 4) | 1, (loff_t) 12);
574 if (de->down) if (de_down_pointer(de) == dno) goto fnd;
575 hpfs_error(i->i_sb, "delete_empty_dnode: pointer to dnode %08x not found in dnode %08x", dno, up);
578 for_all_poss(i, hpfs_pos_subst, ((loff_t)dno << 4) | 1, ((loff_t)up << 4) | p);
596 hpfs_error(i->i_sb, "delete_empty_dnode: dnode %08x, first_free == %03x", dno, le32_to_cpu(dnode->first_free));
623 /*pr_info("UP-TO-DNODE: %08x (ndown = %08x, down = %08x, dno = %08x)\n",
624 up, ndown, down, dno);*/
625 dno = up;
638 dno = up;
695 dno = up;
708 int hpfs_remove_dirent(struct inode *i, dnode_secno dno, struct hpfs_dirent *de,
715 hpfs_error(i->i_sb, "hpfs_remove_dirent: attempt to delete first or last dirent in dnode %08x", dno);
732 dnode_secno a = move_to_top(i, down, dno);
737 delete_empty_dnode(i, dno);
741 void hpfs_count_dnodes(struct super_block *s, dnode_secno dno, int *n_dnodes,
753 if (hpfs_stop_cycles(s, dno, &c1, &c2, "hpfs_count_dnodes #1")) return;
756 if (!(dnode = hpfs_map_dnode(s, dno, &qbh))) return;
758 hpfs_error(s, "hpfs_count_dnodes: bad up pointer; dnode %08x, down %08x points to %08x", odno, dno, le32_to_cpu(dnode->up));
765 ptr, dno, odno);
772 odno = dno;
773 dno = de_down_pointer(de);
781 ptr = dno;
782 dno = le32_to_cpu(dnode->up);
794 static struct hpfs_dirent *map_nth_dirent(struct super_block *s, dnode_secno dno, int n,
800 dnode = hpfs_map_dnode(s, dno, qbh);
812 hpfs_error(s, "map_nth_dirent: n too high; dnode = %08x, requested %08x", dno, n);
816 dnode_secno hpfs_de_as_down_as_possible(struct super_block *s, dnode_secno dno)
819 dnode_secno d = dno;
828 if (!(de = map_nth_dirent(s, d, 1, &qbh, NULL))) return dno;
847 dnode_secno dno;
856 dno = pos >> 6 << 2;
858 if (!(de = map_nth_dirent(inode->i_sb, dno, pos, qbh, &dnode)))
889 if (up_de->down && de_down_pointer(up_de) == dno) {
897 dno, le32_to_cpu(dnode->up));
907 struct hpfs_dirent *map_dirent(struct inode *inode, dnode_secno dno,
919 if (hpfs_stop_cycles(inode->i_sb, dno, &c1, &c2, "map_dirent")) return NULL;
920 if (!(dnode = hpfs_map_dnode(inode->i_sb, dno, qbh))) return NULL;
926 if (dd) *dd = dno;
931 dno = de_down_pointer(de);
948 void hpfs_remove_dtree(struct super_block *s, dnode_secno dno)
953 dnode_secno d1, d2, rdno = dno;
955 if (!(dnode = hpfs_map_dnode(s, dno, &qbh))) return;
961 hpfs_free_dnode(s, dno);
962 dno = d1;
971 hpfs_free_dnode(s, dno);
974 if (!(dnode = hpfs_map_dnode(s, dno = d1, &qbh))) return;
979 hpfs_free_dnode(s, dno);
987 hpfs_free_dnode(s, dno);
1003 dnode_secno dno, downd;
1033 dno = le32_to_cpu(upf->u.external[0].disk_secno);
1038 if (!(d = hpfs_map_dnode(s, dno, qbh))) {
1049 hpfs_error(s, "pointer to dnode %08x not found in dnode %08x", downd, dno);
1061 dno = de_down_pointer(de);
1064 if (hpfs_stop_cycles(s, dno, &c1, &c2, "map_fnode_dirent #1")) {
1079 downd = dno;
1080 dno = le32_to_cpu(d->up);