diff options
author | Andrew Morton <akpm@osdl.org> | 2006-12-10 05:19:44 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-10 12:55:41 -0500 |
commit | 6f88cc2e9c29c181557b477ee396375906acbc90 (patch) | |
tree | a6f7be99fee9fff000c61a111fe8b9ea83f1dd10 /fs/cifs/file.c | |
parent | 8bde37f08fe3340435f4320b5a092eeb55acebfd (diff) |
[PATCH] io-accounting-read-accounting cifs fix
CIFS implements ->readpages and doesn't use read_cache_pages(). So wire the
read IO accounting up within CIFS.
Cc: Jay Lan <jlan@sgi.com>
Cc: Shailabh Nagar <nagar@watson.ibm.com>
Cc: Balbir Singh <balbir@in.ibm.com>
Cc: Chris Sturtivant <csturtiv@sgi.com>
Cc: Tony Ernst <tee@sgi.com>
Cc: Guillaume Thouvenin <guillaume.thouvenin@bull.net>
Cc: Steven French <sfrench@us.ibm.com>
Cc: David Wright <daw@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/cifs/file.c')
-rw-r--r-- | fs/cifs/file.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/cifs/file.c b/fs/cifs/file.c index 1aa95a50cac2..0f05cab5d24a 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c | |||
@@ -29,6 +29,7 @@ | |||
29 | #include <linux/pagevec.h> | 29 | #include <linux/pagevec.h> |
30 | #include <linux/smp_lock.h> | 30 | #include <linux/smp_lock.h> |
31 | #include <linux/writeback.h> | 31 | #include <linux/writeback.h> |
32 | #include <linux/task_io_accounting_ops.h> | ||
32 | #include <linux/delay.h> | 33 | #include <linux/delay.h> |
33 | #include <asm/div64.h> | 34 | #include <asm/div64.h> |
34 | #include "cifsfs.h" | 35 | #include "cifsfs.h" |
@@ -1812,6 +1813,7 @@ static int cifs_readpages(struct file *file, struct address_space *mapping, | |||
1812 | cFYI(1, ("Read error in readpages: %d", rc)); | 1813 | cFYI(1, ("Read error in readpages: %d", rc)); |
1813 | break; | 1814 | break; |
1814 | } else if (bytes_read > 0) { | 1815 | } else if (bytes_read > 0) { |
1816 | task_io_account_read(bytes_read); | ||
1815 | pSMBr = (struct smb_com_read_rsp *)smb_read_data; | 1817 | pSMBr = (struct smb_com_read_rsp *)smb_read_data; |
1816 | cifs_copy_cache_pages(mapping, page_list, bytes_read, | 1818 | cifs_copy_cache_pages(mapping, page_list, bytes_read, |
1817 | smb_read_data + 4 /* RFC1001 hdr */ + | 1819 | smb_read_data + 4 /* RFC1001 hdr */ + |