David Chinner 33a266dda9 [PATCH] Make BH_Unwritten a first class bufferhead flag V2
Currently, XFS uses BH_PrivateStart for flagging unwritten extent state in a
bufferhead.  Recently, I found the long standing mmap/unwritten extent
conversion bug, and it was to do with partial page invalidation not clearing
the unwritten flag from bufferheads attached to the page but beyond EOF.  See
here for a full explaination:

http://oss.sgi.com/archives/xfs/2006-12/msg00196.html

The solution I have checked into the XFS dev tree involves duplicating code
from block_invalidatepage to clear the unwritten flag from the bufferhead(s),
and then calling block_invalidatepage() to do the rest.

Christoph suggested that this would be better solved by pushing the unwritten
flag into the common buffer head flags and just adding the call to
discard_buffer():

http://oss.sgi.com/archives/xfs/2006-12/msg00239.html

The following patch makes BH_Unwritten a first class citizen.

Signed-off-by: Dave Chinner <dgc@sgi.com>
Acked-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-12 09:48:27 -08:00
..
2007-02-09 17:39:39 -05:00
2006-12-08 08:28:39 -08:00
2006-12-08 08:28:39 -08:00
2007-01-30 08:26:45 -08:00
2007-02-11 10:51:24 -08:00
2006-12-30 10:56:43 -08:00
2006-12-11 14:35:00 -08:00
2007-02-09 17:39:36 -05:00
2007-02-09 17:39:36 -05:00
2007-02-11 11:18:07 -08:00
2007-02-01 16:17:06 -08:00
2007-02-11 10:51:31 -08:00
2006-12-10 09:55:41 -08:00
2007-02-07 15:44:36 -08:00
2007-01-08 19:49:54 +00:00
2007-02-09 09:00:22 +01:00
2006-12-10 21:21:29 +01:00
2006-12-10 21:21:31 +01:00
2007-02-09 17:39:36 -05:00
2007-02-11 11:18:07 -08:00
2007-02-09 17:39:36 -05:00
2006-12-07 08:39:47 -08:00
2006-12-07 08:39:47 -08:00
2006-12-07 08:39:47 -08:00
2007-02-07 15:50:08 -08:00
2006-12-08 08:28:57 -08:00
2007-02-11 11:18:05 -08:00
2007-02-07 10:37:14 -08:00
2007-02-11 10:51:24 -08:00
2007-02-09 17:39:40 -05:00
2007-01-05 23:55:21 -08:00
2007-02-07 10:37:12 -08:00
2007-02-07 15:50:08 -08:00
2007-01-23 00:34:54 -05:00
2007-02-08 13:51:54 -08:00
2007-02-09 08:06:14 -08:00
2007-02-11 11:18:07 -08:00
2007-02-11 10:51:28 -08:00
2007-01-11 18:18:21 -08:00
2007-02-11 10:51:28 -08:00
2006-12-22 08:55:49 -08:00
2006-12-10 09:55:40 -08:00
2006-12-12 08:10:44 -08:00
2006-12-08 08:28:57 -08:00
2006-12-13 09:05:49 -08:00
2007-02-11 10:51:18 -08:00
2007-02-07 14:03:19 +11:00
2007-02-07 10:37:14 -08:00
2006-12-15 08:47:51 -08:00
2007-02-11 10:51:25 -08:00
2007-02-11 11:18:05 -08:00