aboutsummaryrefslogtreecommitdiff
path: root/kernel-2.4
diff options
context:
space:
mode:
authorplougher <plougher>2006-08-01 23:54:06 +0000
committerMohamad Ayyash <mkayyash@google.com>2015-02-23 12:33:44 -0800
commit67bd5ed1112f4240f5ec66cbbc169bd802abe52c (patch)
tree6f79e6221dda15d7d0cbb19d7c088357cacbdac4 /kernel-2.4
parent410dd958c15c73d91e877a0afe085bfaee37d9ff (diff)
downloadsquashfs-tools-67bd5ed1112f4240f5ec66cbbc169bd802abe52c.tar.gz
Fixed readdir so it returns 0 rather than the number of directory entries
read. This is to better support NFS
Diffstat (limited to 'kernel-2.4')
-rwxr-xr-xkernel-2.4/fs/squashfs/inode.c8
-rwxr-xr-xkernel-2.4/fs/squashfs/squashfs2_0.c5
2 files changed, 5 insertions, 8 deletions
diff --git a/kernel-2.4/fs/squashfs/inode.c b/kernel-2.4/fs/squashfs/inode.c
index 3466356..d3e5e7f 100755
--- a/kernel-2.4/fs/squashfs/inode.c
+++ b/kernel-2.4/fs/squashfs/inode.c
@@ -1739,7 +1739,7 @@ static int squashfs_readdir(struct file *file, void *dirent, filldir_t filldir)
struct squashfs_super_block *sblk = &msblk->sblk;
long long next_block = SQUASHFS_I(i)->start_block +
sblk->directory_table_start;
- int next_offset = SQUASHFS_I(i)->offset, length = 0, dirs_read = 0,
+ int next_offset = SQUASHFS_I(i)->offset, length = 0,
dir_count;
struct squashfs_dir_header dirh;
char buffer[sizeof(struct squashfs_dir_entry) + SQUASHFS_NAME_LEN + 1];
@@ -1772,7 +1772,6 @@ static int squashfs_readdir(struct file *file, void *dirent, filldir_t filldir)
goto finish;
}
file->f_pos += size;
- dirs_read++;
}
length = get_dir_index_using_offset(i->i_sb, &next_block, &next_offset,
@@ -1853,12 +1852,11 @@ static int squashfs_readdir(struct file *file, void *dirent, filldir_t filldir)
goto finish;
}
file->f_pos = length;
- dirs_read++;
}
}
finish:
- return dirs_read;
+ return 0;
failed_read:
ERROR("Unable to read directory block [%llx:%x]\n", next_block,
@@ -2011,7 +2009,7 @@ static void squashfs_put_super(struct super_block *s)
static int __init init_squashfs_fs(void)
{
- printk(KERN_INFO "squashfs: version 3.1-test (2006/07/31) "
+ printk(KERN_INFO "squashfs: version 3.1-test (2006/08/01) "
"Phillip Lougher\n");
return register_filesystem(&squashfs_fs_type);
diff --git a/kernel-2.4/fs/squashfs/squashfs2_0.c b/kernel-2.4/fs/squashfs/squashfs2_0.c
index 4eabfa5..98f9a64 100755
--- a/kernel-2.4/fs/squashfs/squashfs2_0.c
+++ b/kernel-2.4/fs/squashfs/squashfs2_0.c
@@ -528,7 +528,7 @@ static int squashfs_readdir_2(struct file *file, void *dirent, filldir_t filldir
struct squashfs_super_block *sblk = &msblk->sblk;
long long next_block = SQUASHFS_I(i)->start_block +
sblk->directory_table_start;
- int next_offset = SQUASHFS_I(i)->offset, length = 0, dirs_read = 0,
+ int next_offset = SQUASHFS_I(i)->offset, length = 0,
dir_count;
struct squashfs_dir_header_2 dirh;
char buffer[sizeof(struct squashfs_dir_entry_2) + SQUASHFS_NAME_LEN + 1];
@@ -613,12 +613,11 @@ static int squashfs_readdir_2(struct file *file, void *dirent, filldir_t filldir
goto finish;
}
file->f_pos = length;
- dirs_read++;
}
}
finish:
- return dirs_read;
+ return 0;
failed_read:
ERROR("Unable to read directory block [%llx:%x]\n", next_block,