2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
2008-01-28 11:24:35 -06:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-09-01 11:05:15 -04:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-05-05 16:59:11 -04:00
|
|
|
|
2006-01-30 11:55:32 +00:00
|
|
|
|
2006-02-14 11:54:42 +00:00
|
|
|
|
2007-01-15 13:52:17 +00:00
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
2006-02-27 17:23:27 -05:00
|
|
|
|
2007-10-18 11:15:50 +01:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
2006-02-27 17:23:27 -05:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
2007-05-14 12:42:18 -05:00
|
|
|
|
2006-02-27 17:23:27 -05:00
|
|
|
|
2006-07-11 09:46:33 -04:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2006-07-26 11:27:10 -04:00
|
|
|
|
2012-04-11 12:58:07 -04:00
|
|
|
|
|
|
|
|
|
2006-07-26 11:27:10 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[GFS2] fix jdata issues
This is a patch for the first three issues of RHBZ #238162
The first issue is that when you allocate a new page for a file, it will not
start off uptodate. This makes sense, since you haven't written anything to that
part of the file yet. Unfortunately, gfs2_pin() checks to make sure that the
buffers are uptodate. The solution to this is to mark the buffers uptodate in
gfs2_commit_write(), after they have been zeroed out and have the data written
into them. I'm pretty confident with this fix, although it's not completely
obvious that there is no problem with marking the buffers uptodate here.
The second issue is simply that you can try to pin a data buffer that is already
on the incore log, and thus, already pinned. This patch checks to see if this
buffer is already on the log, and exits databuf_lo_add() if it is, just like
buf_lo_add() does.
The third issue is that gfs2_log_flush() doesn't do it's block accounting
correctly. Both metadata and journaled data are logged, but gfs2_log_flush()
only compares the number of metadata blocks with the number of blocks to commit
to the ondisk journal. This patch also counts the journaled data blocks.
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2007-06-01 14:21:38 -05:00
|
|
|
|
|
|
|
|
|
2012-12-14 12:36:02 +00:00
|
|
|
|
2006-07-26 11:27:10 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2006-09-18 17:18:23 -04:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-09-18 17:18:23 -04:00
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-10 14:13:27 -06:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
2007-09-18 09:19:13 -04:00
|
|
|
|
2006-09-18 17:18:23 -04:00
|
|
|
|
2006-08-31 12:14:44 -04:00
|
|
|
|
|
|
|
|
|
2006-09-18 17:18:23 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-10 14:13:27 -06:00
|
|
|
|
2006-09-18 17:18:23 -04:00
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2007-09-28 13:49:05 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2007-09-28 13:49:05 +01:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
2007-09-28 13:49:05 +01:00
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
2006-08-08 13:23:19 -04:00
|
|
|
|
|
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-09-28 13:49:05 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-06-14 09:58:41 +01:00
|
|
|
|
2007-09-28 13:49:05 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-17 09:04:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-09-28 13:49:05 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-10-15 09:46:39 +01:00
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2007-10-17 08:35:19 +01:00
|
|
|
|
2007-10-17 09:04:24 +01:00
|
|
|
|
|
|
|
|
|
2008-10-15 09:46:39 +01:00
|
|
|
|
|
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2008-10-15 09:46:39 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
|
|
|
|
|
2008-10-15 09:46:39 +01:00
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
2007-01-15 13:52:17 +00:00
|
|
|
|
2013-01-28 09:30:07 +00:00
|
|
|
|
2007-01-15 13:52:17 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-01-28 09:30:07 +00:00
|
|
|
|
2007-01-15 13:52:17 +00:00
|
|
|
|
2013-01-28 09:30:07 +00:00
|
|
|
|
|
|
|
|
|
2007-01-15 13:52:17 +00:00
|
|
|
|
2007-10-17 08:47:38 +01:00
|
|
|
|
2007-01-15 13:52:17 +00:00
|
|
|
|
|
|
|
|
|
2007-10-17 09:04:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-03-06 17:43:52 -06:00
|
|
|
|
2007-10-17 09:04:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-25 14:32:43 +00:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-04-20 09:18:30 +01:00
|
|
|
|
2008-04-28 02:12:10 -07:00
|
|
|
|
2007-04-20 09:18:30 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-02-04 22:28:29 -08:00
|
|
|
|
2009-01-07 16:03:37 -06:00
|
|
|
|
2007-04-20 09:18:30 +01:00
|
|
|
|
|
|
|
|
|
2006-05-05 16:59:11 -04:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-11-25 23:14:30 +08:00
|
|
|
|
2010-03-25 14:32:43 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-11-25 23:14:30 +08:00
|
|
|
|
2007-04-20 09:18:30 +01:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-15 14:42:35 +01:00
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
2007-10-15 14:42:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-10 14:13:27 -06:00
|
|
|
|
2007-10-15 14:42:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-06-02 09:14:54 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-06-02 09:14:54 +01:00
|
|
|
|
|
|
|
|
|
2008-05-21 17:03:22 +01:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
2008-06-02 09:14:54 +01:00
|
|
|
|
2008-09-18 13:53:59 +01:00
|
|
|
|
|
|
|
|
|
2008-06-02 09:14:54 +01:00
|
|
|
|
2008-05-21 17:03:22 +01:00
|
|
|
|
2008-06-02 09:14:54 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 17:03:22 +01:00
|
|
|
|
2008-02-22 16:07:18 +00:00
|
|
|
|
2008-05-21 17:03:22 +01:00
|
|
|
|
2008-06-02 09:14:54 +01:00
|
|
|
|
|
|
|
|
|
2007-10-15 14:42:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-04-16 16:40:55 +01:00
|
|
|
|
|
|
|
|
|
2007-10-15 14:42:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-11-25 23:14:30 +08:00
|
|
|
|
2007-10-15 14:42:35 +01:00
|
|
|
|
2011-11-25 23:14:30 +08:00
|
|
|
|
2007-10-15 14:42:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-05-05 16:59:11 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-12-15 16:49:51 -05:00
|
|
|
|
2006-05-05 16:59:11 -04:00
|
|
|
|
2007-12-10 14:13:27 -06:00
|
|
|
|
2006-05-05 16:59:11 -04:00
|
|
|
|
2007-10-15 15:40:33 +01:00
|
|
|
|
2006-05-05 16:59:11 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-06-14 15:32:57 -04:00
|
|
|
|
|
|
|
|
|
2006-05-05 16:59:11 -04:00
|
|
|
|
2007-10-15 15:40:33 +01:00
|
|
|
|
2006-05-05 16:59:11 -04:00
|
|
|
|
2008-09-18 13:53:59 +01:00
|
|
|
|
|
|
|
|
|
2007-10-15 14:42:35 +01:00
|
|
|
|
2007-10-15 15:40:33 +01:00
|
|
|
|
2006-12-15 16:49:51 -05:00
|
|
|
|
2007-12-10 14:13:27 -06:00
|
|
|
|
2007-10-15 15:40:33 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-05-05 16:59:11 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
|
|
|
|
|
2009-06-25 15:09:51 -05:00
|
|
|
|
2008-12-10 10:28:10 +00:00
|
|
|
|
2012-07-30 14:53:19 +01:00
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-10-09 12:11:54 -05:00
|
|
|
|
2008-09-18 13:53:59 +01:00
|
|
|
|
|
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
2009-06-25 15:09:51 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
2010-06-24 19:21:20 -04:00
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
2008-12-10 10:28:10 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
2008-03-10 15:34:50 +00:00
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
2012-05-18 09:28:23 -04:00
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
2012-07-30 14:53:19 +01:00
|
|
|
|
2012-10-31 10:37:10 +00:00
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-06-25 15:09:51 -05:00
|
|
|
|
|
|
|
|
|
2010-09-27 16:00:04 -05:00
|
|
|
|
2012-07-30 14:53:19 +01:00
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
2007-09-17 10:59:52 +01:00
|
|
|
|
|
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
2007-07-17 10:29:02 +01:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2007-10-17 14:05:41 +01:00
|
|
|
|
2009-01-06 10:08:33 +00:00
|
|
|
|
fs: symlink write_begin allocation context fix
With the write_begin/write_end aops, page_symlink was broken because it
could no longer pass a GFP_NOFS type mask into the point where the
allocations happened. They are done in write_begin, which would always
assume that the filesystem can be entered from reclaim. This bug could
cause filesystem deadlocks.
The funny thing with having a gfp_t mask there is that it doesn't really
allow the caller to arbitrarily tinker with the context in which it can be
called. It couldn't ever be GFP_ATOMIC, for example, because it needs to
take the page lock. The only thing any callers care about is __GFP_FS
anyway, so turn that into a single flag.
Add a new flag for write_begin, AOP_FLAG_NOFS. Filesystems can now act on
this flag in their write_begin function. Change __grab_cache_page to
accept a nofs argument as well, to honour that flag (while we're there,
change the name to grab_cache_page_write_begin which is more instructive
and does away with random leading underscores).
This is really a more flexible way to go in the end anyway -- if a
filesystem happens to want any extra allocations aside from the pagecache
ones in ints write_begin function, it may now use GFP_KERNEL (rather than
GFP_NOFS) for common case allocations (eg. ocfs2_alloc_write_ctxt, for a
random example).
[kosaki.motohiro@jp.fujitsu.com: fix ubifs]
[kosaki.motohiro@jp.fujitsu.com: fix fuse]
Signed-off-by: Nick Piggin <npiggin@suse.de>
Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: <stable@kernel.org> [2.6.28.x]
Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
[ Cleaned up the calling convention: just pass in the AOP flags
untouched to the grab_cache_page_write_begin() function. That
just simplifies everybody, and may even allow future expansion of the
logic. - Linus ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-04 12:00:53 -08:00
|
|
|
|
2007-10-17 14:05:41 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2007-10-17 14:05:41 +01:00
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
2006-07-26 10:51:20 -04:00
|
|
|
|
2006-02-15 12:26:19 +00:00
|
|
|
|
|
|
|
|
|
2007-10-17 14:05:41 +01:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2007-10-17 14:05:41 +01:00
|
|
|
|
2006-02-15 12:26:19 +00:00
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
|
|
|
|
|
2006-02-15 12:26:19 +00:00
|
|
|
|
2010-10-06 10:47:23 +02:00
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
2007-10-17 14:05:41 +01:00
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2011-03-14 13:19:21 +00:00
|
|
|
|
2007-10-17 14:05:41 +01:00
|
|
|
|
2010-05-27 01:05:34 +10:00
|
|
|
|
2010-08-11 09:37:53 +01:00
|
|
|
|
2007-10-17 14:05:41 +01:00
|
|
|
|
2010-08-11 09:37:53 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-17 14:05:41 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-06-25 15:09:51 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-17 14:05:41 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[GFS2] kernel changes to support new gfs2_grow command
This is another revision of my gfs2 kernel patch that allows
gfs2_grow to function properly.
Steve Whitehouse expressed some concerns about the previous
patch and I restructured it based on his comments.
The previous patch was doing the statfs_change at file close time,
under its own transaction. The current patch does the statfs_change
inside the gfs2_commit_write function, which keeps it under the
umbrella of the inode transaction.
I can't call ri_update to re-read the rindex file during the
transaction because the transaction may have outstanding unwritten
buffers attached to the rgrps that would be otherwise blown away.
So instead, I created a new function, gfs2_ri_total, that will
re-read the rindex file just to total the file system space
for the sake of the statfs_change. The ri_update will happen
later, when gfs2 realizes the version number has changed, as it
happened before my patch.
Since the statfs_change is happening at write_commit time and there
may be multiple writes to the rindex file for one grow operation.
So one consequence of this restructuring is that instead of getting
one kernel message to indicate the change, you may see several.
For example, before when you did a gfs2_grow, you'd get a single
message like:
GFS2: File system extended by 247876 blocks (968MB)
Now you get something like:
GFS2: File system extended by 207896 blocks (812MB)
GFS2: File system extended by 39980 blocks (156MB)
This version has also been successfully run against the hours-long
"gfs2_fsck_hellfire" test that does several gfs2_grow and gfs2_fsck
while interjecting file system damage. It does this repeatedly
under a variety Resource Group conditions.
Signed-off-By: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2007-05-09 09:37:57 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-06-25 15:09:51 -05:00
|
|
|
|
|
|
|
|
|
[GFS2] kernel changes to support new gfs2_grow command
This is another revision of my gfs2 kernel patch that allows
gfs2_grow to function properly.
Steve Whitehouse expressed some concerns about the previous
patch and I restructured it based on his comments.
The previous patch was doing the statfs_change at file close time,
under its own transaction. The current patch does the statfs_change
inside the gfs2_commit_write function, which keeps it under the
umbrella of the inode transaction.
I can't call ri_update to re-read the rindex file during the
transaction because the transaction may have outstanding unwritten
buffers attached to the rgrps that would be otherwise blown away.
So instead, I created a new function, gfs2_ri_total, that will
re-read the rindex file just to total the file system space
for the sake of the statfs_change. The ri_update will happen
later, when gfs2 realizes the version number has changed, as it
happened before my patch.
Since the statfs_change is happening at write_commit time and there
may be multiple writes to the rindex file for one grow operation.
So one consequence of this restructuring is that instead of getting
one kernel message to indicate the change, you may see several.
For example, before when you did a gfs2_grow, you'd get a single
message like:
GFS2: File system extended by 247876 blocks (968MB)
Now you get something like:
GFS2: File system extended by 207896 blocks (812MB)
GFS2: File system extended by 39980 blocks (156MB)
This version has also been successfully run against the hours-long
"gfs2_fsck_hellfire" test that does several gfs2_grow and gfs2_fsck
while interjecting file system damage. It does this repeatedly
under a variety Resource Group conditions.
Signed-off-By: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2007-05-09 09:37:57 -05:00
|
|
|
|
|
|
|
|
|
2009-06-25 15:09:51 -05:00
|
|
|
|
[GFS2] kernel changes to support new gfs2_grow command
This is another revision of my gfs2 kernel patch that allows
gfs2_grow to function properly.
Steve Whitehouse expressed some concerns about the previous
patch and I restructured it based on his comments.
The previous patch was doing the statfs_change at file close time,
under its own transaction. The current patch does the statfs_change
inside the gfs2_commit_write function, which keeps it under the
umbrella of the inode transaction.
I can't call ri_update to re-read the rindex file during the
transaction because the transaction may have outstanding unwritten
buffers attached to the rgrps that would be otherwise blown away.
So instead, I created a new function, gfs2_ri_total, that will
re-read the rindex file just to total the file system space
for the sake of the statfs_change. The ri_update will happen
later, when gfs2 realizes the version number has changed, as it
happened before my patch.
Since the statfs_change is happening at write_commit time and there
may be multiple writes to the rindex file for one grow operation.
So one consequence of this restructuring is that instead of getting
one kernel message to indicate the change, you may see several.
For example, before when you did a gfs2_grow, you'd get a single
message like:
GFS2: File system extended by 247876 blocks (968MB)
Now you get something like:
GFS2: File system extended by 207896 blocks (812MB)
GFS2: File system extended by 39980 blocks (156MB)
This version has also been successfully run against the hours-long
"gfs2_fsck_hellfire" test that does several gfs2_grow and gfs2_fsck
while interjecting file system damage. It does this repeatedly
under a variety Resource Group conditions.
Signed-off-By: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2007-05-09 09:37:57 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-06-25 15:09:51 -05:00
|
|
|
|
|
|
|
|
|
[GFS2] kernel changes to support new gfs2_grow command
This is another revision of my gfs2 kernel patch that allows
gfs2_grow to function properly.
Steve Whitehouse expressed some concerns about the previous
patch and I restructured it based on his comments.
The previous patch was doing the statfs_change at file close time,
under its own transaction. The current patch does the statfs_change
inside the gfs2_commit_write function, which keeps it under the
umbrella of the inode transaction.
I can't call ri_update to re-read the rindex file during the
transaction because the transaction may have outstanding unwritten
buffers attached to the rgrps that would be otherwise blown away.
So instead, I created a new function, gfs2_ri_total, that will
re-read the rindex file just to total the file system space
for the sake of the statfs_change. The ri_update will happen
later, when gfs2 realizes the version number has changed, as it
happened before my patch.
Since the statfs_change is happening at write_commit time and there
may be multiple writes to the rindex file for one grow operation.
So one consequence of this restructuring is that instead of getting
one kernel message to indicate the change, you may see several.
For example, before when you did a gfs2_grow, you'd get a single
message like:
GFS2: File system extended by 247876 blocks (968MB)
Now you get something like:
GFS2: File system extended by 207896 blocks (812MB)
GFS2: File system extended by 39980 blocks (156MB)
This version has also been successfully run against the hours-long
"gfs2_fsck_hellfire" test that does several gfs2_grow and gfs2_fsck
while interjecting file system damage. It does this repeatedly
under a variety Resource Group conditions.
Signed-off-By: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2007-05-09 09:37:57 -05:00
|
|
|
|
|
|
|
|
|
2009-06-25 15:09:51 -05:00
|
|
|
|
|
|
|
|
|
[GFS2] kernel changes to support new gfs2_grow command
This is another revision of my gfs2 kernel patch that allows
gfs2_grow to function properly.
Steve Whitehouse expressed some concerns about the previous
patch and I restructured it based on his comments.
The previous patch was doing the statfs_change at file close time,
under its own transaction. The current patch does the statfs_change
inside the gfs2_commit_write function, which keeps it under the
umbrella of the inode transaction.
I can't call ri_update to re-read the rindex file during the
transaction because the transaction may have outstanding unwritten
buffers attached to the rgrps that would be otherwise blown away.
So instead, I created a new function, gfs2_ri_total, that will
re-read the rindex file just to total the file system space
for the sake of the statfs_change. The ri_update will happen
later, when gfs2 realizes the version number has changed, as it
happened before my patch.
Since the statfs_change is happening at write_commit time and there
may be multiple writes to the rindex file for one grow operation.
So one consequence of this restructuring is that instead of getting
one kernel message to indicate the change, you may see several.
For example, before when you did a gfs2_grow, you'd get a single
message like:
GFS2: File system extended by 247876 blocks (968MB)
Now you get something like:
GFS2: File system extended by 207896 blocks (812MB)
GFS2: File system extended by 39980 blocks (156MB)
This version has also been successfully run against the hours-long
"gfs2_fsck_hellfire" test that does several gfs2_grow and gfs2_fsck
while interjecting file system damage. It does this repeatedly
under a variety Resource Group conditions.
Signed-off-By: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2007-05-09 09:37:57 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-05-10 16:54:38 -05:00
|
|
|
|
|
|
|
|
|
[GFS2] kernel changes to support new gfs2_grow command
This is another revision of my gfs2 kernel patch that allows
gfs2_grow to function properly.
Steve Whitehouse expressed some concerns about the previous
patch and I restructured it based on his comments.
The previous patch was doing the statfs_change at file close time,
under its own transaction. The current patch does the statfs_change
inside the gfs2_commit_write function, which keeps it under the
umbrella of the inode transaction.
I can't call ri_update to re-read the rindex file during the
transaction because the transaction may have outstanding unwritten
buffers attached to the rgrps that would be otherwise blown away.
So instead, I created a new function, gfs2_ri_total, that will
re-read the rindex file just to total the file system space
for the sake of the statfs_change. The ri_update will happen
later, when gfs2 realizes the version number has changed, as it
happened before my patch.
Since the statfs_change is happening at write_commit time and there
may be multiple writes to the rindex file for one grow operation.
So one consequence of this restructuring is that instead of getting
one kernel message to indicate the change, you may see several.
For example, before when you did a gfs2_grow, you'd get a single
message like:
GFS2: File system extended by 247876 blocks (968MB)
Now you get something like:
GFS2: File system extended by 207896 blocks (812MB)
GFS2: File system extended by 39980 blocks (156MB)
This version has also been successfully run against the hours-long
"gfs2_fsck_hellfire" test that does several gfs2_grow and gfs2_fsck
while interjecting file system damage. It does this repeatedly
under a variety Resource Group conditions.
Signed-off-By: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2007-05-09 09:37:57 -05:00
|
|
|
|
2009-06-25 15:09:51 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[GFS2] kernel changes to support new gfs2_grow command
This is another revision of my gfs2 kernel patch that allows
gfs2_grow to function properly.
Steve Whitehouse expressed some concerns about the previous
patch and I restructured it based on his comments.
The previous patch was doing the statfs_change at file close time,
under its own transaction. The current patch does the statfs_change
inside the gfs2_commit_write function, which keeps it under the
umbrella of the inode transaction.
I can't call ri_update to re-read the rindex file during the
transaction because the transaction may have outstanding unwritten
buffers attached to the rgrps that would be otherwise blown away.
So instead, I created a new function, gfs2_ri_total, that will
re-read the rindex file just to total the file system space
for the sake of the statfs_change. The ri_update will happen
later, when gfs2 realizes the version number has changed, as it
happened before my patch.
Since the statfs_change is happening at write_commit time and there
may be multiple writes to the rindex file for one grow operation.
So one consequence of this restructuring is that instead of getting
one kernel message to indicate the change, you may see several.
For example, before when you did a gfs2_grow, you'd get a single
message like:
GFS2: File system extended by 247876 blocks (968MB)
Now you get something like:
GFS2: File system extended by 207896 blocks (812MB)
GFS2: File system extended by 39980 blocks (156MB)
This version has also been successfully run against the hours-long
"gfs2_fsck_hellfire" test that does several gfs2_grow and gfs2_fsck
while interjecting file system damage. It does this repeatedly
under a variety Resource Group conditions.
Signed-off-By: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2007-05-09 09:37:57 -05:00
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2006-06-14 15:32:57 -04:00
|
|
|
|
|
|
|
|
|
2009-06-25 15:09:51 -05:00
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
2011-11-25 23:14:30 +08:00
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-11-25 23:14:30 +08:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2009-05-12 11:16:20 -05:00
|
|
|
|
2010-08-11 09:53:11 +01:00
|
|
|
|
2009-05-12 11:16:20 -05:00
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
2006-10-02 12:39:19 -04:00
|
|
|
|
|
|
|
|
|
2009-11-10 12:54:56 -06:00
|
|
|
|
[GFS2] kernel changes to support new gfs2_grow command
This is another revision of my gfs2 kernel patch that allows
gfs2_grow to function properly.
Steve Whitehouse expressed some concerns about the previous
patch and I restructured it based on his comments.
The previous patch was doing the statfs_change at file close time,
under its own transaction. The current patch does the statfs_change
inside the gfs2_commit_write function, which keeps it under the
umbrella of the inode transaction.
I can't call ri_update to re-read the rindex file during the
transaction because the transaction may have outstanding unwritten
buffers attached to the rgrps that would be otherwise blown away.
So instead, I created a new function, gfs2_ri_total, that will
re-read the rindex file just to total the file system space
for the sake of the statfs_change. The ri_update will happen
later, when gfs2 realizes the version number has changed, as it
happened before my patch.
Since the statfs_change is happening at write_commit time and there
may be multiple writes to the rindex file for one grow operation.
So one consequence of this restructuring is that instead of getting
one kernel message to indicate the change, you may see several.
For example, before when you did a gfs2_grow, you'd get a single
message like:
GFS2: File system extended by 247876 blocks (968MB)
Now you get something like:
GFS2: File system extended by 207896 blocks (812MB)
GFS2: File system extended by 39980 blocks (156MB)
This version has also been successfully run against the hours-long
"gfs2_fsck_hellfire" test that does several gfs2_grow and gfs2_fsck
while interjecting file system damage. It does this repeatedly
under a variety Resource Group conditions.
Signed-off-By: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2007-05-09 09:37:57 -05:00
|
|
|
|
2012-04-10 08:56:04 -04:00
|
|
|
|
2009-11-10 12:54:56 -06:00
|
|
|
|
[GFS2] kernel changes to support new gfs2_grow command
This is another revision of my gfs2 kernel patch that allows
gfs2_grow to function properly.
Steve Whitehouse expressed some concerns about the previous
patch and I restructured it based on his comments.
The previous patch was doing the statfs_change at file close time,
under its own transaction. The current patch does the statfs_change
inside the gfs2_commit_write function, which keeps it under the
umbrella of the inode transaction.
I can't call ri_update to re-read the rindex file during the
transaction because the transaction may have outstanding unwritten
buffers attached to the rgrps that would be otherwise blown away.
So instead, I created a new function, gfs2_ri_total, that will
re-read the rindex file just to total the file system space
for the sake of the statfs_change. The ri_update will happen
later, when gfs2 realizes the version number has changed, as it
happened before my patch.
Since the statfs_change is happening at write_commit time and there
may be multiple writes to the rindex file for one grow operation.
So one consequence of this restructuring is that instead of getting
one kernel message to indicate the change, you may see several.
For example, before when you did a gfs2_grow, you'd get a single
message like:
GFS2: File system extended by 247876 blocks (968MB)
Now you get something like:
GFS2: File system extended by 207896 blocks (812MB)
GFS2: File system extended by 39980 blocks (156MB)
This version has also been successfully run against the hours-long
"gfs2_fsck_hellfire" test that does several gfs2_grow and gfs2_fsck
while interjecting file system damage. It does this repeatedly
under a variety Resource Group conditions.
Signed-off-By: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2007-05-09 09:37:57 -05:00
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
|
|
|
|
|
2009-06-25 15:09:51 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-06-25 15:09:51 -05:00
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-02-22 16:07:18 +00:00
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-12-14 12:36:02 +00:00
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-17 08:35:19 +01:00
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-10 12:54:56 -06:00
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
2012-04-10 08:56:04 -04:00
|
|
|
|
2009-11-10 12:54:56 -06:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
2011-03-16 16:32:39 -04:00
|
|
|
|
2012-07-30 14:53:19 +01:00
|
|
|
|
2012-05-18 09:28:23 -04:00
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
2009-06-25 15:09:51 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
2006-02-08 11:50:51 +00:00
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
2007-06-12 11:24:36 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-17 08:47:38 +01:00
|
|
|
|
2007-06-12 11:24:36 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-06-14 15:32:57 -04:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-10 14:13:27 -06:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-09-02 10:48:13 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-01 12:00:34 -04:00
|
|
|
|
|
|
|
|
|
2007-09-17 10:59:52 +01:00
|
|
|
|
|
|
|
|
|
2007-09-02 10:48:13 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-03-31 16:48:41 -05:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2007-09-02 10:48:13 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2007-06-12 11:24:36 -05:00
|
|
|
|
|
|
|
|
|
2007-09-02 10:48:13 +01:00
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2007-09-02 10:48:13 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
2006-12-14 18:24:26 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-17 08:47:38 +01:00
|
|
|
|
|
|
|
|
|
2006-12-14 18:24:26 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-09-11 15:35:37 -04:00
|
|
|
|
2006-12-14 18:24:26 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-07-25 17:24:12 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-02-14 11:54:42 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-06-14 15:32:57 -04:00
|
|
|
|
2006-02-14 11:54:42 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-12-14 18:24:26 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-02-14 11:54:42 +00:00
|
|
|
|
2008-09-18 13:53:59 +01:00
|
|
|
|
|
|
|
|
|
2006-02-14 11:54:42 +00:00
|
|
|
|
2006-12-14 18:24:26 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-02-14 11:54:42 +00:00
|
|
|
|
2010-06-04 11:29:53 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-02-14 11:54:42 +00:00
|
|
|
|
2012-08-09 12:48:42 -05:00
|
|
|
|
2006-02-14 11:54:42 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-07-11 09:46:33 -04:00
|
|
|
|
2006-08-31 12:14:44 -04:00
|
|
|
|
2006-07-11 09:46:33 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-12-08 12:12:13 +00:00
|
|
|
|
|
|
|
|
|
2006-07-11 09:46:33 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-09-20 15:26:33 +01:00
|
|
|
|
2006-07-11 09:46:33 -04:00
|
|
|
|
2007-08-16 16:03:57 +01:00
|
|
|
|
2011-07-14 08:59:44 +01:00
|
|
|
|
2006-07-11 09:46:33 -04:00
|
|
|
|
|
|
|
|
|
2007-08-16 16:03:57 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-05-03 11:49:19 +01:00
|
|
|
|
|
|
|
|
|
2007-08-16 16:03:57 +01:00
|
|
|
|
|
|
|
|
|
2011-07-14 08:59:44 +01:00
|
|
|
|
2007-08-16 16:03:57 +01:00
|
|
|
|
2006-07-11 09:46:33 -04:00
|
|
|
|
2007-08-16 16:03:57 +01:00
|
|
|
|
|
|
|
|
|
2006-08-31 12:14:44 -04:00
|
|
|
|
2006-07-11 09:46:33 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-01 12:00:34 -04:00
|
|
|
|
2007-09-02 10:48:13 +01:00
|
|
|
|
2012-05-01 12:00:34 -04:00
|
|
|
|
2007-09-02 10:48:13 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-07-11 09:46:33 -04:00
|
|
|
|
|
|
|
|
|
2006-08-31 12:14:44 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-07-11 09:46:33 -04:00
|
|
|
|
|
|
|
|
|
2006-08-24 15:59:40 -04:00
|
|
|
|
2006-07-11 09:46:33 -04:00
|
|
|
|
|
|
|
|
|
2011-05-03 11:49:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-08-16 16:03:57 +01:00
|
|
|
|
2011-07-14 08:59:44 +01:00
|
|
|
|
2007-08-16 16:03:57 +01:00
|
|
|
|
|
|
|
|
|
2006-07-11 09:46:33 -04:00
|
|
|
|
|
|
|
|
|
2007-10-17 08:47:38 +01:00
|
|
|
|
2007-09-28 13:49:05 +01:00
|
|
|
|
2013-01-28 09:30:07 +00:00
|
|
|
|
2007-10-17 08:47:38 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-03 11:31:38 +00:00
|
|
|
|
2009-03-03 11:45:20 +09:00
|
|
|
|
2009-09-16 11:50:16 +02:00
|
|
|
|
2007-10-17 08:47:38 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-09-28 13:49:05 +01:00
|
|
|
|
2013-01-28 09:30:07 +00:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2006-05-05 16:59:11 -04:00
|
|
|
|
2007-10-16 01:25:07 -07:00
|
|
|
|
|
|
|
|
|
2007-06-12 11:24:36 -05:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
2006-07-11 09:46:33 -04:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
2008-01-03 11:31:38 +00:00
|
|
|
|
2009-03-03 11:45:20 +09:00
|
|
|
|
2009-09-16 11:50:16 +02:00
|
|
|
|
2006-01-16 16:50:04 +00:00
|
|
|
|
|
|
|
|
|
2007-10-17 08:47:38 +01:00
|
|
|
|
2007-09-28 13:49:05 +01:00
|
|
|
|
2007-10-17 09:04:24 +01:00
|
|
|
|
2007-10-17 08:47:38 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-03-03 11:45:20 +09:00
|
|
|
|
2009-09-16 11:50:16 +02:00
|
|
|
|
2007-10-17 08:47:38 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|