Lines Matching full:a
9 All filesystem operations require a dentry (or two) as a starting
10 point. Local applications have a reference-counted hold on suitable
12 applications that access a filesystem via a remote filesystem protocol
13 such as NFS may not be able to hold such a reference, and so need a
14 different way to refer to a particular dentry. As the alternative
23 This byte string will be called a "filehandle fragment" as it
26 A filesystem which supports the mapping between filehandle fragments
34 The dcache normally contains a proper prefix of any given filesystem
38 maintained easily (by each object maintaining a reference count on
41 However when objects are included into the dcache by interpreting a
42 filehandle fragment, there is no automatic creation of a path prefix
48 2. The dcache must be prepared for a newly found (via ->lookup) directory
49 to already have a (non-connected) dentry, and must be able to move
52 it is a dcache invariant that directories only have one dentry.
56 a. A dentry flag DCACHE_DISCONNECTED which is set on
58 This is set when anonymous dentries are created, and cleared when a
59 dentry is noticed to be a child of a dentry which is in the proper
60 prefix. If the refcount on a dentry with this flag set
62 kept in the dcache. If a dentry that is not already in the dcache
64 will be a allocated for each access, and discarded at the end of
67 Note that such a dentry can acquire children, name, ancestors, etc.
75 b. A primitive for creation of secondary roots - d_obtain_root(inode).
83 d_obtain_alias(inode) will return a dentry for the given inode.
84 If the inode already has a dentry, one of those is returned.
86 If it doesn't, a new anonymous (IS_ROOT and
89 In the case of a directory, care is taken that only one dentry
92 d_splice_alias(inode, dentry) will introduce a new dentry into the tree;
93 either the passed-in dentry or a preexisting alias for the given inode
101 For a filesystem to be exportable it must:
105 when ->lookup finds an inode for a given parent and name.
113 Typically the ->lookup routine will simply end with a::
120 A file system implementation declares that instances of the filesystem
122 super_block. This field must point to a "struct export_operations"
126 Takes a dentry and creates a filehandle fragment which can later be used
127 to find or create a dentry for the same object. The default
128 implementation creates a filehandle fragment that encodes a 32bit inode
133 Given a filehandle fragment, this should find the implied object and
134 create a dentry for it (possibly with d_obtain_alias).
137 Given a filehandle fragment, this should find the parent of the
138 implied object and create a dentry for it (possibly with
142 When given a dentry for a directory, this should return a dentry for
145 so any filehandle lookup that requires finding a parent will fail.
146 ->lookup("..") is *not* used as a default as it can leave ".." entries
150 When given a parent dentry and a child dentry, this should find a name
153 supplied, a default implementation is provided which uses vfs_readdir
158 A filehandle fragment consists of an array of 1 or more 4byte words,
159 together with a one byte "type".
163 nuls. Rather, the encode_fh routine should choose a "type" which