[829] in arla-drinkers
patch for linux kernel 2.3.2
daemon@ATHENA.MIT.EDU (Hee-Seok Heo)
Sat May 15 21:24:07 1999
From owner-arla-drinkers@stacken.kth.se Sun May 16 01:24:06 1999
Return-Path: <owner-arla-drinkers@stacken.kth.se>
Delivered-To: arla-drinkers-mtg@bloom-picayune.mit.edu
Received: (qmail 5015 invoked from network); 16 May 1999 01:24:05 -0000
Received: from unknown (HELO sundance.stacken.kth.se) (130.237.234.41)
by bloom-picayune.mit.edu with SMTP; 16 May 1999 01:24:05 -0000
Received: (from majordom@localhost)
by sundance.stacken.kth.se (8.8.8/8.8.8) id DAA16879
for arla-drinkers-list; Sun, 16 May 1999 03:15:49 +0200 (MET DST)
Received: from smtp.postech.ac.kr (root@smtp.postech.ac.kr [141.223.2.11])
by sundance.stacken.kth.se (8.8.8/8.8.8) with ESMTP id DAA16875
for <arla-drinkers@stacken.kth.se>; Sun, 16 May 1999 03:15:37 +0200 (MET DST)
Received: from postech.ac.kr (IDENT:hsheo@MDOM11403-1.postech.ac.kr [141.223.207.111])
by smtp.postech.ac.kr (8.9.1/8.9.1) with ESMTP id KAA01530
for <arla-drinkers@stacken.kth.se>; Sun, 16 May 1999 10:15:28 +0900
Message-ID: <373E1C9F.B6BC5176@postech.ac.kr>
Date: Sun, 16 May 1999 10:17:20 +0900
From: Hee-Seok Heo <hsheo@postech.ac.kr>
X-Mailer: Mozilla 4.51 [ko] (X11; I; Linux 2.3.2-1 i686)
X-Accept-Language: ko
MIME-Version: 1.0
To: arla-drinkers@stacken.kth.se
Subject: patch for linux kernel 2.3.2
Content-Type: multipart/mixed;
boundary="------------75ADBFA10DB908E50FA479FF"
Sender: owner-arla-drinkers@stacken.kth.se
Precedence: bulk
MIME Çü½ÄÀÇ ¸ÖƼ-ÆÄÆ® ¸Þ½ÃÁöÀÔ´Ï´Ù.
--------------75ADBFA10DB908E50FA479FF
Content-Type: text/plain; charset=EUC-KR
Content-Transfer-Encoding: 7bit
--
Heeseok Heo PhD St POSTECH
--------------75ADBFA10DB908E50FA479FF
Content-Type: text/plain; charset=EUC-KR;
name="arla-0.23-k232.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="arla-0.23-k232.patch"
--- arla-0.23/xfs/linux/xfs_dev.c Sun Mar 28 23:14:07 1999
+++ arla-0.23-new/xfs/linux/xfs_dev.c Sun May 16 08:04:22 1999
@@ -62,14 +62,14 @@
struct xfs_link *prev, *next;
struct xfs_message_header *message;
u_int error_or_size; /* error on sleepq and size on messageq */
- struct wait_queue *wait_queue;
+ wait_queue_head_t wait_queue;
};
struct xfs_channel {
struct xfs_link messageq; /* Messages not yet read */
struct xfs_link sleepq; /* Waiting for reply message */
u_int nsequence;
- struct wait_queue *wait_queue;
+ wait_queue_head_t wait_queue;
struct xfs_message_header *message_buffer;
int status;
#define CHANNEL_OPENED 0x1
@@ -83,7 +83,7 @@
{
q->next = q;
q->prev = q;
- q->wait_queue = NULL;
+ init_waitqueue_head(&(q->wait_queue));
}
/* Is this queue empty? */
@@ -407,10 +407,9 @@
t->this_message.message = &t->msg;
down(&chan->channel_sem);
xfs_appendq(&chan->messageq, &t->this_message);
- t->this_message.wait_queue = NULL;
+ init_waitqueue_head(&(t->this_message.wait_queue));
up(&chan->channel_sem);
- if ( chan->wait_queue )
- wake_up(&chan->wait_queue);
+ wake_up(&chan->wait_queue);
return 0;
}
@@ -447,8 +446,8 @@
XFSDEB(XDEBMSG, ("xfs_message_rpc seq = %d\n", msg->sequence_num));
this_message->error_or_size = 0;
- this_message->wait_queue = NULL;
- this_process->wait_queue = NULL;
+ init_waitqueue_head(&(this_message->wait_queue));
+ init_waitqueue_head(&(this_process->wait_queue));
this_message->message = msg; /* message;*/
this_process->message = msg; /* message; */
@@ -460,8 +459,7 @@
up(&chan->channel_sem);
- if ( chan->wait_queue )
- wake_up(&chan->wait_queue);
+ wake_up(&chan->wait_queue);
#ifdef LINUX2_1
spin_lock_irq(¤t->sigmask_lock);
@@ -603,8 +601,7 @@
else
t->error_or_size = -message->error;
}
- if (t->wait_queue)
- wake_up(&t->wait_queue);
+ wake_up(&t->wait_queue);
break;
}
up(&chan->channel_sem);
@@ -636,8 +633,7 @@
else
t->error_or_size = -message->error;
}
- if (t->wait_queue)
- wake_up(&t->wait_queue);
+ wake_up(&t->wait_queue);
break;
}
up(&chan->channel_sem);
@@ -671,10 +667,10 @@
for (i = 0; i < NXFS; i++) {
XFSDEB(XDEBDEV, ("before initq(messageq and sleepq)\n"));
- xfs_channel[i].wait_queue = NULL;
+ init_waitqueue_head(&(xfs_channel[i].wait_queue));
xfs_initq(&xfs_channel[i].messageq);
xfs_initq(&xfs_channel[i].sleepq);
- xfs_channel[i].channel_sem = MUTEX;
+ init_MUTEX(&(xfs_channel[i].channel_sem));
}
return 0;
}
--- arla-0.23/xfs/linux/xfs_inodeops.c Sun Mar 28 23:14:08 1999
+++ arla-0.23-new/xfs/linux/xfs_inodeops.c Sun May 16 07:59:20 1999
@@ -466,13 +466,9 @@
void
xfs_print_lock(char *s, struct semaphore *sem)
{
- XFSDEB(XDEBLOCK, ("lock: %s sem: %p count: %d waking: %d wait: %p",
+ XFSDEB(XDEBLOCK, ("lock: %s sem: %p count: %d waking: %d",
s, sem, atomic_read(&sem->count),
- sem->waking, sem->wait));
- if (sem->wait) {
- XFSDEB(XDEBLOCK, (" task: %p next: %p",
- sem->wait->task, sem->wait->next));
- }
+ sem->waking));
XFSDEB(XDEBLOCK, ("\n"));
}
--------------75ADBFA10DB908E50FA479FF--