lkml.org 
[lkml]   [2004]   [Aug]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectRe: PATCH [2/7] Fix posix locking code
From
Date
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/

\
 
 \ /
  Last update: 2005-03-22 14:05    [W:0.604 / U:0.304 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site