aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/linux-2.6/xfs_file.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_file.c')
-rw-r--r--fs/xfs/linux-2.6/xfs_file.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/xfs/linux-2.6/xfs_file.c b/fs/xfs/linux-2.6/xfs_file.c
index 54c564693d..4847eb83fc 100644
--- a/fs/xfs/linux-2.6/xfs_file.c
+++ b/fs/xfs/linux-2.6/xfs_file.c
@@ -347,6 +347,7 @@ xfs_file_readdir(
347 347
348 size = buf.used; 348 size = buf.used;
349 de = (struct hack_dirent *)buf.dirent; 349 de = (struct hack_dirent *)buf.dirent;
350 curr_offset = de->offset /* & 0x7fffffff */;
350 while (size > 0) { 351 while (size > 0) {
351 if (filldir(dirent, de->name, de->namlen, 352 if (filldir(dirent, de->name, de->namlen,
352 curr_offset & 0x7fffffff, 353 curr_offset & 0x7fffffff,
@@ -356,13 +357,13 @@ xfs_file_readdir(
356 357
357 reclen = sizeof(struct hack_dirent) + de->namlen; 358 reclen = sizeof(struct hack_dirent) + de->namlen;
358 size -= reclen; 359 size -= reclen;
359 curr_offset = de->offset /* & 0x7fffffff */;
360 de = (struct hack_dirent *)((char *)de + reclen); 360 de = (struct hack_dirent *)((char *)de + reclen);
361 curr_offset = de->offset /* & 0x7fffffff */;
361 } 362 }
362 } 363 }
363 364
364 done: 365 done:
365 if (!error) { 366 if (!error) {
366 if (size == 0) 367 if (size == 0)
367 filp->f_pos = offset & 0x7fffffff; 368 filp->f_pos = offset & 0x7fffffff;
368 else if (de) 369 else if (de)