Linux Filesystems API

This documentation is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

For more details see the file COPYING in the source distribution of Linux.

Table of Contents

1. The Linux VFS
The Filesystem types
The Directory Cache
Inode Handling
Registration and Superblocks
File Locks
Other Functions
2. The proc filesystem
sysctl interface
proc filesystem interface
3. The Filesystem for Exporting Kernel Objects
sysfs_create_file — create an attribute file for an object.
sysfs_add_file_to_group — add an attribute file to a pre-existing group.
sysfs_chmod_file — update the modified mode value on an object attribute.
sysfs_remove_file — remove an object attribute.
sysfs_remove_file_from_group — remove an attribute file from a group.
sysfs_schedule_callback — helper to schedule a callback for a kobject
sysfs_create_link — create symlink between two objects.
sysfs_remove_link — remove symlink in object's directory.
sysfs_create_bin_file — create binary file for object.
sysfs_remove_bin_file — remove binary file for object.
4. The debugfs filesystem
debugfs interface
5. The Linux Journalling API
Data Types
Journal Level
Transasction Level
See also
6. splice API
splice_to_pipe — fill passed data into a pipe
generic_file_splice_read — splice data from file to a pipe
__splice_from_pipe — splice data from a pipe to given actor
splice_from_pipe — splice data from a pipe to a file
generic_file_splice_write_nolock — generic_file_splice_write without mutexes
generic_file_splice_write — splice data from a pipe to a file
generic_splice_sendpage — splice data from a pipe to a socket
splice_direct_to_actor — splices data directly between two non-pipes
do_splice_direct — splices data directly between two files
7. pipes API
struct pipe_buffer — a linux kernel pipe buffer
struct pipe_inode_info — a linux kernel pipe
generic_pipe_buf_map — virtually map a pipe buffer
generic_pipe_buf_unmap — unmap a previously mapped pipe buffer
generic_pipe_buf_steal — attempt to take ownership of a pipe_buffer
generic_pipe_buf_get — get a reference to a struct pipe_buffer
generic_pipe_buf_confirm — verify contents of the pipe buffer