summaryrefslogtreecommitdiffstats
path: root/fs/gfs2/dir.c
diff options
context:
space:
mode:
authorSteven Whitehouse2006-08-01 21:28:57 +0200
committerSteven Whitehouse2006-08-01 21:28:57 +0200
commit899bb264507cfed83922bf14cd66a073494601ba (patch)
tree5b604dfb4afef0d7132d5f6a5d7fa94328b0ee32 /fs/gfs2/dir.c
parent[GFS2] add plock owner (diff)
downloadkernel-qcow2-linux-899bb264507cfed83922bf14cd66a073494601ba.tar.gz
kernel-qcow2-linux-899bb264507cfed83922bf14cd66a073494601ba.tar.xz
kernel-qcow2-linux-899bb264507cfed83922bf14cd66a073494601ba.zip
[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.c2
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,
if (error)
goto fail;
+ buf += amount;
copied += amount;
lblock++;
dblock++;
@@ -335,6 +336,7 @@ static int gfs2_dir_read_data(struct gfs2_inode *ip, char *buf,
if (error)
goto fail;
+ buf += amount;
copied += amount;
lblock++;