FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Cluster Development

 
 
LinkBack Thread Tools
 
Old 11-29-2007, 08:27 PM
 
Default cluster/group/gfs_controld plock.c

CVSROOT: /cvs/cluster
Module name: cluster
Changes by: teigland@sourceware.org 2007-11-29 21:27:58

Modified files:
group/gfs_controld: plock.c

Log message:
Testing revealed a couple more races I hadn't expected.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/gfs_controld/plock.c.diff?cvsroot=cluster&r1=1.34&r2=1.35

--- cluster/group/gfs_controld/plock.c 2007/11/28 20:49:08 1.34
+++ cluster/group/gfs_controld/plock.c 2007/11/29 21:27:58 1.35
@@ -1404,8 +1404,12 @@
}

if (r->owner != 0) {
- /* shouldn't happen */
- log_error("receive_drop from %d r %llx owner %d", from,
+ /* - A sent drop, B sent drop, receive drop A, C sent own,
+ receive drop B (this warning on C, owner -1)
+ - A sent drop, B sent drop, receive drop A, A sent own,
+ receive own A, receive drop B (this warning on all,
+ owner A) */
+ log_debug("receive_drop from %d r %llx owner %d", from,
(unsigned long long)r->number, r->owner);
return;
}
 
Old 11-30-2007, 03:20 PM
 
Default cluster/group/gfs_controld plock.c

CVSROOT: /cvs/cluster
Module name: cluster
Changes by: teigland@sourceware.org 2007-11-30 16:20:56

Modified files:
group/gfs_controld: plock.c

Log message:
change some log messages

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/gfs_controld/plock.c.diff?cvsroot=cluster&r1=1.35&r2=1.36

--- cluster/group/gfs_controld/plock.c 2007/11/29 21:27:58 1.35
+++ cluster/group/gfs_controld/plock.c 2007/11/30 16:20:55 1.36
@@ -971,6 +971,9 @@
- A sends drop, B sends plock, receive drop, receive plock.
This is addressed above.

+ - A sends drop, B sends plock, receive drop, B reads plock
+ and sends own, receive plock, on B we find owner of -1.
+
- A sends drop, B sends two plocks, receive drop, receive plocks.
Receiving the first plock is the previous case, receiving the
second plock will find r with owner of -1.
@@ -983,23 +986,29 @@
last case below; receiving a plock from ourself and finding
we're the owner of r. */

- /* may want to supress this if some of them are common enough */
- if (r->owner)
- log_error("receive_plock from %d r %llx owner %d", from,
- (unsigned long long)info.number, r->owner);
-
if (!r->owner) {
__receive_plock(mg, &info, from, r);

} else if (r->owner == -1) {
+ log_debug("receive_plock from %d r %llx owner %d", from,
+ (unsigned long long)info.number, r->owner);
+
if (from == our_nodeid)
save_pending_plock(mg, r, &info);

} else if (r->owner != our_nodeid) {
+ /* might happen, if frequent change to log_debug */
+ log_error("receive_plock from %d r %llx owner %d", from,
+ (unsigned long long)info.number, r->owner);
+
if (from == our_nodeid)
save_pending_plock(mg, r, &info);

} else if (r->owner == our_nodeid) {
+ /* might happen, if frequent change to log_debug */
+ log_error("receive_plock from %d r %llx owner %d", from,
+ (unsigned long long)info.number, r->owner);
+
if (from == our_nodeid)
__receive_plock(mg, &info, from, r);
}
 
Old 01-21-2008, 07:17 PM
 
Default cluster/group/gfs_controld plock.c

CVSROOT: /cvs/cluster
Module name: cluster
Branch: RHEL5
Changes by: teigland@sourceware.org 2008-01-21 20:17:44

Modified files:
group/gfs_controld: plock.c

Log message:
bz 429546

Fix an alignment problem with ppc64. Things work if we do the
byte-swapping on the original structure and then copy it into the
final buffer, instead of copying first and then trying to do the
byte-swapping at an offset within the send buffer.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/gfs_controld/plock.c.diff?cvsroot=cluster&only_with_tag=RHEL5&r 1=1.25.2.8&r2=1.25.2.9

--- cluster/group/gfs_controld/plock.c 2007/12/05 22:11:32 1.25.2.8
+++ cluster/group/gfs_controld/plock.c 2008/01/21 20:17:44 1.25.2.9
@@ -1044,13 +1044,14 @@
}
memset(buf, 0, len);

+ info_bswap_out(in);
+
hd = (struct gdlm_header *)buf;
hd->type = msg_type;
hd->nodeid = our_nodeid;
hd->to_nodeid = 0;

memcpy(buf + sizeof(struct gdlm_header), in, sizeof(*in));
- info_bswap_out((struct gdlm_plock_info *) buf + sizeof(*hd));

rv = send_group_message(mg, len, buf);
 
Old 01-21-2008, 07:19 PM
 
Default cluster/group/gfs_controld plock.c

CVSROOT: /cvs/cluster
Module name: cluster
Branch: RHEL51
Changes by: teigland@sourceware.org 2008-01-21 20:19:08

Modified files:
group/gfs_controld: plock.c

Log message:
bz 429546

Fix an alignment problem with ppc64. Things work if we do the
byte-swapping on the original structure and then copy it into the
final buffer, instead of copying first and then trying to do the
byte-swapping at an offset within the send buffer.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/gfs_controld/plock.c.diff?cvsroot=cluster&only_with_tag=RHEL51& r1=1.25.2.6&r2=1.25.2.6.2.1

--- cluster/group/gfs_controld/plock.c 2007/06/08 21:31:56 1.25.2.6
+++ cluster/group/gfs_controld/plock.c 2008/01/21 20:19:08 1.25.2.6.2.1
@@ -399,15 +399,14 @@

info.nodeid = our_nodeid;

+ info_bswap_out(&info);
+
hd = (struct gdlm_header *)buf;
hd->type = MSG_PLOCK;
hd->nodeid = our_nodeid;
hd->to_nodeid = 0;
memcpy(buf + sizeof(struct gdlm_header), &info, sizeof(info));

- info_bswap_out((struct gdlm_plock_info *) buf +
- sizeof(struct gdlm_header));
-
rv = send_group_message(mg, len, buf);

free(buf);
 
Old 01-21-2008, 07:21 PM
 
Default cluster/group/gfs_controld plock.c

CVSROOT: /cvs/cluster
Module name: cluster
Changes by: teigland@sourceware.org 2008-01-21 20:21:08

Modified files:
group/gfs_controld: plock.c

Log message:
bz 429546

Fix an alignment problem with ppc64. Things work if we do the
byte-swapping on the original structure and then copy it into the
final buffer, instead of copying first and then trying to do the
byte-swapping at an offset within the send buffer.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/gfs_controld/plock.c.diff?cvsroot=cluster&r1=1.36&r2=1.37

--- cluster/group/gfs_controld/plock.c 2007/11/30 16:20:55 1.36
+++ cluster/group/gfs_controld/plock.c 2008/01/21 20:21:08 1.37
@@ -1044,13 +1044,14 @@
}
memset(buf, 0, len);

+ info_bswap_out(in);
+
hd = (struct gdlm_header *)buf;
hd->type = msg_type;
hd->nodeid = our_nodeid;
hd->to_nodeid = 0;

memcpy(buf + sizeof(struct gdlm_header), in, sizeof(*in));
- info_bswap_out((struct gdlm_plock_info *) buf + sizeof(*hd));

rv = send_group_message(mg, len, buf);
 

Thread Tools




All times are GMT. The time now is 09:13 PM.

VBulletin, Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright ©2007 - 2008, www.linux-archive.org