From adac55d0672f9a75def2391c4bd02ea9b733e9eb Mon Sep 17 00:00:00 2001 From: Mark Fasheh Date: Thu, 19 Jul 2007 01:47:01 -0700 Subject: [PATCH] --- yaml --- r: 61531 b: refs/heads/master c: ed2f2f9b3ff8debdf512f7687b232c3c1d7d60d7 h: refs/heads/master i: 61529: 918482bdc6e6eb90ed290046e7339f442f543ffc 61527: 9754efa2b4d757a4082b047586b6491b51c923f9 v: v3 --- [refs] | 2 +- trunk/Documentation/filesystems/Locking | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 9a4b3d8e85b7..f4db50fdf32b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6967614761fd305b3414d9485d89dc2e0a407410 +refs/heads/master: ed2f2f9b3ff8debdf512f7687b232c3c1d7d60d7 diff --git a/trunk/Documentation/filesystems/Locking b/trunk/Documentation/filesystems/Locking index 970c8ec1a05b..91ec4b40ebfe 100644 --- a/trunk/Documentation/filesystems/Locking +++ b/trunk/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