Merge tag 'r8169-upstream-20061204-00' of git://electric-eye.fr.zoreil.com/home/romie...
[sfrench/cifs-2.6.git] / fs / ocfs2 / symlink.c
index f6986bd79e75b5ae8997fc4041ac1b10a77fe8a9..957d6878b03ef4bfa307d91d7f55f6fd0e0c885b 100644 (file)
@@ -64,8 +64,7 @@ static char *ocfs2_page_getlink(struct dentry * dentry,
 {
        struct page * page;
        struct address_space *mapping = dentry->d_inode->i_mapping;
-       page = read_cache_page(mapping, 0,
-                              (filler_t *)mapping->a_ops->readpage, NULL);
+       page = read_mapping_page(mapping, 0, NULL);
        if (IS_ERR(page))
                goto sync_fail;
        wait_on_page_locked(page);
@@ -127,6 +126,10 @@ static int ocfs2_readlink(struct dentry *dentry,
                goto out;
        }
 
+       /*
+        * Without vfsmount we can't update atime now,
+        * but we will update atime here ultimately.
+        */
        ret = vfs_readlink(dentry, buffer, buflen, link);
 
        brelse(bh);
@@ -155,7 +158,7 @@ static void *ocfs2_follow_link(struct dentry *dentry,
        }
 
        status = vfs_follow_link(nd, link);
-       if (status)
+       if (status && status != -ENOENT)
                mlog_errno(status);
 bail:
        if (page) {