Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ed2f2f9b3ff8debdf512f7687b232c3c1d7d60d7 Commit: ed2f2f9b3ff8debdf512f7687b232c3c1d7d60d7 Parent: 6967614761fd305b3414d9485d89dc2e0a407410 Author: Mark Fasheh <[EMAIL PROTECTED]> AuthorDate: Thu Jul 19 01:47:01 2007 -0700 Committer: Linus Torvalds <[EMAIL PROTECTED]> CommitDate: Thu Jul 19 10:04:41 2007 -0700
Document ->page_mkwrite() locking There seems to be very little documentation about this callback in general. The locking in particular is a bit tricky, so it's worth having this in writing. Signed-off-by: Mark Fasheh <[EMAIL PROTECTED]> Cc: Nick Piggin <[EMAIL PROTECTED]> Cc: David Howells <[EMAIL PROTECTED]> Signed-off-by: Andrew Morton <[EMAIL PROTECTED]> Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]> --- Documentation/filesystems/Locking | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-) diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking index 970c8ec..91ec4b4 100644 --- a/Documentation/filesystems/Locking +++ b/Documentation/filesystems/Locking @@ -512,13 +512,22 @@ prototypes: void (*close)(struct vm_area_struct*); struct page *(*fault)(struct vm_area_struct*, struct fault_data *); struct page *(*nopage)(struct vm_area_struct*, unsigned long, int *); + int (*page_mkwrite)(struct vm_area_struct *, struct page *); locking rules: - BKL mmap_sem + BKL mmap_sem PageLocked(page) open: no yes close: no yes fault: no yes nopage: no yes +page_mkwrite: no yes no + + ->page_mkwrite() is called when a previously read-only page is +about to become writeable. The file system is responsible for +protecting against truncate races. Once appropriate action has been +taking to lock out truncate, the page range should be verified to be +within i_size. The page mapping should also be checked that it is not +NULL. ================================================================================ Dubious stuff - To unsubscribe from this list: send the line "unsubscribe git-commits-head" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html