tmp_suning_uos_patched/fs/dlm
Steven Whitehouse 314dd2a053 dlm: Don't send callback to node making lock request when "try 1cb" fails
When converting a lock, an lkb is in the granted state and also being used
to request a new state. In the case that the conversion was a "try 1cb"
type which has failed, and if the new state was incompatible with the old
state, a callback was being generated to the requesting node. This is
incorrect as callbacks should only be sent to all the other nodes holding
blocking locks. The requesting node should receive the normal (failed)
response to its "try 1cb" conversion request only.

This was discovered while debugging a performance problem on GFS2, however
this fix also speeds up GFS as well. In the GFS2 case the performance gain
is over 10x for cases of write activity to an inode whose glock is cached
on another, idle (wrt that glock) node.

(comment added, dct)

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Tested-by: Abhijith Das <adas@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
2010-09-03 10:10:47 -05:00
..
ast.c dlm: fix ordering of bast and cast 2010-02-24 11:46:53 -06:00
ast.h dlm: fix ordering of bast and cast 2010-02-24 11:46:53 -06:00
config.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
config.h dlm: recover nodes that are removed and re-added 2008-04-21 11:18:01 -05:00
debug_fs.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
dir.c dlm: always use GFP_NOFS 2009-11-30 16:34:43 -06:00
dir.h
dlm_internal.h dlm: fix ordering of bast and cast 2010-02-24 11:46:53 -06:00
Kconfig
lock.c dlm: Don't send callback to node making lock request when "try 1cb" fails 2010-09-03 10:10:47 -05:00
lock.h
lockspace.c Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
lockspace.h dlm: detect available userspace daemon 2008-08-28 11:49:43 -05:00
lowcomms.c fs/dlm: Drop unnecessary null test 2010-08-05 14:23:45 -05:00
lowcomms.h dlm: connect to nodes earlier 2009-05-15 09:34:12 -05:00
lvb_table.h
main.c dlm: move plock code from gfs2 2008-04-21 11:22:28 -05:00
Makefile dlm: move plock code from gfs2 2008-04-21 11:22:28 -05:00
member.c Fix misspellings of "truly" in comments. 2010-02-04 11:55:45 +01:00
member.h
memory.c dlm: always use GFP_NOFS 2009-11-30 16:34:43 -06:00
memory.h
midcomms.c dlm: fix up memory allocation flags 2008-12-23 10:15:40 -06:00
midcomms.h
netlink.c dlm: use genl_register_family_with_ops() 2010-08-05 14:22:01 -05:00
plock.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
rcom.c dlm: always use GFP_NOFS 2009-11-30 16:34:43 -06:00
rcom.h
recover.c dlm: change rsbtbl rwlock to spinlock 2009-01-08 15:12:39 -06:00
recover.h
recoverd.c dlm: recover nodes that are removed and re-added 2008-04-21 11:18:01 -05:00
recoverd.h
requestqueue.c dlm: always use GFP_NOFS 2009-11-30 16:34:43 -06:00
requestqueue.h
user.c dlm: fix ast ordering for user locks 2010-04-30 14:52:51 -05:00
user.h dlm: fix ordering of bast and cast 2010-02-24 11:46:53 -06:00
util.c
util.h