Commit 0163916f1db7f345963dad1af78b7628c759c6ee

Authored by Linus Torvalds

Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd

* 'for-linus' of git://git.open-osd.org/linux-open-osd:
  exofs: confusion between kmap() and kmap_atomic() api
  exofs: Add default address_space_operations

Showing 2 changed files Side-by-side Diff

... ... @@ -608,7 +608,7 @@
608 608 de->inode_no = cpu_to_le64(parent->i_ino);
609 609 memcpy(de->name, PARENT_DIR, sizeof(PARENT_DIR));
610 610 exofs_set_de_type(de, inode);
611   - kunmap_atomic(page, KM_USER0);
  611 + kunmap_atomic(kaddr, KM_USER0);
612 612 err = exofs_commit_chunk(page, 0, chunk_size);
613 613 fail:
614 614 page_cache_release(page);
... ... @@ -755,6 +755,21 @@
755 755 return ret;
756 756 }
757 757  
  758 +static int exofs_releasepage(struct page *page, gfp_t gfp)
  759 +{
  760 + EXOFS_DBGMSG("page 0x%lx\n", page->index);
  761 + WARN_ON(1);
  762 + return try_to_free_buffers(page);
  763 +}
  764 +
  765 +static void exofs_invalidatepage(struct page *page, unsigned long offset)
  766 +{
  767 + EXOFS_DBGMSG("page_has_buffers=>%d\n", page_has_buffers(page));
  768 + WARN_ON(1);
  769 +
  770 + block_invalidatepage(page, offset);
  771 +}
  772 +
758 773 const struct address_space_operations exofs_aops = {
759 774 .readpage = exofs_readpage,
760 775 .readpages = exofs_readpages,
... ... @@ -762,6 +777,21 @@
762 777 .writepages = exofs_writepages,
763 778 .write_begin = exofs_write_begin_export,
764 779 .write_end = exofs_write_end,
  780 + .releasepage = exofs_releasepage,
  781 + .set_page_dirty = __set_page_dirty_nobuffers,
  782 + .invalidatepage = exofs_invalidatepage,
  783 +
  784 + /* Not implemented Yet */
  785 + .bmap = NULL, /* TODO: use osd's OSD_ACT_READ_MAP */
  786 + .direct_IO = NULL, /* TODO: Should be trivial to do */
  787 +
  788 + /* With these NULL has special meaning or default is not exported */
  789 + .sync_page = NULL,
  790 + .get_xip_mem = NULL,
  791 + .migratepage = NULL,
  792 + .launder_page = NULL,
  793 + .is_partially_uptodate = NULL,
  794 + .error_remove_page = NULL,
765 795 };
766 796  
767 797 /******************************************************************************