Lines Matching refs:a

16 configfs is a ram-based filesystem that provides the converse of
17 sysfs's functionality. Where sysfs is a filesystem-based view of
18 kernel objects, configfs is a filesystem-based manager of kernel
21 With sysfs, an object is created in kernel (for example, when a device
27 representation, and sysfs is merely a window on all this.
38 system. One is not a replacement for the other.
43 configfs can be compiled as a module or into the kernel. You can access
50 subsystems. Once a client subsystem is loaded, it will appear as a
62 files, with a maximum size of one page (PAGE_SIZE, 4096 on i386). Preferably
70 but with a few slight changes to semantics. The PAGE_SIZE limitation does not
76 To avoid a malicious user OOMing the kernel, there's a per-binary attribute
80 item cannot be destroyed if any other item has a link to it (via
86 Imagine there's a Network Block Device (NBD) driver that allows you to
88 for its configuration. Obviously, there will be a nice program that
100 it is a uuid or a disk name::
121 Every object in configfs is a config_item. A config_item reflects an
127 Items are created and destroyed inside a config_group. A group is a
130 handles that. The group has a set of operations to perform these tasks
132 A subsystem is the top level of a client module. During initialization,
134 appears as a directory at the top of the configfs filesystem. A
135 subsystem is also a config_group, and can do everything a config_group
161 Generally, struct config_item is embedded in a container structure, a
166 Whether statically defined in a source file or created by a parent
167 config_group, a config_item must have one of the _init() functions
171 All users of a config_item should have a reference on it via
175 By itself, a config_item cannot do much more than appear in configfs.
176 Usually a subsystem wants the item to display and/or store attributes,
177 among other things. For that, it needs a type.
200 The most basic function of a config_item_type is to define what
201 operations can be performed on a config_item. All items that have been
219 When a config_item wants an attribute to appear as a file in the item's
220 configfs directory, it must define a configfs_attribute describing it.
226 If an attribute is readable and provides a ->show method, that method will
227 be called whenever userspace asks for a read(2) on the attribute. If an
228 attribute is writable and provides a ->store method, that method will be
229 called whenever userspace asks for a write(2) on the attribute.
243 appear as the contents of a file in the item's configfs directory.
253 If binary attribute is readable and the config_item provides a
255 whenever userspace asks for a read(2) on the attribute. The converse
256 will happen for write(2). The reads/writes are buffered so only a
263 A config_item cannot live in a vacuum. The only way one can be created
264 is via mkdir(2) on a config_group. This will trigger creation of a
281 The config_group structure contains a config_item. Properly configuring
282 that item means that a group can behave as an item in its own right.
300 mkdir(2) in the group's directory. The subsystem allocates a new
305 If the subsystem wants the child to be a group itself, the subsystem
310 ct_group_ops->drop_item() is called. As a config_group is also a
311 config_item, it is not necessary for a separate drop_group() method.
313 upon item allocation. If a subsystem has no work to do, it may omit
327 down. It no longer has a reference on its parent and has no place in
328 the item hierarchy. If a client needs to do some cleanup before this
355 A subsystem consists of a toplevel config_group and a mutex.
356 The group is where child config_items are created. For a subsystem,
371 samples/configfs/configfs_sample.c. It shows a trivial object displaying
372 and storing an attribute, and a simple group creating and destroying
379 config_items are arranged in a hierarchy due to the fact that they
380 appear in a filesystem. A subsystem is NEVER to touch the filesystem
388 protect modifications. Whenever a subsystem wants to navigate the
392 A subsystem will be prevented from acquiring the mutex while a newly
394 will not be able to acquire the mutex while a dropping item has not
398 a subsystem to trust ci_parent and cg_children while they hold the
404 configfs provides a simple group via the group->item parent/child
405 relationship. Often, however, a larger environment requires aggregation
416 method is called with itself and a target item. If the source item
418 reject a link if it only wants links to a certain type of object (say,
423 this is a void function and cannot return failure. The subsystem is
435 more explicit to have a method whereby userspace sees this divergence.
437 Rather than have a group where some items behave differently than
438 others, configfs provides a method whereby one or many subgroups are
453 as the parent. No extra notification is provided. When a ->drop_item()
457 As a consequence of this, default groups cannot be removed directly via
465 example, ocfs2 mounts depend on a heartbeat region item. If that
482 it asks for a heartbeat region item. This is done via a call into the