diff options
author | Nick Piggin <npiggin@suse.de> | 2007-10-16 04:25:25 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-16 12:42:58 -0400 |
commit | 03158cd7eb3374843de68421142ca5900df845d9 (patch) | |
tree | 5e1bfc1f981651e7f7d7cf30afd15d7bd96b2a57 /include/linux | |
parent | b6af1bcd8720cb3062c8c4d4c8ba02bee10ff03f (diff) |
fs: restore nobh
Implement nobh in new aops. This is a bit tricky. FWIW, nobh_truncate is
now implemented in a way that does not create blocks in sparse regions,
which is a silly thing for it to have been doing (isn't it?)
ext2 survives fsx and fsstress. jfs is converted as well... ext3
should be easy to do (but not done yet).
[akpm@linux-foundation.org: coding-style fixes]
Cc: Badari Pulavarty <pbadari@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/buffer_head.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h index f4ef547fc609..da0d83fbadc0 100644 --- a/include/linux/buffer_head.h +++ b/include/linux/buffer_head.h | |||
@@ -226,9 +226,13 @@ sector_t generic_block_bmap(struct address_space *, sector_t, get_block_t *); | |||
226 | int generic_commit_write(struct file *, struct page *, unsigned, unsigned); | 226 | int generic_commit_write(struct file *, struct page *, unsigned, unsigned); |
227 | int block_truncate_page(struct address_space *, loff_t, get_block_t *); | 227 | int block_truncate_page(struct address_space *, loff_t, get_block_t *); |
228 | int file_fsync(struct file *, struct dentry *, int); | 228 | int file_fsync(struct file *, struct dentry *, int); |
229 | int nobh_prepare_write(struct page*, unsigned, unsigned, get_block_t*); | 229 | int nobh_write_begin(struct file *, struct address_space *, |
230 | int nobh_commit_write(struct file *, struct page *, unsigned, unsigned); | 230 | loff_t, unsigned, unsigned, |
231 | int nobh_truncate_page(struct address_space *, loff_t); | 231 | struct page **, void **, get_block_t*); |
232 | int nobh_write_end(struct file *, struct address_space *, | ||
233 | loff_t, unsigned, unsigned, | ||
234 | struct page *, void *); | ||
235 | int nobh_truncate_page(struct address_space *, loff_t, get_block_t *); | ||
232 | int nobh_writepage(struct page *page, get_block_t *get_block, | 236 | int nobh_writepage(struct page *page, get_block_t *get_block, |
233 | struct writeback_control *wbc); | 237 | struct writeback_control *wbc); |
234 | 238 | ||