Lines Matching +full:buffered +full:- +full:negative

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
151 s_lock_key, s_umount_key: lockdep-specific
179 ->mount() may choose to return a subtree of existing filesystem - it
222 -----------------------
227 .. code-block:: c
269 ->alloc_inode was defined and simply undoes anything done by
270 ->alloc_inode.
285 inode->i_lock spinlock held.
289 not want to cache inodes - causing "delete_inode" to always be
349 also implement ->nr_cached_objects for it to be called
369 ---------------------
372 superblock field points to a NULL-terminated array of xattr handlers.
403 the various ``*xattr(2)`` system calls return -EOPNOTSUPP.
413 -----------------------
418 .. code-block:: c
455 not have an inode (i.e. it should be a negative dentry). Here
465 should be inserted into the dentry (this is called a negative
508 The filesystem must return -EINVAL for any unsupported or
511 the rename exists the rename should fail with -EEXIST instead of
531 have it return ERR_PTR(-ECHILD).
533 If the filesystem stores the symlink target in ->i_link, the
534 VFS may use it directly without calling ->get_link(); however,
535 ->get_link() must still be provided. ->i_link must not be
536 freed until after an RCU grace period. Writing to ->i_link
537 post-iget() time requires a 'release' memory barrier.
541 cases when ->get_link uses nd_jump_link() or object is not in
543 ->get_link for symlinks and readlink(2) will automatically use
547 called by the VFS to check for access rights on a POSIX-like
550 May be called in rcu-walk mode (mask & MAY_NOT_BLOCK). If in
551 rcu-walk mode, the filesystem must check the permission without
554 If a situation is encountered that rcu-walk cannot handle,
556 -ECHILD and it will be called again in ref-walk mode.
583 negative or needs lookup. Cached positive dentries are still
584 handled by f_op->open(). If the file was created, FMODE_CREATED
585 flag should be set in file->f_mode. In case of O_EXCL the
599 fall back to f_op->ioctl().
604 i_rwsem exclusive. If unset, then fall back to f_op->ioctl().
616 address-space can provide. These include communicating memory pressure,
622 in order to reuse them. To do this it can call the ->writepage method
623 on dirty pages, and ->releasepage on clean pages with PagePrivate set.
631 Pages are normally kept in a radix tree index by ->index. This tree
635 The Dirty tag is primarily used by mpage_writepages - the default
636 ->writepages method. It uses the tag to find dirty pages to call
637 ->writepage on. If mpage_writepages is not used (i.e. the address
638 provides its own ->writepages) , the PAGECACHE_TAG_DIRTY tag is almost
640 __sync_single_inode) to check if ->writepages has been successful in
655 by memory-mapping the page. Data is written into the address space by
656 the application, and then written-back to storage typically in whole
682 --------------------------------
684 Most applications that do buffered I/O will periodically call a file
710 file->fsync operation, they should call file_check_and_advance_wb_err to
716 -------------------------------
721 .. code-block:: c
746 /* put migration-failed page back to right list */
762 wbc->sync_mode. The PG_Dirty flag has been cleared and
768 If wbc->sync_mode is WB_SYNC_NONE, ->writepage doesn't have to
773 keep calling ->writepage on that page.
780 and marked uptodate once the read completes. If ->readpage
784 ->readpage will be called again.
788 address_space object. If wbc->sync_mode is WB_SYNC_ALL, then
792 ->writepages is given, then mpage_writepages is used instead.
794 DIRTY and will pass them to ->writepage.
820 readpages is only used for read-ahead, so read errors are
826 Called by the generic buffered write code to ask the filesystem
831 basic-blocks on storage, then those blocks should be pre-read
865 and for working with swap-files. To be able to swap to a file,
881 discarded. This may be done by calling the ->releasepage
886 page should be freed if possible. ->releasepage should remove
892 ->releasepage succeeds, the page will be removed from the
913 called by the generic read/write routines to perform direct_IO -
919 Called by the VM when isolating a movable non-lru page. If page
934 Called before freeing a page - it writes back the dirty page.
980 ----------------------
985 .. code-block:: c
1093 (non-blocking) mode is enabled for a file
1134 remapped, or the usual negative error code if errors occurred
1161 ------------------------
1170 .. code-block:: c
1190 called whenever a name look-up finds a dentry in the dcache.
1197 still valid, and zero or a negative error code if it isn't.
1199 d_revalidate may be called in rcu-walk mode (flags &
1200 LOOKUP_RCU). If in rcu-walk mode, the filesystem must
1206 If a situation is encountered that rcu-walk cannot handle,
1208 -ECHILD and it will be called again in ref-walk mode.
1212 is called when a path-walk ends at dentry that was not acquired
1214 "." and "..", as well as procfs-style symlinks and mountpoint
1225 d_weak_revalidate is only called after leaving rcu-walk mode.
1248 module. ->d_sb may be used.
1251 under "rcu-walk", ie. without any locks or references on things.
1289 .. code-block:: c
1294 dentry->d_inode->i_ino);
1305 an error code should be returned. If -EISDIR is returned, then
1312 returned with 2 refs on it to prevent automatic expiration - the
1324 returned to let the calling process continue. -EISDIR can be
1331 pathwalk in RCU-walk mode. Sleeping is not permitted in this
1333 returning -ECHILD. -EISDIR may also be returned to tell
1347 mode is selected with a non-NULL inode argument.
1357 --------------------------
1381 dentry then the dentry is turned into a negative dentry (the
1393 NULL, the dentry is called a "negative dentry". This function
1395 negative dentry
1410 ---------------
1425 ---------------
1430 - options MUST be shown which are not default or their values differ
1433 - options MAY be shown which are enabled by default or have their
1449 (Note some of these resources are not up-to-date with the latest kernel
1455 The Linux Virtual File-system Layer by Neil Brown. 1999
1456 <http://www.cse.unsw.edu.au/~neilb/oss/linux-commentary/vfs.html>