Skip to content

Helper function bpf_inode_storage_get

v5.10

Definition

Copyright (c) 2015 The Libbpf Authors. All rights reserved.

Get a bpf_local_storage from an inode.

Logically, it could be thought of as getting the value from a map with inode as the key. From this perspective, the usage is not much different from bpf_map_lookup_elem(map, &inode) except this helper enforces the key must be an inode and the map must also be a BPF_MAP_TYPE_INODE_STORAGE.

Underneath, the value is stored locally at inode instead of the map. The map is used as the bpf-local-storage "type". The bpf-local-storage "type" (i.e. the map) is searched against all bpf_local_storage residing at inode.

An optional flags (BPF_LOCAL_STORAGE_GET_F_CREATE) can be used such that a new bpf_local_storage will be created if one does not exist. value can be used together with BPF_LOCAL_STORAGE_GET_F_CREATE to specify the initial value of a bpf_local_storage. If value is NULL, the new bpf_local_storage will be zero initialized.

Returns

A bpf_local_storage pointer is returned on success.

NULL if not found or there was an error in adding a new bpf_local_storage.

static void *(* const bpf_inode_storage_get)(void *map, void *inode, void *value, __u64 flags) = (void *) 145;

Usage

Docs could be improved

This part of the docs is incomplete, contributions are very welcome

Program types

This helper call can be used in the following program types:

Example

Docs could be improved

This part of the docs is incomplete, contributions are very welcome