Lines Matching defs:tail

1191                 dir->tail[0] = temptail[0];
1192 dir->tail[1] = temptail[1];
1451 dir->tail[0] = lfs->root[0];
1452 dir->tail[1] = lfs->root[1];
1507 LFS_MKTAG(LFS_TYPE_STRUCT, lfs_tag_id(tag), 8), dir->tail);
1511 lfs_pair_fromle32(dir->tail);
1516 tag = lfs_dir_fetchmatch(lfs, dir, dir->tail,
1797 dir->tail[0] = LFS_BLOCK_NULL;
1798 dir->tail[1] = LFS_BLOCK_NULL;
1808 static int lfs_dir_drop(lfs_t *lfs, lfs_mdir_t *dir, lfs_mdir_t *tail) {
1810 int err = lfs_dir_getgstate(lfs, tail, &lfs->gdelta);
1815 // steal tail
1816 lfs_pair_tole32(tail->tail);
1818 {LFS_MKTAG(LFS_TYPE_TAIL + tail->split, 0x3ff, 8), tail->tail}));
1819 lfs_pair_fromle32(tail->tail);
1832 // create tail metadata pair
1833 lfs_mdir_t tail;
1834 int err = lfs_dir_alloc(lfs, &tail);
1839 tail.split = dir->split;
1840 tail.tail[0] = dir->tail[0];
1841 tail.tail[1] = dir->tail[1];
1844 int res = lfs_dir_compact(lfs, &tail, attrs, attrcount, source, split, end);
1849 dir->tail[0] = tail.pair[0];
1850 dir->tail[1] = tail.pair[1];
1855 lfs->root[0] = tail.pair[0];
1856 lfs->root[1] = tail.pair[1];
1979 // commit tail, which may be new after last size check
1980 if (!lfs_pair_isnull(dir->tail)) {
1981 lfs_pair_tole32(dir->tail);
1984 dir->tail);
1985 lfs_pair_fromle32(dir->tail);
2099 // - tail: 4+2*4 = 12 bytes
2195 dir->tail[0] = ((lfs_block_t*)attrs[i].buffer)[0];
2196 dir->tail[1] = ((lfs_block_t*)attrs[i].buffer)[1];
2198 lfs_pair_fromle32(dir->tail);
2230 lfs_pair_tole32(dir->tail);
2236 lfs_pair_fromle32(dir->tail);
2335 // we split and id is on tail now
2337 int err = lfs_dir_fetch(lfs, &d->m, d->m.tail);
2386 // filesystem, these would normally be tail recursive, but we have
2397 // steal tail, note that this can't create a recursive drop
2400 lfs_pair_tole32(dir->tail);
2403 dir->tail}),
2405 lfs_pair_fromle32(dir->tail);
2599 err = lfs_dir_fetch(lfs, &pred, pred.tail);
2606 lfs_pair_tole32(pred.tail);
2608 {LFS_MKTAG(LFS_TYPE_SOFTTAIL, 0x3ff, 8), pred.tail}));
2609 lfs_pair_fromle32(pred.tail);
2736 int err = lfs_dir_fetch(lfs, &dir->m, dir->m.tail);
2779 err = lfs_dir_fetch(lfs, &dir->m, dir->m.tail);
4331 lfs_mdir_t dir = {.tail = {0, 1}};
4335 while (!lfs_pair_isnull(dir.tail)) {
4337 if (lfs_pair_issync(dir.tail, tortoise)) {
4338 LFS_WARN("Cycle detected in tail list");
4343 tortoise[0] = dir.tail[0];
4344 tortoise[1] = dir.tail[1];
4350 // fetch next block in tail list
4351 lfs_stag_t tag = lfs_dir_fetchmatch(lfs, &dir, dir.tail,
4541 lfs_mdir_t dir = {.tail = {0, 1}};
4551 dir.tail[0] = lfs->root[0];
4552 dir.tail[1] = lfs->root[1];
4559 while (!lfs_pair_isnull(dir.tail)) {
4561 if (lfs_pair_issync(dir.tail, tortoise)) {
4562 LFS_WARN("Cycle detected in tail list");
4566 tortoise[0] = dir.tail[0];
4567 tortoise[1] = dir.tail[1];
4574 int err = cb(data, dir.tail[i]);
4581 int err = lfs_dir_fetch(lfs, &dir, dir.tail);
4648 pdir->tail[0] = 0;
4649 pdir->tail[1] = 1;
4653 while (!lfs_pair_isnull(pdir->tail)) {
4655 if (lfs_pair_issync(pdir->tail, tortoise)) {
4656 LFS_WARN("Cycle detected in tail list");
4660 tortoise[0] = pdir->tail[0];
4661 tortoise[1] = pdir->tail[1];
4667 if (lfs_pair_cmp(pdir->tail, pair) == 0) {
4671 int err = lfs_dir_fetch(lfs, pdir, pdir->tail);
4713 parent->tail[0] = 0;
4714 parent->tail[1] = 1;
4718 while (!lfs_pair_isnull(parent->tail)) {
4720 if (lfs_pair_issync(parent->tail, tortoise)) {
4721 LFS_WARN("Cycle detected in tail list");
4725 tortoise[0] = parent->tail[0];
4726 tortoise[1] = parent->tail[1];
4732 lfs_stag_t tag = lfs_dir_fetchmatch(lfs, parent, parent->tail,
4866 lfs_mdir_t pdir = {.split = true, .tail = {0, 1}};
4871 while (!lfs_pair_isnull(pdir.tail)) {
4872 int err = lfs_dir_fetch(lfs, &dir, pdir.tail);
4881 lfs_stag_t tag = lfs_fs_parent(lfs, pdir.tail, &parent);
4895 if (!lfs_pair_issync(pair, pdir.tail)) {
4900 pdir.tail[0], pdir.tail[1], pair[0], pair[1]);
4930 // refetch tail
4941 pdir.tail[0], pdir.tail[1]);
4949 // steal tail
4950 lfs_pair_tole32(dir.tail);
4953 dir.tail}));
4954 lfs_pair_fromle32(dir.tail);
4964 // refetch tail
5149 lfs_block_t tail[2];
5203 d->tail[0] = lfs_fromle32(d->tail[0]);
5204 d->tail[1] = lfs_fromle32(d->tail[1]);
5210 d->tail[0] = lfs_tole32(d->tail[0]);
5211 d->tail[1] = lfs_tole32(d->tail[1]);
5307 int err = lfs1_dir_fetch(lfs, dir, dir->d.tail);
5373 lfs_mdir_t dir2 = {.split=true, .tail={cwd[0], cwd[1]}};
5375 err = lfs_dir_fetch(lfs, &dir2, dir2.tail);
5388 cwd[0] = dir.d.tail[0];
5389 cwd[1] = dir.d.tail[1];
5413 while (!lfs_pair_isnull(cwd.d.tail)) {
5414 err = lfs1_dir_fetch(lfs, &cwd, cwd.d.tail);
5524 dir1.d.tail[0] = lfs->lfs1->root[0];
5525 dir1.d.tail[1] = lfs->lfs1->root[1];
5526 while (!lfs_pair_isnull(dir1.d.tail)) {
5528 err = lfs1_dir_fetch(lfs, &dir1, dir1.d.tail);
5618 if (!lfs_pair_isnull(dir1.d.tail)) {
5619 // find last block and update tail to thread into fs
5626 err = lfs_dir_fetch(lfs, &dir2, dir2.tail);
5634 {LFS_MKTAG(LFS_TYPE_SOFTTAIL, 0x3ff, 8), dir1.d.tail}));
5692 dir2.tail[0] = lfs->lfs1->root[0];
5693 dir2.tail[1] = lfs->lfs1->root[1];