Merge to Fedora kernel-2.6.18-1.2224_FC5 patched with stable patch-2.6.18.1-vs2.0...
[linux-2.6.git] / fs / ext2 / dir.c
index d672aa9..b0e7d9f 100644 (file)
@@ -112,7 +112,7 @@ static void ext2_check_page(struct page *page)
        if (offs != limit)
                goto Eend;
 out:
-       SetPageChecked(page);
+       SetPageFsMisc(page);
        return;
 
        /* Too bad, we had an error */
@@ -152,21 +152,20 @@ Eend:
                dir->i_ino, (page->index<<PAGE_CACHE_SHIFT)+offs,
                (unsigned long) le32_to_cpu(p->inode));
 fail:
-       SetPageChecked(page);
+       SetPageFsMisc(page);
        SetPageError(page);
 }
 
 static struct page * ext2_get_page(struct inode *dir, unsigned long n)
 {
        struct address_space *mapping = dir->i_mapping;
-       struct page *page = read_cache_page(mapping, n,
-                               (filler_t*)mapping->a_ops->readpage, NULL);
+       struct page *page = read_mapping_page(mapping, n, NULL);
        if (!IS_ERR(page)) {
                wait_on_page_locked(page);
                kmap(page);
                if (!PageUptodate(page))
                        goto fail;
-               if (!PageChecked(page))
+               if (!PageFsMisc(page))
                        ext2_check_page(page);
                if (PageError(page))
                        goto fail;
@@ -400,8 +399,7 @@ ino_t ext2_inode_by_name(struct inode * dir, struct dentry *dentry)
        de = ext2_find_entry (dir, dentry, &page);
        if (de) {
                res = le32_to_cpu(de->inode);
-               kunmap(page);
-               page_cache_release(page);
+               ext2_put_page(page);
        }
        return res;
 }