X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=fs%2Fsysv%2Fdir.c;h=e566b387fcf949c5f202493605f7337ae2a85e3e;hb=b4b613fd83853f8c688b3de20ab1a42331257975;hp=f2bef962d30983cc1f43d2d965db2faa3fd1af17;hpb=075395d228641646159dae3dd170fa3fc6ff477a;p=mv-sheeva.git diff --git a/fs/sysv/dir.c b/fs/sysv/dir.c index f2bef962d30..e566b387fcf 100644 --- a/fs/sysv/dir.c +++ b/fs/sysv/dir.c @@ -54,23 +54,15 @@ static struct page * dir_get_page(struct inode *dir, unsigned long n) { struct address_space *mapping = dir->i_mapping; struct page *page = read_mapping_page(mapping, n, NULL); - if (!IS_ERR(page)) { - wait_on_page_locked(page); + if (!IS_ERR(page)) kmap(page); - if (!PageUptodate(page)) - goto fail; - } return page; - -fail: - dir_put_page(page); - return ERR_PTR(-EIO); } static int sysv_readdir(struct file * filp, void * dirent, filldir_t filldir) { unsigned long pos = filp->f_pos; - struct inode *inode = filp->f_dentry->d_inode; + struct inode *inode = filp->f_path.dentry->d_inode; struct super_block *sb = inode->i_sb; unsigned offset = pos & ~PAGE_CACHE_MASK; unsigned long n = pos >> PAGE_CACHE_SHIFT;