diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2006-08-01 15:28:57 -0400 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2006-08-01 15:28:57 -0400 |
commit | 899bb264507cfed83922bf14cd66a073494601ba (patch) | |
tree | 5b604dfb4afef0d7132d5f6a5d7fa94328b0ee32 /fs/gfs2/dir.c | |
parent | de9b75d31e81e87685d8cc70052a003c654f1e8e (diff) |
[GFS2] Fix bug in directory code
This was a nasty bug which resulted in corruption of hash tables
in the directory code with larger directories. We forgot to
increment a pointer in the read/write routines internal to the
directory code.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/dir.c')
-rw-r--r-- | fs/gfs2/dir.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c index 563b99e419b6..76a23c172eeb 100644 --- a/fs/gfs2/dir.c +++ b/fs/gfs2/dir.c | |||
@@ -215,6 +215,7 @@ static int gfs2_dir_write_data(struct gfs2_inode *ip, const char *buf, | |||
215 | if (error) | 215 | if (error) |
216 | goto fail; | 216 | goto fail; |
217 | 217 | ||
218 | buf += amount; | ||
218 | copied += amount; | 219 | copied += amount; |
219 | lblock++; | 220 | lblock++; |
220 | dblock++; | 221 | dblock++; |
@@ -335,6 +336,7 @@ static int gfs2_dir_read_data(struct gfs2_inode *ip, char *buf, | |||
335 | if (error) | 336 | if (error) |
336 | goto fail; | 337 | goto fail; |
337 | 338 | ||
339 | buf += amount; | ||
338 | copied += amount; | 340 | copied += amount; |
339 | lblock++; | 341 | lblock++; |
340 | 342 | ||