projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge git://git.infradead.org/iommu-2.6 into iommu/fixes
[firefly-linux-kernel-4.4.55.git]
/
fs
/
reiserfs
/
dir.c
diff --git
a/fs/reiserfs/dir.c
b/fs/reiserfs/dir.c
index 1fd2051109a3547a47dbea91dc8e88ea5343d7c4..af677353a3f5b5d06960b47c7d1c313e02cfb5be 100644
(file)
--- a/
fs/reiserfs/dir.c
+++ b/
fs/reiserfs/dir.c
@@
-125,6
+125,7
@@
int reiserfs_readdir_inode(struct inode *inode, struct dir_context *ctx)
int d_reclen;
char *d_name;
ino_t d_ino;
int d_reclen;
char *d_name;
ino_t d_ino;
+ loff_t cur_pos = deh_offset(deh);
if (!de_visible(deh))
/* it is hidden entry */
if (!de_visible(deh))
/* it is hidden entry */
@@
-196,8
+197,9
@@
int reiserfs_readdir_inode(struct inode *inode, struct dir_context *ctx)
if (local_buf != small_buf) {
kfree(local_buf);
}
if (local_buf != small_buf) {
kfree(local_buf);
}
- // next entry should be looked for with such offset
- next_pos = deh_offset(deh) + 1;
+
+ /* deh_offset(deh) may be invalid now. */
+ next_pos = cur_pos + 1;
if (item_moved(&tmp_ih, &path_to_entry)) {
set_cpu_key_k_offset(&pos_key,
if (item_moved(&tmp_ih, &path_to_entry)) {
set_cpu_key_k_offset(&pos_key,