Messages in this thread Patch in this message | | | Subject | Re: PATCH [2/7] Fix posix locking code | From | Trond Myklebust <> | Date | Sat, 14 Aug 2004 16:19:51 -0400 |
| |
På lau , 14/08/2004 klokka 15:53, skreiv Christoph Hellwig: > On Sat, Aug 14, 2004 at 03:29:53PM -0400, Trond Myklebust wrote: > > VFS: Enable filesystems and to hook certain functions for copying > > locks, and freeing locks using the new struct file_lock_operations. > > > > VFS: Enable lock managers (i.e. lockd) to hook functions for comparing > > lock ownership using the new struct lock_manager_operations. > > Please document these operations and their locking rules in > Documentation/filesystems/Locking
Right here...
diff -u --recursive --new-file linux-2.6.8.1-07-cleanup_posix/Documentation/filesystems/Locking linux-2.6.8.1-08-Documentation/Documentation/filesystems/Locking --- linux-2.6.8.1-07-cleanup_posix/Documentation/filesystems/Locking 2004-08-14 14:27:32.000000000 -0400 +++ linux-2.6.8.1-08-Documentation/Documentation/filesystems/Locking 2004-08-14 16:07:11.000000000 -0400 @@ -276,21 +276,34 @@ internal fs locking and real critical areas are much smaller than the areas filesystems protect now. ---------------------------- file_lock ------------------------------------ +----------------------- file_lock_operations ------------------------------ prototypes: - void (*fl_notify)(struct file_lock *); /* unblock callback */ void (*fl_insert)(struct file_lock *); /* lock insertion callback */ void (*fl_remove)(struct file_lock *); /* lock removal callback */ + void (*fl_copy_lock)(struct file_lock *, struct file_lock *); + void (*fl_release_private)(struct file_lock *); + locking rules: - BKL may block -fl_notify: yes no -fl_insert: yes no -fl_remove: yes no + BKL may block +fl_insert: yes no +fl_remove: yes no +fl_copy_lock: yes no +fl_release_private: yes yes + +----------------------- lock_manager_operations --------------------------- +prototypes: + int (*fl_compare_owner)(struct file_lock *, struct file_lock *); + void (*fl_notify)(struct file_lock *); /* unblock callback */ + +locking rules: + BKL may block +fl_compare_owner: yes no +fl_notify: yes no + Currently only NLM provides instances of this class. None of the them block. If you have out-of-tree instances - please, show up. Locking in that area will change. - --------------------------- buffer_head ----------------------------------- prototypes: void (*b_end_io)(struct buffer_head *bh, int uptodate); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |