Lines Matching refs:dno

219 	dnode_secno dno = le32_to_cpu(d->self);
225 if (le32_to_cpu(dd->up) != dno || dd->root_dnode) {
226 dd->up = cpu_to_le32(dno);
237 static int hpfs_add_to_dnode(struct inode *i, dnode_secno dno,
263 if (!(d = hpfs_map_dnode(i->i_sb, dno, &qbh))) {
270 if (hpfs_stop_cycles(i->i_sb, dno, &c1, &c2, "hpfs_add_to_dnode")) {
316 for_all_poss(i, hpfs_pos_subst, ((loff_t)dno << 4) | pos, ((loff_t)adno << 4) | pos);
323 for_all_poss(i, hpfs_pos_subst, ((loff_t)dno << 4) | pos, 4);
330 for_all_poss(i, hpfs_pos_del, (loff_t)dno << 4, pos);
334 dno = le32_to_cpu(ad->up);
373 set_last_pointer(i->i_sb, rd, dno);
374 dno = rdno;
395 dnode_secno dno;
398 dno = hpfs_inode->i_dno;
401 if (hpfs_stop_cycles(i->i_sb, dno, &c1, &c2, "hpfs_add_dirent")) return 1;
402 if (!(d = hpfs_map_dnode(i->i_sb, dno, &qbh))) return 1;
411 dno = de_down_pointer(de);
423 c = hpfs_add_to_dnode(i, dno, name, namelen, new_de, 0);
435 dnode_secno dno, ddno;
443 dno = from;
446 if (hpfs_stop_cycles(i->i_sb, dno, &c1, &c2, "move_to_top"))
448 if (!(dnode = hpfs_map_dnode(i->i_sb, dno, &qbh))) return 0;
452 dno, chk_up, le32_to_cpu(dnode->up));
456 chk_up = dno;
459 hpfs_error(i->i_sb, "move_to_top: dnode %08x has no last de", dno);
464 dno = de_down_pointer(de);
470 hpfs_free_dnode(i->i_sb, dno);
473 for_all_poss(i, hpfs_pos_subst, ((loff_t)dno << 4) | 1, 5);
483 hpfs_error(i->i_sb, "move_to_top: dnode %08x doesn't point down to %08x", up, dno);
491 dno = up;
510 return dno;
518 static void delete_empty_dnode(struct inode *i, dnode_secno dno)
528 if (hpfs_stop_cycles(i->i_sb, dno, &c1, &c2, "delete_empty_dnode")) return;
529 if (!(dnode = hpfs_map_dnode(i->i_sb, dno, &qbh))) return;
538 hpfs_error(i->i_sb, "delete_empty_dnode: root dnode %08x is empty", dno);
542 hpfs_free_dnode(i->i_sb, dno);
554 dno, up,
570 for_all_poss(i, hpfs_pos_subst, ((loff_t)dno << 4) | 1, (loff_t) 12);
577 if (de->down) if (de_down_pointer(de) == dno) goto fnd;
578 hpfs_error(i->i_sb, "delete_empty_dnode: pointer to dnode %08x not found in dnode %08x", dno, up);
581 for_all_poss(i, hpfs_pos_subst, ((loff_t)dno << 4) | 1, ((loff_t)up << 4) | p);
599 hpfs_error(i->i_sb, "delete_empty_dnode: dnode %08x, first_free == %03x", dno, le32_to_cpu(dnode->first_free));
626 /*pr_info("UP-TO-DNODE: %08x (ndown = %08x, down = %08x, dno = %08x)\n",
627 up, ndown, down, dno);*/
628 dno = up;
641 dno = up;
698 dno = up;
711 int hpfs_remove_dirent(struct inode *i, dnode_secno dno, struct hpfs_dirent *de,
718 hpfs_error(i->i_sb, "hpfs_remove_dirent: attempt to delete first or last dirent in dnode %08x", dno);
734 dnode_secno a = move_to_top(i, down, dno);
739 delete_empty_dnode(i, dno);
743 void hpfs_count_dnodes(struct super_block *s, dnode_secno dno, int *n_dnodes,
755 if (hpfs_stop_cycles(s, dno, &c1, &c2, "hpfs_count_dnodes #1")) return;
758 if (!(dnode = hpfs_map_dnode(s, dno, &qbh))) return;
760 hpfs_error(s, "hpfs_count_dnodes: bad up pointer; dnode %08x, down %08x points to %08x", odno, dno, le32_to_cpu(dnode->up));
767 ptr, dno, odno);
774 odno = dno;
775 dno = de_down_pointer(de);
783 ptr = dno;
784 dno = le32_to_cpu(dnode->up);
796 static struct hpfs_dirent *map_nth_dirent(struct super_block *s, dnode_secno dno, int n,
802 dnode = hpfs_map_dnode(s, dno, qbh);
814 hpfs_error(s, "map_nth_dirent: n too high; dnode = %08x, requested %08x", dno, n);
818 dnode_secno hpfs_de_as_down_as_possible(struct super_block *s, dnode_secno dno)
821 dnode_secno d = dno;
830 if (!(de = map_nth_dirent(s, d, 1, &qbh, NULL))) return dno;
849 dnode_secno dno;
858 dno = pos >> 6 << 2;
860 if (!(de = map_nth_dirent(inode->i_sb, dno, pos, qbh, &dnode)))
891 if (up_de->down && de_down_pointer(up_de) == dno) {
899 dno, le32_to_cpu(dnode->up));
909 struct hpfs_dirent *map_dirent(struct inode *inode, dnode_secno dno,
921 if (hpfs_stop_cycles(inode->i_sb, dno, &c1, &c2, "map_dirent")) return NULL;
922 if (!(dnode = hpfs_map_dnode(inode->i_sb, dno, qbh))) return NULL;
928 if (dd) *dd = dno;
933 dno = de_down_pointer(de);
950 void hpfs_remove_dtree(struct super_block *s, dnode_secno dno)
955 dnode_secno d1, d2, rdno = dno;
957 if (!(dnode = hpfs_map_dnode(s, dno, &qbh))) return;
963 hpfs_free_dnode(s, dno);
964 dno = d1;
973 hpfs_free_dnode(s, dno);
976 if (!(dnode = hpfs_map_dnode(s, dno = d1, &qbh))) return;
981 hpfs_free_dnode(s, dno);
989 hpfs_free_dnode(s, dno);
1005 dnode_secno dno, downd;
1035 dno = le32_to_cpu(upf->u.external[0].disk_secno);
1040 if (!(d = hpfs_map_dnode(s, dno, qbh))) {
1051 hpfs_error(s, "pointer to dnode %08x not found in dnode %08x", downd, dno);
1063 dno = de_down_pointer(de);
1066 if (hpfs_stop_cycles(s, dno, &c1, &c2, "map_fnode_dirent #1")) {
1081 downd = dno;
1082 dno = le32_to_cpu(d->up);