Red Hat Bugzilla – Bug 465158
GFS: madvise system call causes assertion
Last modified: 2010-01-11 22:21:15 EST
+++ This bug was initially created as a clone of Bug #465151 +++
Description of problem:
Since the madvise system call was enabled by the patch to bug 429343, it's possible for a inode glock holder to never get dequeued through gfs_readpage. This causes an assertion (bug 464837)
GFS: fsid=cl102a:gfs1.1: warning: assertion "(gh->gh_flags & LM_FLAG_ANY) || (tmp_gh->gh_flags & LM_FLAG_ANY)" failed
GFS: fsid=cl102a:gfs1.1: function = add_to_queue
GFS: fsid=cl102a:gfs1.1: file = /builddir/build/BUILD/gfs-kmod-0.1.23/_kmod_build_/src/gfs/glock.c, line = 1418
GFS: fsid=cl102a:gfs1.1: time = 1222739610
I can't think of a way to make madvise work, and reverting the patch mentioned above and returning ENOSYS to madvise is the currently proposed solution to this problem.
I'll post a patch as soon as I verify that everything works as expected.
Turns out we fixed this one the easy way for rhel 4 in the first place, so no z-stream request is required. Closing this as a duplicate of the original bug fix.
*** This bug has been marked as a duplicate of bug 444912 ***