Merge branch 'misc.namei' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux-2.6-microblaze.git] / include / linux / pagemap.h
index ed02aa5..62db6b0 100644 (file)
@@ -521,18 +521,17 @@ static inline struct page *read_mapping_page(struct address_space *mapping,
  */
 static inline pgoff_t page_to_index(struct page *page)
 {
-       pgoff_t pgoff;
+       struct page *head;
 
        if (likely(!PageTransTail(page)))
                return page->index;
 
+       head = compound_head(page);
        /*
         *  We don't initialize ->index for tail pages: calculate based on
         *  head page
         */
-       pgoff = compound_head(page)->index;
-       pgoff += page - compound_head(page);
-       return pgoff;
+       return head->index + page - head;
 }
 
 extern pgoff_t hugetlb_basepage_index(struct page *page);
@@ -736,7 +735,7 @@ extern void add_page_wait_queue(struct page *page, wait_queue_entry_t *waiter);
 /*
  * Fault everything in given userspace address range in.
  */
-static inline int fault_in_pages_writeable(char __user *uaddr, int size)
+static inline int fault_in_pages_writeable(char __user *uaddr, size_t size)
 {
        char __user *end = uaddr + size - 1;
 
@@ -763,7 +762,7 @@ static inline int fault_in_pages_writeable(char __user *uaddr, int size)
        return 0;
 }
 
-static inline int fault_in_pages_readable(const char __user *uaddr, int size)
+static inline int fault_in_pages_readable(const char __user *uaddr, size_t size)
 {
        volatile char c;
        const char __user *end = uaddr + size - 1;