On Wed, 17 Jun 2015 16:46:35 +0200 Thomas de Beauchene <thomas.chauvot-de-beauchene@xxxxxxxxxx> wrote: > Updated struct inode_operations documentation in vfs.txt to match > current implementation Looks good at a first glance, will probably queue it later. But please be sure to CC Al Viro (added) on patches like this; he's the expert in this area. Thanks, jon > Signed-off-by: Thomas de Beauchene <chauvo_t@xxxxxxxxxx> > --- > Documentation/filesystems/vfs.txt | 30 +++++++++++++++++++----------- > 1 file changed, 19 insertions(+), 11 deletions(-) > > diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt > index 3cb2ccf..ff53e34 100644 > --- a/Documentation/filesystems/vfs.txt > +++ b/Documentation/filesystems/vfs.txt > @@ -341,11 +341,18 @@ struct inode_operations > ----------------------- > > This describes how the VFS can manipulate an inode in your > -filesystem. As of kernel 2.6.22, the following members are defined: > +filesystem. As of kernel 4.1, the following members are defined: > > struct inode_operations { > - int (*create) (struct inode *,struct dentry *, umode_t, bool); > struct dentry * (*lookup) (struct inode *,struct dentry *, unsigned int); > + void * (*follow_link) (struct dentry *, struct nameidata *); > + int (*permission) (struct inode *, int); > + struct posix_acl * (*get_acl)(struct inode *, int); > + > + int (*readlink) (struct dentry *, char __user *,int); > + void (*put_link) (struct dentry *, struct nameidata *, void *); > + > + int (*create) (struct inode *,struct dentry *, umode_t, bool); > int (*link) (struct dentry *,struct inode *,struct dentry *); > int (*unlink) (struct inode *,struct dentry *); > int (*symlink) (struct inode *,struct dentry *,const char *); > @@ -356,23 +363,24 @@ struct inode_operations { > struct inode *, struct dentry *); > int (*rename2) (struct inode *, struct dentry *, > struct inode *, struct dentry *, unsigned int); > - int (*readlink) (struct dentry *, char __user *,int); > - void * (*follow_link) (struct dentry *, struct nameidata *); > - void (*put_link) (struct dentry *, struct nameidata *, void *); > - int (*permission) (struct inode *, int); > - int (*get_acl)(struct inode *, int); > int (*setattr) (struct dentry *, struct iattr *); > int (*getattr) (struct vfsmount *mnt, struct dentry *, struct kstat *); > int (*setxattr) (struct dentry *, const char *,const void *,size_t,int); > ssize_t (*getxattr) (struct dentry *, const char *, void *, size_t); > ssize_t (*listxattr) (struct dentry *, char *, size_t); > int (*removexattr) (struct dentry *, const char *); > - void (*update_time)(struct inode *, struct timespec *, int); > - int (*atomic_open)(struct inode *, struct dentry *, struct file *, > - unsigned open_flag, umode_t create_mode, int *opened); > + int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start, > + u64 len); > + int (*update_time)(struct inode *, struct timespec *, int); > + 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 (*set_acl)(struct inode *, struct posix_acl *, int); > + > + /* WARNING: probably going away soon, do not use! */ > int (*dentry_open)(struct dentry *, struct file *, const struct cred *); > -}; > +} ____cacheline_aligned; > > Again, all methods are called without any locks being held, unless > otherwise noted. -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html