From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Steve French" Subject: Re: [PATCH] CIFS: make cifsd (more) Date: Mon, 25 Jun 2007 17:25:00 -0500 Message-ID: <524f69650706251525g7b17ea02o5fb3e637615fe542@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit To: linux-fsdevel@vger.kernel.org, jlayton@redhat.com, linux-kernel@vger.kernel.org, linux-cifs-client@lists.samba.org Return-path: Received: from py-out-1112.google.com ([64.233.166.176]:63924 "EHLO py-out-1112.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750812AbXFYWZC (ORCPT ); Mon, 25 Jun 2007 18:25:02 -0400 Received: by py-out-1112.google.com with SMTP id u77so2032667pyb for ; Mon, 25 Jun 2007 15:25:01 -0700 (PDT) Content-Disposition: inline Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org Jeff, Not seeing any objections to your revised approach (to not allowing signals for cifsd kernel thread), I just merged something similar to your patch to the cifs-2.6.git tree (also fixed some nearby lines that went past 80 columns). Thanks Signed-off-by: Jeff Layton diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index f4e9266..27c1ebe 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c @@ -348,7 +348,6 @@ cifs_demultiplex_thread(struct TCP_Server_Info *server) int isMultiRsp; int reconnect; - allow_signal(SIGKILL); current->flags |= PF_MEMALLOC; server->tsk = current; /* save process info to wake at shutdown */ cFYI(1, ("Demultiplex PID: %d", current->pid)); @@ -2074,7 +2073,7 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb, always wake up processes blocked in tcp in recv_mesg then we could remove the send_sig call */ - send_sig(SIGKILL,srvTcp->tsk,1); + force_sig(SIGKILL,srvTcp->tsk); tsk = srvTcp->tsk; if(tsk) kthread_stop(tsk); @@ -2093,7 +2092,7 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb, if ((temp_rc == -ESHUTDOWN) && (pSesInfo->server) && (pSesInfo->server->tsk)) { struct task_struct *tsk; - send_sig(SIGKILL,pSesInfo->server->tsk,1); + force_sig(SIGKILL,pSesInfo->server->tsk); tsk = pSesInfo->server->tsk; if (tsk) kthread_stop(tsk); @@ -3345,7 +3344,7 @@ cifs_umount(struct super_block *sb, struct cifs_sb_info *cifs_sb) } else if (rc == -ESHUTDOWN) { cFYI(1,("Waking up socket by sending it signal")); if (cifsd_task) { - send_sig(SIGKILL,cifsd_task,1); + force_sig(SIGKILL,cifsd_task); kthread_stop(cifsd_task); } rc = 0; -- Thanks, Steve