aboutsummaryrefslogtreecommitdiffstats
path: root/fs/dlm
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2007-06-11 11:47:18 -0400
committerSteven Whitehouse <swhiteho@redhat.com>2007-07-09 03:23:38 -0400
commitfad59c1390045b5adb7c7249ec4e77e0f868aca5 (patch)
treed04380e0f72b87ebcc8efc6da68e27ece846c8ea /fs/dlm
parentd93cfa9884354dac2d8ccd894594a43e0b962b6f (diff)
[DLM] don't require FS flag on all nodes
Mask off the recently added DLM_LSFL_FS flag when setting the exflags. This way all the nodes in the lockspace aren't required to have the FS flag set, since we later check that exflags matches among all nodes. Signed-off-by: Patrick Caulfield <pcaulfie@redhat.com> Signed-off-by: David Teigland <teigland@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/dlm')
-rw-r--r--fs/dlm/lockspace.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/dlm/lockspace.c b/fs/dlm/lockspace.c
index 6802653473d..1dc72105ab1 100644
--- a/fs/dlm/lockspace.c
+++ b/fs/dlm/lockspace.c
@@ -438,17 +438,18 @@ static int new_lockspace(char *name, int namelen, void **lockspace,
438 ls->ls_count = 0; 438 ls->ls_count = 0;
439 ls->ls_flags = 0; 439 ls->ls_flags = 0;
440 440
441 /* ls_exflags are forced to match among nodes, and we don't
442 need to require all nodes to have TIMEWARN active */
443 if (flags & DLM_LSFL_TIMEWARN) 441 if (flags & DLM_LSFL_TIMEWARN)
444 set_bit(LSFL_TIMEWARN, &ls->ls_flags); 442 set_bit(LSFL_TIMEWARN, &ls->ls_flags);
445 ls->ls_exflags = (flags & ~DLM_LSFL_TIMEWARN);
446 443
447 if (flags & DLM_LSFL_FS) 444 if (flags & DLM_LSFL_FS)
448 ls->ls_allocation = GFP_NOFS; 445 ls->ls_allocation = GFP_NOFS;
449 else 446 else
450 ls->ls_allocation = GFP_KERNEL; 447 ls->ls_allocation = GFP_KERNEL;
451 448
449 /* ls_exflags are forced to match among nodes, and we don't
450 need to require all nodes to have TIMEWARN or FS set */
451 ls->ls_exflags = (flags & ~(DLM_LSFL_TIMEWARN | DLM_LSFL_FS));
452
452 size = dlm_config.ci_rsbtbl_size; 453 size = dlm_config.ci_rsbtbl_size;
453 ls->ls_rsbtbl_size = size; 454 ls->ls_rsbtbl_size = size;
454 455