Lines Matching defs:pos

367 		struct kernfs_node *pos;
370 pos = rb_to_kn(*node);
372 result = kernfs_sd_compare(kn, pos);
374 node = &pos->rb.rb_left;
376 node = &pos->rb.rb_right;
1304 static struct kernfs_node *kernfs_leftmost_descendant(struct kernfs_node *pos)
1311 last = pos;
1313 if (kernfs_type(pos) != KERNFS_DIR)
1316 rbn = rb_first(&pos->dir.children);
1320 pos = rb_to_kn(rbn);
1328 * @pos: the current position (%NULL to initiate traversal)
1337 static struct kernfs_node *kernfs_next_descendant_post(struct kernfs_node *pos,
1345 if (!pos)
1349 if (pos == root)
1353 rbn = rb_next(&pos->rb);
1358 return pos->parent;
1391 struct kernfs_node *pos;
1396 pos = NULL;
1397 while ((pos = kernfs_next_descendant_post(pos, kn)))
1398 kernfs_activate_one(pos);
1440 struct kernfs_node *pos;
1458 pos = NULL;
1459 while ((pos = kernfs_next_descendant_post(pos, kn))) {
1460 pos->flags |= KERNFS_REMOVING;
1461 if (kernfs_active(pos))
1462 atomic_add(KN_DEACTIVATED_BIAS, &pos->active);
1467 pos = kernfs_leftmost_descendant(kn);
1470 * kernfs_drain() may drop kernfs_rwsem temporarily and @pos's
1475 kernfs_get(pos);
1477 kernfs_drain(pos);
1483 if (!pos->parent || kernfs_unlink_sibling(pos)) {
1485 pos->parent ? pos->parent->iattr : NULL;
1496 kernfs_put(pos);
1499 kernfs_put(pos);
1500 } while (pos != kn);
1784 struct kernfs_node *parent, loff_t hash, struct kernfs_node *pos)
1786 if (pos) {
1787 int valid = kernfs_active(pos) &&
1788 pos->parent == parent && hash == pos->hash;
1789 kernfs_put(pos);
1791 pos = NULL;
1793 if (!pos && (hash > 1) && (hash < INT_MAX)) {
1796 pos = rb_to_kn(node);
1798 if (hash < pos->hash)
1800 else if (hash > pos->hash)
1807 while (pos && (!kernfs_active(pos) || pos->ns != ns)) {
1808 struct rb_node *node = rb_next(&pos->rb);
1810 pos = NULL;
1812 pos = rb_to_kn(node);
1814 return pos;
1818 struct kernfs_node *parent, ino_t ino, struct kernfs_node *pos)
1820 pos = kernfs_dir_pos(ns, parent, ino, pos);
1821 if (pos) {
1823 struct rb_node *node = rb_next(&pos->rb);
1825 pos = NULL;
1827 pos = rb_to_kn(node);
1828 } while (pos && (!kernfs_active(pos) || pos->ns != ns));
1830 return pos;
1837 struct kernfs_node *pos = file->private_data;
1850 for (pos = kernfs_dir_pos(ns, parent, ctx->pos, pos);
1851 pos;
1852 pos = kernfs_dir_next_pos(ns, parent, ctx->pos, pos)) {
1853 const char *name = pos->name;
1854 unsigned int type = fs_umode_to_dtype(pos->mode);
1856 ino_t ino = kernfs_ino(pos);
1858 ctx->pos = pos->hash;
1859 file->private_data = pos;
1860 kernfs_get(pos);
1869 ctx->pos = INT_MAX;