--- linux/fs/minix/dir.c 2018/04/24 18:12:29 1.1.1.3 +++ linux/fs/minix/dir.c 2018/04/24 18:14:27 1.1.1.4 @@ -42,14 +42,14 @@ struct inode_operations minix_dir_inode_ minix_rename, /* rename */ NULL, /* readlink */ NULL, /* follow_link */ - minix_bmap, /* bmap */ + NULL, /* bmap */ minix_truncate /* truncate */ }; static int minix_readdir(struct inode * inode, struct file * filp, struct dirent * dirent, int count) { - unsigned int block,offset,i; + unsigned int offset,i; char c; struct buffer_head * bh; struct minix_dir_entry * de; @@ -60,8 +60,8 @@ static int minix_readdir(struct inode * return -EBADF; while (filp->f_pos < inode->i_size) { offset = filp->f_pos & 1023; - block = minix_bmap(inode,(filp->f_pos)>>BLOCK_SIZE_BITS); - if (!block || !(bh = bread(inode->i_dev,block,BLOCK_SIZE))) { + bh = minix_bread(inode,(filp->f_pos)>>BLOCK_SIZE_BITS,0); + if (!bh) { filp->f_pos += 1024-offset; continue; }