Lines Matching +full:buffered +full:- +full:positive

1 .. SPDX-License-Identifier: GPL-2.0
9 - Copyright (C) 1999 Richard Gooch
10 - Copyright (C) 2005 Pekka Enberg
27 ------------------------------
32 cache or dcache). This provides a very fast look-up mechanism to
44 ----------------
64 ---------------
67 structure (this is the kernel-side implementation of file descriptors).
88 .. code-block:: c
99 ->mount() will be attached to the mountpoint, so that when pathname
108 -----------------------
113 .. code-block:: c
146 Initializes 'struct fs_context' ->ops and ->fs_private fields with
147 filesystem-specific data.
174 i_lock_key, i_mutex_key, invalidate_lock_key, i_mutex_dir_key: lockdep-specific
202 ->mount() may choose to return a subtree of existing filesystem - it
222 -----------------------
227 .. code-block:: c
280 ->alloc_inode was defined and simply undoes anything done by
281 ->alloc_inode.
285 in ->destroy_inode to free 'struct inode' memory, then it's
294 and struct inode has times updated since the last ->dirty_inode
304 inode->i_lock spinlock held.
308 not want to cache inodes - causing "delete_inode" to always be
317 *not* evict the pagecache or inode-associated metadata buffers;
320 the inode while (or after) ->evict_inode() is called. Optional.
332 Called instead of ->freeze_fs callback if provided.
333 Main difference is that ->freeze_super is called without taking
334 down_write(&sb->s_umount). If filesystem implements it and wants
335 ->freeze_fs to be called too, then it has to call ->freeze_fs
345 again after ->freeze_super. Optional.
349 again after ->freeze_fs. Optional.
377 filesystem-specific mount statistics.
398 also implement ->nr_cached_objects for it to be called
418 ---------------------
421 superblock field points to a NULL-terminated array of xattr handlers.
452 the various ``*xattr(2)`` system calls return -EOPNOTSUPP.
462 -----------------------
467 .. code-block:: c
561 returned dentry (if any) should be returned by ->mkdir().
578 The filesystem must return -EINVAL for any unsupported or
581 the rename exists the rename should fail with -EEXIST instead of
601 have it return ERR_PTR(-ECHILD).
603 If the filesystem stores the symlink target in ->i_link, the
604 VFS may use it directly without calling ->get_link(); however,
605 ->get_link() must still be provided. ->i_link must not be
606 freed until after an RCU grace period. Writing to ->i_link
607 post-iget() time requires a 'release' memory barrier.
611 cases when ->get_link uses nd_jump_link() or object is not in
613 ->get_link for symlinks and readlink(2) will automatically use
617 called by the VFS to check for access rights on a POSIX-like
620 May be called in rcu-walk mode (mask & MAY_NOT_BLOCK). If in
621 rcu-walk mode, the filesystem must check the permission without
624 If a situation is encountered that rcu-walk cannot handle,
626 -ECHILD and it will be called again in ref-walk mode.
653 negative or needs lookup. Cached positive dentries are still
654 handled by f_op->open(). If the file was created, FMODE_CREATED
655 flag should be set in file->f_mode. In case of O_EXCL the
671 fall back to f_op->ioctl().
676 i_rwsem exclusive. If unset, then fall back to f_op->ioctl().
691 address-space can provide. These include communicating memory pressure,
697 ->release_folio on clean folios with the private
705 Pages are normally kept in a radix tree index by ->index. This tree
709 The Dirty tag is primarily used by mpage_writepages - the default
710 ->writepages method. It uses the tag to find dirty pages to
712 provides its own ->writepages) , the PAGECACHE_TAG_DIRTY tag is almost
714 __sync_single_inode) to check if ->writepages has been successful in
729 by memory-mapping the page. Data is written into the address space by
730 the application, and then written-back to storage typically in whole
740 inode's i_mapping->invalidate_lock exclusively.
757 --------------------------------
759 Most applications that do buffered I/O will periodically call a file
785 file->fsync operation, they should call file_check_and_advance_wb_err to
791 -------------------------------
796 .. code-block:: c
844 Filesystems may implement ->read_folio() synchronously.
845 In normal operation, folios are read through the ->readahead()
847 the read to complete will the page cache call ->read_folio().
849 in the ->read_folio() operation.
855 and call ->read_folio again.
857 Callers may invoke the ->read_folio() method directly, but using
863 address_space object. If wbc->sync_mode is WB_SYNC_ALL, then
867 ->writepages is given, then mpage_writepages is used instead.
886 rac->ra->async_size gives the number of async pages. The
895 Called by the generic buffered write code to ask the filesystem
900 basic-blocks on storage, then those blocks should be pre-read
931 and for working with swap-files. To be able to swap to a file,
947 discarded. This may be done by calling the ->release_folio
952 filesystem that the folio is about to be freed. ->release_folio
957 active users. If ->release_folio succeeds, the folio will be
978 called by the generic read/write routines to perform direct_IO -
991 Called before freeing a folio - it writes back the dirty folio.
1025 through ->swap_rw(), it should set SWP_FS_OPS, otherwise IO will
1026 be submitted directly to the block device ``sis->bdev``.
1043 ----------------------
1048 .. code-block:: c
1159 (non-blocking) mode is enabled for a file
1213 file-backed memory mapping, most notably establishing relevant
1232 ------------------------
1241 .. code-block:: c
1264 called whenever a name look-up finds a dentry in the dcache.
1270 This function should return a positive value if the dentry is
1273 d_revalidate may be called in rcu-walk mode (flags &
1274 LOOKUP_RCU). If in rcu-walk mode, the filesystem must
1280 If a situation is encountered that rcu-walk cannot handle,
1282 -ECHILD and it will be called again in ref-walk mode.
1286 is called when a path-walk ends at dentry that was not acquired
1288 "." and "..", as well as procfs-style symlinks and mountpoint
1299 d_weak_revalidate is only called after leaving rcu-walk mode.
1322 module. ->d_sb may be used.
1325 under "rcu-walk", ie. without any locks or references on things.
1363 .. code-block:: c
1368 dentry->d_inode->i_ino);
1379 an error code should be returned. If -EISDIR is returned, then
1396 returned to let the calling process continue. -EISDIR can be
1403 pathwalk in RCU-walk mode. Sleeping is not permitted in this
1405 returning -ECHILD. -EISDIR may also be returned to tell
1419 For non-regular files, the 'dentry' argument is returned.
1424 making d_splice_alias() fail with -ESTALE.
1446 --------------------------
1499 ---------------
1514 ---------------
1519 - options MUST be shown which are not default or their values differ
1522 - options MAY be shown which are enabled by default or have their
1538 (Note some of these resources are not up-to-date with the latest kernel
1544 The Linux Virtual File-system Layer by Neil Brown. 1999
1545 <http://www.cse.unsw.edu.au/~neilb/oss/linux-commentary/vfs.html>