diff options
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_file.c')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_file.c | 5 |
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) |