Merge branch 'for-3.1' of git://linux-nfs.org/~bfields/linux
[pandora-kernel.git] / Documentation / filesystems / Locking
index 57d827d..6533807 100644 (file)
@@ -52,7 +52,7 @@ ata *);
        void (*put_link) (struct dentry *, struct nameidata *, void *);
        void (*truncate) (struct inode *);
        int (*permission) (struct inode *, int, unsigned int);
-       int (*check_acl)(struct inode *, int, unsigned int);
+       int (*get_acl)(struct inode *, int);
        int (*setattr) (struct dentry *, struct iattr *);
        int (*getattr) (struct vfsmount *, struct dentry *, struct kstat *);
        int (*setxattr) (struct dentry *, const char *,const void *,size_t,int);
@@ -80,7 +80,7 @@ put_link:     no
 truncate:      yes             (see below)
 setattr:       yes
 permission:    no (may not block if called in rcu-walk mode)
-check_acl:     no
+get_acl:       no
 getattr:       no
 setxattr:      yes
 getxattr:      no
@@ -338,21 +338,21 @@ fl_release_private:       maybe           no
 
 ----------------------- lock_manager_operations ---------------------------
 prototypes:
-       int (*fl_compare_owner)(struct file_lock *, struct file_lock *);
-       void (*fl_notify)(struct file_lock *);  /* unblock callback */
-       int (*fl_grant)(struct file_lock *, struct file_lock *, int);
-       void (*fl_release_private)(struct file_lock *);
-       void (*fl_break)(struct file_lock *); /* break_lease callback */
-       int (*fl_change)(struct file_lock **, int);
+       int (*lm_compare_owner)(struct file_lock *, struct file_lock *);
+       void (*lm_notify)(struct file_lock *);  /* unblock callback */
+       int (*lm_grant)(struct file_lock *, struct file_lock *, int);
+       void (*lm_release_private)(struct file_lock *);
+       void (*lm_break)(struct file_lock *); /* break_lease callback */
+       int (*lm_change)(struct file_lock **, int);
 
 locking rules:
                        file_lock_lock  may block
-fl_compare_owner:      yes             no
-fl_notify:             yes             no
-fl_grant:              no              no
-fl_release_private:    maybe           no
-fl_break:              yes             no
-fl_change              yes             no
+lm_compare_owner:      yes             no
+lm_notify:             yes             no
+lm_grant:              no              no
+lm_release_private:    maybe           no
+lm_break:              yes             no
+lm_change              yes             no
 
 --------------------------- buffer_head -----------------------------------
 prototypes:
@@ -412,7 +412,7 @@ prototypes:
        int (*open) (struct inode *, struct file *);
        int (*flush) (struct file *);
        int (*release) (struct inode *, struct file *);
-       int (*fsync) (struct file *, int datasync);
+       int (*fsync) (struct file *, loff_t start, loff_t end, int datasync);
        int (*aio_fsync) (struct kiocb *, int datasync);
        int (*fasync) (int, struct file *, int);
        int (*lock) (struct file *, int, struct file_lock *);
@@ -438,9 +438,7 @@ prototypes:
 
 locking rules:
        All may block except for ->setlease.
-       No VFS locks held on entry except for ->fsync and ->setlease.
-
-->fsync() has i_mutex on inode.
+       No VFS locks held on entry except for ->setlease.
 
 ->setlease has the file_list_lock held and must not sleep.