{
struct devlink_nl_dump_state *state = devlink_dump_state(cb);
struct devlink *devlink;
- struct devlink_sb *devlink_sb;
- unsigned long index;
- int idx = 0;
int err = 0;
- devlinks_xa_for_each_registered_get(sock_net(msg->sk), index, devlink) {
+ devlink_dump_for_each_instance_get(msg, state, devlink) {
+ struct devlink_sb *devlink_sb;
+ int idx = 0;
+
if (!devlink->ops->sb_pool_get)
goto retry;
} else if (err) {
devl_unlock(devlink);
devlink_put(devlink);
+ state->idx = idx;
goto out;
}
}
if (err != -EMSGSIZE)
return err;
- state->idx = idx;
return msg->len;
}
{
struct devlink_nl_dump_state *state = devlink_dump_state(cb);
struct devlink *devlink;
- struct devlink_sb *devlink_sb;
- unsigned long index;
- int idx = 0;
int err = 0;
- devlinks_xa_for_each_registered_get(sock_net(msg->sk), index, devlink) {
+ devlink_dump_for_each_instance_get(msg, state, devlink) {
+ struct devlink_sb *devlink_sb;
+ int idx = 0;
+
if (!devlink->ops->sb_port_pool_get)
goto retry;
} else if (err) {
devl_unlock(devlink);
devlink_put(devlink);
+ state->idx = idx;
goto out;
}
}
if (err != -EMSGSIZE)
return err;
- state->idx = idx;
return msg->len;
}
{
struct devlink_nl_dump_state *state = devlink_dump_state(cb);
struct devlink *devlink;
- struct devlink_sb *devlink_sb;
- unsigned long index;
- int idx = 0;
int err = 0;
- devlinks_xa_for_each_registered_get(sock_net(msg->sk), index, devlink) {
+ devlink_dump_for_each_instance_get(msg, state, devlink) {
+ struct devlink_sb *devlink_sb;
+ int idx = 0;
+
if (!devlink->ops->sb_tc_pool_bind_get)
goto retry;
} else if (err) {
devl_unlock(devlink);
devlink_put(devlink);
+ state->idx = idx;
goto out;
}
}
if (err != -EMSGSIZE)
return err;
- state->idx = idx;
return msg->len;
}
{
struct devlink_nl_dump_state *state = devlink_dump_state(cb);
struct devlink *devlink;
- unsigned long index;
- int idx = 0;
int err = 0;
- devlinks_xa_for_each_registered_get(sock_net(msg->sk), index, devlink) {
+ devlink_dump_for_each_instance_get(msg, state, devlink) {
+ int idx = 0;
+
err = devlink_nl_cmd_region_get_devlink_dumpit(msg, cb, devlink,
&idx, state->idx);
devlink_put(devlink);
- if (err)
+ if (err) {
+ state->idx = idx;
goto out;
+ }
}
out:
- state->idx = idx;
return msg->len;
}