Lines Matching refs:snapshot

363 	struct devlink_snapshot *snapshot;  in devlink_region_snapshot_get_by_id()  local
365 list_for_each_entry(snapshot, &region->snapshot_list, list) in devlink_region_snapshot_get_by_id()
366 if (snapshot->id == id) in devlink_region_snapshot_get_by_id()
367 return snapshot; in devlink_region_snapshot_get_by_id()
372 static void devlink_region_snapshot_del(struct devlink_snapshot *snapshot) in devlink_region_snapshot_del() argument
374 snapshot->region->cur_snapshots--; in devlink_region_snapshot_del()
375 list_del(&snapshot->list); in devlink_region_snapshot_del()
376 (*snapshot->data_destructor)(snapshot->data); in devlink_region_snapshot_del()
377 kfree(snapshot); in devlink_region_snapshot_del()
3166 struct devlink_snapshot *snapshot) in devlink_nl_region_snapshot_id_put() argument
3175 err = nla_put_u32(msg, DEVLINK_ATTR_REGION_SNAPSHOT_ID, snapshot->id); in devlink_nl_region_snapshot_id_put()
3191 struct devlink_snapshot *snapshot; in devlink_nl_region_snapshots_id_put() local
3199 list_for_each_entry(snapshot, &region->snapshot_list, list) { in devlink_nl_region_snapshots_id_put()
3200 err = devlink_nl_region_snapshot_id_put(msg, devlink, snapshot); in devlink_nl_region_snapshots_id_put()
3252 struct devlink_snapshot *snapshot, in devlink_nl_region_notify() argument
3279 if (snapshot) { in devlink_nl_region_notify()
3281 snapshot->id); in devlink_nl_region_notify()
3378 struct devlink_snapshot *snapshot; in devlink_nl_cmd_region_del() local
3394 snapshot = devlink_region_snapshot_get_by_id(region, snapshot_id); in devlink_nl_cmd_region_del()
3395 if (!snapshot) in devlink_nl_cmd_region_del()
3398 devlink_nl_region_notify(region, snapshot, DEVLINK_CMD_REGION_DEL); in devlink_nl_cmd_region_del()
3399 devlink_region_snapshot_del(snapshot); in devlink_nl_cmd_region_del()
3443 struct devlink_snapshot *snapshot; in devlink_nl_region_read_snapshot_fill() local
3451 snapshot = devlink_region_snapshot_get_by_id(region, snapshot_id); in devlink_nl_region_read_snapshot_fill()
3452 if (!snapshot) in devlink_nl_region_read_snapshot_fill()
3455 if (end_offset > snapshot->data_len || dump) in devlink_nl_region_read_snapshot_fill()
3456 end_offset = snapshot->data_len; in devlink_nl_region_read_snapshot_fill()
3467 data = &snapshot->data[curr_offset]; in devlink_nl_region_read_snapshot_fill()
4691 struct devlink_snapshot *snapshot, *ts; in devlink_region_destroy() local
4696 list_for_each_entry_safe(snapshot, ts, &region->snapshot_list, list) in devlink_region_destroy()
4697 devlink_region_snapshot_del(snapshot); in devlink_region_destroy()
4747 struct devlink_snapshot *snapshot; in devlink_region_snapshot_create() local
4763 snapshot = kzalloc(sizeof(*snapshot), GFP_KERNEL); in devlink_region_snapshot_create()
4764 if (!snapshot) { in devlink_region_snapshot_create()
4769 snapshot->id = snapshot_id; in devlink_region_snapshot_create()
4770 snapshot->region = region; in devlink_region_snapshot_create()
4771 snapshot->data = data; in devlink_region_snapshot_create()
4772 snapshot->data_len = data_len; in devlink_region_snapshot_create()
4773 snapshot->data_destructor = data_destructor; in devlink_region_snapshot_create()
4775 list_add_tail(&snapshot->list, &region->snapshot_list); in devlink_region_snapshot_create()
4779 devlink_nl_region_notify(region, snapshot, DEVLINK_CMD_REGION_NEW); in devlink_region_snapshot_create()