[Cluster-devel] Re: Why the gfs2 performance regressed?

2008-01-03 Thread Denis Cheng
On Jan 3, 2008 3:27 PM, Denis Cheng [EMAIL PROTECTED] wrote:
 I compiled an older kernel release and 2.6.21.7 has been tested to be
 good, samba writing tests report 70 MB/s again.

 I'm now testing a newer kernel release.
After some bisecting work, now 2.6.22.15 is verified to be able to
support samba high performance, while 2.6.23 cannot,

-- 
Denis Cheng



[Cluster-devel] [GFS2] Allow page migration for writeback and ordered pages

2008-01-03 Thread Steven Whitehouse
From c2d6be02fdb6a968e3d5eef1a3c13dbf731fd0e9 Mon Sep 17 00:00:00 2001
From: Steven Whitehouse [EMAIL PROTECTED]
Date: Thu, 3 Jan 2008 11:31:38 +
Subject: [PATCH] [GFS2] Allow page migration for writeback and ordered pages

To improve performance on NUMA, we use the VM's standard page
migration for writeback and ordered pages. Probably we could
also do the same for journaled data, but that would need a
careful audit of the code, so will be the subject of a later
patch.

Signed-off-by: Steven Whitehouse [EMAIL PROTECTED]

diff --git a/fs/gfs2/ops_address.c b/fs/gfs2/ops_address.c
index 8f94e30..e16ad81 100644
--- a/fs/gfs2/ops_address.c
+++ b/fs/gfs2/ops_address.c
@@ -1098,6 +1098,7 @@ static const struct address_space_operations 
gfs2_writeback_aops = {
.invalidatepage = gfs2_invalidatepage,
.releasepage = gfs2_releasepage,
.direct_IO = gfs2_direct_IO,
+   .migratepage = buffer_migrate_page,
 };
 
 static const struct address_space_operations gfs2_ordered_aops = {
@@ -1112,6 +1113,7 @@ static const struct address_space_operations 
gfs2_ordered_aops = {
.invalidatepage = gfs2_invalidatepage,
.releasepage = gfs2_releasepage,
.direct_IO = gfs2_direct_IO,
+   .migratepage = buffer_migrate_page,
 };
 
 static const struct address_space_operations gfs2_jdata_aops = {
-- 
1.5.1.2





[Cluster-devel] [GFS2 patch] Initialize extent_list earlier

2008-01-03 Thread Bob Peterson
Hi,

Here is a patch for the latest upstream GFS2 code:
The journal extent map needs to be initialized sooner than it
currently is.  Otherwise failed mount attempts (e.g. not enough
journals, etc.) may panic trying to access the uninitialized list.

Regards,

Bob Peterson

Signed-off-by: Bob Peterson [EMAIL PROTECTED]
--
 fs/gfs2/ops_fstype.c |1 -
 fs/gfs2/super.c  |1 +
 2 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c
index a77d41f..9ffc10b 100644
--- a/fs/gfs2/ops_fstype.c
+++ b/fs/gfs2/ops_fstype.c
@@ -330,7 +330,6 @@ static int map_journal_extents(struct gfs2_sbd *sdp)
struct buffer_head bh;
int rc = 0;
 
-   INIT_LIST_HEAD(jd-extent_list);
prev_db = 0;
 
for (lb = 0; lb  ip-i_di.di_size  sdp-sd_sb.sb_bsize_shift; lb++) {
diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c
index 73e49df..fa86038 100644
--- a/fs/gfs2/super.c
+++ b/fs/gfs2/super.c
@@ -385,6 +385,7 @@ int gfs2_jindex_hold(struct gfs2_sbd *sdp, struct 
gfs2_holder *ji_gh)
if (!jd)
break;
 
+   INIT_LIST_HEAD(jd-extent_list);
jd-jd_inode = gfs2_lookupi(sdp-sd_jindex, name, 1, NULL);
if (!jd-jd_inode || IS_ERR(jd-jd_inode)) {
if (!jd-jd_inode)




Re: [Cluster-devel] [GFS2 patch] Initialize extent_list earlier

2008-01-03 Thread Steven Whitehouse
Hi,

Now in the -nmw git tree. Thanks,

Steve.

On Thu, 2008-01-03 at 09:24 -0600, Bob Peterson wrote:
 Hi,
 
 Here is a patch for the latest upstream GFS2 code:
 The journal extent map needs to be initialized sooner than it
 currently is.  Otherwise failed mount attempts (e.g. not enough
 journals, etc.) may panic trying to access the uninitialized list.
 
 Regards,
 
 Bob Peterson
 
 Signed-off-by: Bob Peterson [EMAIL PROTECTED]
 --
  fs/gfs2/ops_fstype.c |1 -
  fs/gfs2/super.c  |1 +
  2 files changed, 1 insertions(+), 1 deletions(-)
 
 diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c
 index a77d41f..9ffc10b 100644
 --- a/fs/gfs2/ops_fstype.c
 +++ b/fs/gfs2/ops_fstype.c
 @@ -330,7 +330,6 @@ static int map_journal_extents(struct gfs2_sbd *sdp)
   struct buffer_head bh;
   int rc = 0;
  
 - INIT_LIST_HEAD(jd-extent_list);
   prev_db = 0;
  
   for (lb = 0; lb  ip-i_di.di_size  sdp-sd_sb.sb_bsize_shift; lb++) {
 diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c
 index 73e49df..fa86038 100644
 --- a/fs/gfs2/super.c
 +++ b/fs/gfs2/super.c
 @@ -385,6 +385,7 @@ int gfs2_jindex_hold(struct gfs2_sbd *sdp, struct 
 gfs2_holder *ji_gh)
   if (!jd)
   break;
  
 + INIT_LIST_HEAD(jd-extent_list);
   jd-jd_inode = gfs2_lookupi(sdp-sd_jindex, name, 1, NULL);
   if (!jd-jd_inode || IS_ERR(jd-jd_inode)) {
   if (!jd-jd_inode)
 
 



[Cluster-devel] conga ./conga.spec.in.in luci/homebase/form-macros

2008-01-03 Thread rmccabe
CVSROOT:/cvs/cluster
Module name:conga
Changes by: [EMAIL PROTECTED]   2008-01-03 16:27:49

Modified files:
.  : conga.spec.in.in 
luci/homebase  : form-macros 

Log message:
Fixed bz253720: trust box shouldn't be an option if it is required

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/conga.spec.in.in.diff?cvsroot=clusterr1=1.90r2=1.91
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/homebase/form-macros.diff?cvsroot=clusterr1=1.63r2=1.64

--- conga/conga.spec.in.in  2007/11/06 23:05:06 1.90
+++ conga/conga.spec.in.in  2008/01/03 16:27:48 1.91
@@ -1,6 +1,6 @@
 ###
 #
-# Copyright (C) 2006-2007 Red Hat, Inc. All rights reserved.
+# Copyright (C) 2006-2008 Red Hat, Inc. All rights reserved.
 #
 # This copyrighted material is made available to anyone wishing to use,
 # modify, copy, or redistribute it subject to the terms and conditions
@@ -289,6 +289,7 @@
 
 %changelog
 * Wed Sep 19 2007 Ryan McCabe [EMAIL PROTECTED] 0.12.0-1
+- Fixed bz253720: trust box shouldn't be an option if it is required
 - Fixed bz253842 (luci ignores File System Resource Configuration)
 - Fixed bz277661 (RFE: Better instructions on the luci login page if 
luci_admin not run.)
 - Fixed bz277711 (RFE: luci_admin should check that luci is running before 
asking for the password)
--- conga/luci/homebase/form-macros 2008/01/02 20:52:23 1.63
+++ conga/luci/homebase/form-macros 2008/01/03 16:27:49 1.64
@@ -392,11 +392,11 @@
value 
sys/fp | nothing /
/td
td class=systemsTable
-   input type=checkbox 
checked tal:attributes=
-   id python: 
'__SYSTEM%dTrusted' % cur_sysnum;
-   name python: 
'__SYSTEM%dTrusted' % cur_sysnum;
-   disabled 
python: 'trusted' in sys
-   /
+   input type=checkbox 
checked=checked
+   tal:attributes=
+   id 
python: '__SYSTEM%dTrusted' % cur_sysnum;
+   name 
python: '__SYSTEM%dTrusted' % cur_sysnum;
+   
disabled python: sys.has_key('trusted') /
/td
td class=systemsTable
img 
src=delete-row.png class=deleteRow
@@ -769,8 +769,10 @@
 
h2 class=homebaseAdd Cluster/h2
 
-   tal:block tal:define=
-   global add_cluster request/SESSION/add_cluster | nothing /
+   tal:block
+   tal:define=global add_cluster request/SESSION/add_cluster | 
nothing /
+   tal:block
+   tal:define=global asked_for_certs add_cluster/show_certs | 
nothing /
 
form name=adminform action= method=post
tal:condition=add_cluster
@@ -799,8 +801,8 @@
tr class=systemsTable
th class=systemsTableNode 
Hostname/th
th class=systemsTableRoot 
Password/th
-   th class=systemsTableKey ID/th
-   th class=systemsTableTrust/th
+   th tal:condition=asked_for_certs 
class=systemsTableKey ID/th
+   th tal:condition=asked_for_certs 
class=systemsTableTrust/th
/tr
 
/thead
@@ -872,7 +874,7 @@
name 
python: '__SYSTEM%d:Passwd' % cur_sysnum /
/tal:block
/td
-   td class=systemsTable
+   td tal:condition=asked_for_certs 
class=systemsTable
img
tal:attributes=
src python: 
'trusted' in sys and 'lock-ok.png' or ('fp' in sys and 'lock-closed.png' or 
'lock-open.png');
@@ -884,14 +886,27 @@
name python: 
'__SYSTEM%dFingerprint' % cur_sysnum;

Re: [Cluster-devel] [PATCH] RFC: cman changes

2008-01-03 Thread Fabio M. Di Nitto

On Thu, 3 Jan 2008, Patrick Caulfeld wrote:


This patch changes the way cman works internally - it decouples it from
CCS so that any configuration system can be used. Provided the necessary
keys are filled in the objdb then cman can use them. Currently the only
alternative is /etc/ais/openais.conf, but it should be relatively easy
to add others (eg LDAP) as people feel the need.

Patrick



Only a few _minor_ details:

the patch needs a better rediff. This one doesn't apply clean on top of 
HEAD but nothing too bad :)


Some bits:

+   if (comline-two_node) {
+   snprintf(scratch, sizeof(scratch), CMAN_2NODE=true);
+   envp[envptr++] = strdup(scratch);
+   }

this one could land anytime (with it's getenv counterpart)



+   .name   = (char *)openais CMAN membership 
service 2.50,


I think we should be targetting 2.9x in preparation for 3.0



+   // TODO get config_version ??

:)



For the Makefile, just commit this one instead. Diff from the one that I 
did send you early is copyright update and do not link with libccs if we 
don't need to. Sorry for this double one :)


Thanks
Fabio

###
###
##
##  Copyright (C) 2004-2008 Red Hat, Inc.  All rights reserved.
##
##  This copyrighted material is made available to anyone wishing to use,
##  modify, copy, or redistribute it subject to the terms and conditions
##  of the GNU General Public License v.2.
##
###
###

TARGET1= service_cman.lcrso
TARGET2= config_ccs.lcrso
TARGET3= config_cmanpre.lcrso

LCRSOT=$(TARGET1) $(TARGET2) $(TARGET3)

all: depends ${TARGET1} ${TARGET2} ${TARGET3}

include ../../make/defines.mk
include $(OBJDIR)/make/cobj.mk
include $(OBJDIR)/make/clean.mk
include $(OBJDIR)/make/install.mk
include $(OBJDIR)/make/uninstall.mk

CFLAGS += -fPIC
CFLAGS += -I${ccsincdir} -I${openaisincdir}
CFLAGS += -I${incdir}

CCS_LDFLAGS += -L${ccslibdir} -lccs

OBJS1=  daemon.o \
logging.o \
ais.o \
commands.o \
barrier.o \
cmanconfig.o

OBJS2=  config.o logging.o

OBJS3=  cman-preconfig.o \
logging.o

${TARGET1}: ${OBJS1}
$(CC) -shared -Wl,-soname,$@ -o $@ $^ $(LDFLAGS)

${TARGET2}: ${OBJS2}
$(CC) -shared -Wl,-soname,$@ -o $@ $^ $(LDFLAGS) $(CCS_LDFLAGS)

${TARGET3}: ${OBJS3}
$(CC) -shared -Wl,-soname,$@ -o $@ $^ $(LDFLAGS)

depends:
$(MAKE) -C ../lib all

clean: generalclean

--
I'm going to make him an offer he can't refuse.