diff options
| author | Andrew Morton <akpm@digeo.com> | 2003-02-05 16:57:48 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2003-02-05 16:57:48 -0800 |
| commit | 6725839b5daa05f79f74d3088d7ff380eb77504e (patch) | |
| tree | e3e659a6fd5535cbe7d5a0f5a97dd82056739c92 | |
| parent | afcde6ef0d970ad1e1a1bc0506d6dae924abaab1 (diff) | |
[PATCH] give hugetlbfs a set_page_dirty a_op
Seems that nobody has tested direct IO into hugetlb pages yet. The VFS gets
upset about running set_page_dirty() against a non-uptodate page.
So give hugetlbfs inodes a private no-op ->set_page_dirty() to isolate them
from all that.
| -rw-r--r-- | fs/hugetlbfs/inode.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index bb8bf302da95..1022c9ce54bd 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c @@ -450,10 +450,19 @@ static int hugetlbfs_symlink(struct inode * dir, struct dentry *dentry, const ch return error; } +/* + * For direct-IO reads into hugetlb pages + */ +int hugetlbfs_set_page_dirty(struct page *page) +{ + return 0; +} + static struct address_space_operations hugetlbfs_aops = { .readpage = hugetlbfs_readpage, .prepare_write = hugetlbfs_prepare_write, - .commit_write = hugetlbfs_commit_write + .commit_write = hugetlbfs_commit_write, + .set_page_dirty = hugetlbfs_set_page_dirty, }; struct file_operations hugetlbfs_file_operations = { |
