kernel-fxtec-pro1x/fs/gfs2
Bob Peterson 9171f5a991 [GFS2] kernel panic mounting volume
This patch fixes Red Hat bugzilla bug 450156.

This started with a not-too-improbable mount failure because the
locking protocol was never set back to its proper "lock_dlm" after the
system was rebooted in the middle of a gfs2_fsck.  That left a
(purposely) invalid locking protocol in the superblock, which caused an
error when the file system was mounted the next time.

When there's an error mounting, vfs calls DQUOT_OFF, which calls
vfs_quota_off which calls gfs2_sync_fs.  Next, gfs2_sync_fs calls
gfs2_log_flush passing s_fs_info.  But due to the error, s_fs_info
had been previously set to NULL, and so we have the kernel oops.

My solution in this patch is to test for the NULL value before passing
it.  I tested this patch and it fixes the problem.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2008-06-27 09:39:41 +01:00
..
locking/dlm [GFS2] No lock_nolock 2008-06-27 09:39:28 +01:00
acl.c [GFS2] fix GFP_KERNEL misuses 2008-04-10 09:55:26 +01:00
acl.h
bmap.c [GFS2] fix gfs2 block allocation (cleaned up) 2008-06-24 19:02:28 +01:00
bmap.h
daemon.c
daemon.h
dir.c [GFS2] fix GFP_KERNEL misuses 2008-04-10 09:55:26 +01:00
dir.h
eaops.c
eaops.h
eattr.c [GFS2] fix GFP_KERNEL misuses 2008-04-10 09:55:26 +01:00
eattr.h
gfs2.h
glock.c [GFS2] No lock_nolock 2008-06-27 09:39:28 +01:00
glock.h [GFS2] Clean up the glock core 2008-06-27 09:39:22 +01:00
glops.c [GFS2] Clean up the glock core 2008-06-27 09:39:22 +01:00
glops.h
incore.h [GFS2] Clean up the glock core 2008-06-27 09:39:22 +01:00
inode.c [GFS2] filesystem consistency error from do_strip 2008-05-12 08:54:53 +01:00
inode.h [GFS2] Eliminate (almost) duplicate field from gfs2_inode 2008-03-31 10:40:55 +01:00
Kconfig [GFS2] No lock_nolock 2008-06-27 09:39:28 +01:00
locking.c [GFS2] Fix ordering of args for list_add 2008-06-27 09:39:34 +01:00
log.c [GFS2] trivial sparse lock annotations 2008-06-27 09:39:31 +01:00
log.h [GFS2] trivial sparse lock annotations 2008-06-27 09:39:31 +01:00
lops.c [GFS2] Plug an unlikely leak 2008-03-31 10:40:05 +01:00
lops.h [GFS2] Only do lo_incore_commit once 2008-03-31 10:39:54 +01:00
main.c [GFS2] Clean up the glock core 2008-06-27 09:39:22 +01:00
Makefile [GFS2] No lock_nolock 2008-06-27 09:39:28 +01:00
meta_io.c [GFS2] Clean up the glock core 2008-06-27 09:39:22 +01:00
meta_io.h [GFS2] Clean up the glock core 2008-06-27 09:39:22 +01:00
mount.c
mount.h
ops_address.c [GFS2] Revise readpage locking 2008-06-27 09:39:37 +01:00
ops_address.h
ops_dentry.c [GFS2] Fix a page lock / glock deadlock 2008-03-31 10:41:12 +01:00
ops_dentry.h
ops_export.c [GFS2] test for IS_ERR rather than 0 2008-03-31 10:41:46 +01:00
ops_file.c [GFS2] Clean up the glock core 2008-06-27 09:39:22 +01:00
ops_fstype.c [GFS2] No lock_nolock 2008-06-27 09:39:28 +01:00
ops_fstype.h
ops_inode.c [GFS2] Streamline quota lock/check for no-quota case 2008-03-31 10:41:36 +01:00
ops_inode.h [GFS2] remove gfs2_dev_iops 2008-03-31 10:41:20 +01:00
ops_super.c [GFS2] kernel panic mounting volume 2008-06-27 09:39:41 +01:00
ops_super.h
quota.c [GFS2] fix GFP_KERNEL misuses 2008-04-10 09:55:26 +01:00
quota.h [GFS2] Streamline quota lock/check for no-quota case 2008-03-31 10:41:36 +01:00
recovery.c [GFS2] No lock_nolock 2008-06-27 09:39:28 +01:00
recovery.h
rgrp.c [GFS2] BUG: unable to handle kernel paging request at ffff81002690e000 2008-06-24 14:17:45 +01:00
rgrp.h [GFS2] Add extent allocation to block allocator 2008-03-31 10:40:47 +01:00
super.c [GFS2] Clean up the glock core 2008-06-27 09:39:22 +01:00
super.h [GFS2] Remove lm.[ch] and distribute content 2008-03-31 10:40:26 +01:00
sys.c [GFS2] Remove unused counters 2008-03-31 10:40:34 +01:00
sys.h
trans.c [GFS2] Update gfs2_trans_add_unrevoke to accept extents 2008-03-31 10:40:42 +01:00
trans.h [GFS2] Update gfs2_trans_add_unrevoke to accept extents 2008-03-31 10:40:42 +01:00
util.c [GFS2] Remove lm.[ch] and distribute content 2008-03-31 10:40:26 +01:00
util.h fs: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00