diff options
Diffstat (limited to 'fs/libfs.c')
| -rw-r--r-- | fs/libfs.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/fs/libfs.c b/fs/libfs.c index ac02ea602c3d..3793aaa14577 100644 --- a/fs/libfs.c +++ b/fs/libfs.c | |||
| @@ -317,17 +317,9 @@ int simple_rename(struct inode *old_dir, struct dentry *old_dentry, | |||
| 317 | 317 | ||
| 318 | int simple_readpage(struct file *file, struct page *page) | 318 | int simple_readpage(struct file *file, struct page *page) |
| 319 | { | 319 | { |
| 320 | void *kaddr; | 320 | clear_highpage(page); |
| 321 | |||
| 322 | if (PageUptodate(page)) | ||
| 323 | goto out; | ||
| 324 | |||
| 325 | kaddr = kmap_atomic(page, KM_USER0); | ||
| 326 | memset(kaddr, 0, PAGE_CACHE_SIZE); | ||
| 327 | kunmap_atomic(kaddr, KM_USER0); | ||
| 328 | flush_dcache_page(page); | 321 | flush_dcache_page(page); |
| 329 | SetPageUptodate(page); | 322 | SetPageUptodate(page); |
| 330 | out: | ||
| 331 | unlock_page(page); | 323 | unlock_page(page); |
| 332 | return 0; | 324 | return 0; |
| 333 | } | 325 | } |
| @@ -383,7 +375,6 @@ int simple_fill_super(struct super_block *s, int magic, struct tree_descr *files | |||
| 383 | return -ENOMEM; | 375 | return -ENOMEM; |
| 384 | inode->i_mode = S_IFDIR | 0755; | 376 | inode->i_mode = S_IFDIR | 0755; |
| 385 | inode->i_uid = inode->i_gid = 0; | 377 | inode->i_uid = inode->i_gid = 0; |
| 386 | inode->i_blksize = PAGE_CACHE_SIZE; | ||
| 387 | inode->i_blocks = 0; | 378 | inode->i_blocks = 0; |
| 388 | inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; | 379 | inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; |
| 389 | inode->i_op = &simple_dir_inode_operations; | 380 | inode->i_op = &simple_dir_inode_operations; |
| @@ -405,7 +396,6 @@ int simple_fill_super(struct super_block *s, int magic, struct tree_descr *files | |||
| 405 | goto out; | 396 | goto out; |
| 406 | inode->i_mode = S_IFREG | files->mode; | 397 | inode->i_mode = S_IFREG | files->mode; |
| 407 | inode->i_uid = inode->i_gid = 0; | 398 | inode->i_uid = inode->i_gid = 0; |
| 408 | inode->i_blksize = PAGE_CACHE_SIZE; | ||
| 409 | inode->i_blocks = 0; | 399 | inode->i_blocks = 0; |
| 410 | inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; | 400 | inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; |
| 411 | inode->i_fop = files->ops; | 401 | inode->i_fop = files->ops; |
| @@ -547,7 +537,7 @@ int simple_attr_open(struct inode *inode, struct file *file, | |||
| 547 | 537 | ||
| 548 | attr->get = get; | 538 | attr->get = get; |
| 549 | attr->set = set; | 539 | attr->set = set; |
| 550 | attr->data = inode->u.generic_ip; | 540 | attr->data = inode->i_private; |
| 551 | attr->fmt = fmt; | 541 | attr->fmt = fmt; |
| 552 | mutex_init(&attr->mutex); | 542 | mutex_init(&attr->mutex); |
| 553 | 543 | ||
