[GFS2] filesystem consistency error from do_strip
authorBob Peterson <rpeterso@redhat.com>
Tue, 29 Apr 2008 17:35:48 +0000 (12:35 -0500)
committerSteven Whitehouse <swhiteho@redhat.com>
Mon, 12 May 2008 07:54:53 +0000 (08:54 +0100)
commit091806edd458486af13ad83c9802f5b8b54d6d19
treecf10d6aaf2e6bf0ed5b0ad94306623a2fc3fdb56
parent492c2e476eac010962850006c49df326919b284c
[GFS2] filesystem consistency error from do_strip

This patch fixes a GFS2 filesystem consistency error reported from
function do_strip.  The problem was caused by a timing window
that allowed two vfs inodes to be created in memory that point
to the same file.  The problem is fixed by making the vfs's
iget_test, iget_set mechanism check and set a new bit in the
in-core gfs2_inode structure while the vfs inode spin_lock is held.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/glops.c
fs/gfs2/incore.h
fs/gfs2/inode.c
fs/gfs2/meta_io.c
fs/gfs2/ops_super.c