diff options
author | Lachlan McIlroy <lachlan@redback.melbourne.sgi.com> | 2007-12-18 16:19:34 +1100 |
---|---|---|
committer | Lachlan McIlroy <lachlan@redback.melbourne.sgi.com> | 2007-12-18 17:16:23 +1100 |
commit | 041388b54ed95cd169546bd83bacd08ee32bd7ea (patch) | |
tree | f457ee15545f6fbed0b0d5b8edd772c8ef7354e5 /fs/xfs/xfs_dir2_leaf.c | |
parent | c734c79bc397eace039bea406997efa89f879c14 (diff) | |
download | op-kernel-dev-041388b54ed95cd169546bd83bacd08ee32bd7ea.zip op-kernel-dev-041388b54ed95cd169546bd83bacd08ee32bd7ea.tar.gz |
[XFS] Put the correct offset in dirent d_off
The recent filldir regression fix was not putting the correct d_off in
each dirent. This was resulting in incorrect cookies being passed to dmapi
ioctls and the wrong offset appearing in the dirents. readdir was
unaffected as the filp->f_pos was being updated with the correct offset
and this was being written into the last dirent in each buffer. Fix the
XFS code to do the right thing.
SGI-PV: 973746
SGI-Modid: xfs-linux-melb:xfs-kern:30240a
Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_dir2_leaf.c')
-rw-r--r-- | fs/xfs/xfs_dir2_leaf.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/xfs/xfs_dir2_leaf.c b/fs/xfs/xfs_dir2_leaf.c index e7c12fa..0ca0020 100644 --- a/fs/xfs/xfs_dir2_leaf.c +++ b/fs/xfs/xfs_dir2_leaf.c @@ -1091,7 +1091,7 @@ xfs_dir2_leaf_getdents( * Won't fit. Return to caller. */ if (filldir(dirent, dep->name, dep->namelen, - xfs_dir2_byte_to_dataptr(mp, curoff + length), + xfs_dir2_byte_to_dataptr(mp, curoff), ino, DT_UNKNOWN)) break; |