|
@@ -364,7 +364,6 @@ struct inode_operations {
|
|
|
int (*atomic_open)(struct inode *, struct dentry *, struct file *,
|
|
|
unsigned open_flag, umode_t create_mode, int *opened);
|
|
|
int (*tmpfile) (struct inode *, struct dentry *, umode_t);
|
|
|
- int (*dentry_open)(struct dentry *, struct file *, const struct cred *);
|
|
|
};
|
|
|
|
|
|
Again, all methods are called without any locks being held, unless
|
|
@@ -696,13 +695,6 @@ struct address_space_operations {
|
|
|
but instead uses bmap to find out where the blocks in the file
|
|
|
are and uses those addresses directly.
|
|
|
|
|
|
- dentry_open: *WARNING: probably going away soon, do not use!* This is an
|
|
|
- alternative to f_op->open(), the difference is that this method may open
|
|
|
- a file not necessarily originating from the same filesystem as the one
|
|
|
- i_op->open() was called on. It may be useful for stacking filesystems
|
|
|
- which want to allow native I/O directly on underlying files.
|
|
|
-
|
|
|
-
|
|
|
invalidatepage: If a page has PagePrivate set, then invalidatepage
|
|
|
will be called when part or all of the page is to be removed
|
|
|
from the address space. This generally corresponds to either a
|
|
@@ -1024,6 +1016,14 @@ struct dentry_operations {
|
|
|
at the end of the buffer, and returns a pointer to the first char.
|
|
|
dynamic_dname() helper function is provided to take care of this.
|
|
|
|
|
|
+ Example :
|
|
|
+
|
|
|
+ static char *pipefs_dname(struct dentry *dent, char *buffer, int buflen)
|
|
|
+ {
|
|
|
+ return dynamic_dname(dentry, buffer, buflen, "pipe:[%lu]",
|
|
|
+ dentry->d_inode->i_ino);
|
|
|
+ }
|
|
|
+
|
|
|
d_automount: called when an automount dentry is to be traversed (optional).
|
|
|
This should create a new VFS mount record and return the record to the
|
|
|
caller. The caller is supplied with a path parameter giving the
|
|
@@ -1080,14 +1080,6 @@ struct dentry_operations {
|
|
|
|
|
|
This method is never called with both non-NULL inode and non-zero flags.
|
|
|
|
|
|
-Example :
|
|
|
-
|
|
|
-static char *pipefs_dname(struct dentry *dent, char *buffer, int buflen)
|
|
|
-{
|
|
|
- return dynamic_dname(dentry, buffer, buflen, "pipe:[%lu]",
|
|
|
- dentry->d_inode->i_ino);
|
|
|
-}
|
|
|
-
|
|
|
Each dentry has a pointer to its parent dentry, as well as a hash list
|
|
|
of child dentries. Child dentries are basically like files in a
|
|
|
directory.
|