Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp8455964imu; Tue, 4 Dec 2018 08:38:07 -0800 (PST) X-Google-Smtp-Source: AFSGD/WQVRjanCT3M3rSh/tq2AhJHa/lT1NcdbAU/FI+aDZum0m4I8Hrc4pNCybgNX/2ZEI8qnLo X-Received: by 2002:a65:534b:: with SMTP id w11mr17506554pgr.125.1543941487410; Tue, 04 Dec 2018 08:38:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543941487; cv=none; d=google.com; s=arc-20160816; b=VVZPARqb8/+5whK/Py+TtPgbGSrUKigMMOCGOnXQxNTbQcx3jgIb+mHNmSQ9A9tlok +pYpap6DSW7gQWw+RiIRAKh+onFoS9ZhdiC7BZsKfvqMMSkMUCs444WQdAKhO4wAlC5M B4dy+NCThm7APJBH1tk+675G21rzgOIfo3SFkZCONlaWiZP3HTuOOCOp6JOvNQZXYc7V F3y9mMAV0Di+B5U8op/YmvfqM73qp1ApMX4xnDPM3KlD9wEWvHKkKUS9Qk3f1ego/GSd TVMibk0nWUPF0leRtS5x9r/B6ibV213JYiJotsSiXOYXPWAghQLjEXQ4vFk1ugN3scXs N8Sw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:in-reply-to :subject:cc:to:from:date; bh=mHjOBAFFjdXaCI/3XI11oBGVjdDvJ0SfYMKrk1q7HE0=; b=YHKqFmEiOtRNp8ZD1X8b2GH7UbSupoFEJRSSnIzLR6bSUhkEcrgPyQ+ttztNyG7wus pUPJG6kISaVhRoBolCbNj5YyeHf7NeQpFyYY/TVOxspIE68elAkpMBeh5Y6k/2o3TDoA ONkocrgJVr7h2OhJrJjW46nQ8siCYUjHWO8XLT0+8bOm6T3aonaRhJMRQDKJ3vmCzjjM MhuHYMZ/PBW5UQQ5WRFmTxyWkC2RRBw8ad57B0hRkaYJd2P34iNXmA1LDD4LgENtLT83 dqYz6WLs5aN3VIwCAccmCcVr/m7VAajQjNs9C8IwfzM/kfhTRwOS9eVo/T5ntRDB0u+S p4YQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 93si17467468plc.2.2018.12.04.08.37.47; Tue, 04 Dec 2018 08:38:07 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727061AbeLDQgz (ORCPT + 99 others); Tue, 4 Dec 2018 11:36:55 -0500 Received: from iolanthe.rowland.org ([192.131.102.54]:46608 "HELO iolanthe.rowland.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1726151AbeLDQgx (ORCPT ); Tue, 4 Dec 2018 11:36:53 -0500 Received: (qmail 5475 invoked by uid 2102); 4 Dec 2018 11:36:51 -0500 Received: from localhost (sendmail-bs@127.0.0.1) by localhost with SMTP; 4 Dec 2018 11:36:51 -0500 Date: Tue, 4 Dec 2018 11:36:51 -0500 (EST) From: Alan Stern X-X-Sender: stern@iolanthe.rowland.org To: "Zengtao (B)" cc: Martin Petersen , "jejb@linux.vnet.ibm.com" , "gregkh@linuxfoundation.org" , "linux-scsi@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-usb@vger.kernel.org" , "usb-storage@lists.one-eyed-alien.net" Subject: RE: scsi_set_medium_removal timeout issue In-Reply-To: <678F3D1BB717D949B966B68EAEB446ED24E0118D@dggemm526-mbx.china.huawei.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 29 Nov 2018, Zengtao (B) wrote: > Ping? > > >-----Original Message----- > >From: Alan Stern [mailto:stern@rowland.harvard.edu] > >Sent: Wednesday, November 14, 2018 11:35 PM > >To: Martin Petersen ; Zengtao (B) > > > >Cc: jejb@linux.vnet.ibm.com; gregkh@linuxfoundation.org; > >linux-scsi@vger.kernel.org; linux-kernel@vger.kernel.org; > >linux-usb@vger.kernel.org; usb-storage@lists.one-eyed-alien.net > >Subject: RE: scsi_set_medium_removal timeout issue > > > >On Wed, 14 Nov 2018, Zengtao (B) wrote: > > > >> I just enabled the scsi log in the middle of the umount operation, > >> otherwise I can't reproduce the issue when the scsi log is enabled. > >> > >> >from the beginning. In any case, it wasn't what I wanted. I asked > >> >you to post the dmesg log, not the SCSI log. > >> > >> Please refer to the new attachment for dmesg log. > > > >Heh, yes, I see now. > > > >Martin, shouldn't sd_release() call sd_sync_cache() in the same way that > >sd_shutdown() does, before it calls scsi_set_medium_removal()? > > > >Alan Stern I don't know if this is the right thing to do, but you can try out the following patch to see if it helps. Alan Stern Index: usb-4.x/drivers/scsi/sd.c =================================================================== --- usb-4.x.orig/drivers/scsi/sd.c +++ usb-4.x/drivers/scsi/sd.c @@ -113,6 +113,7 @@ static void sd_shutdown(struct device *) static int sd_suspend_system(struct device *); static int sd_suspend_runtime(struct device *); static int sd_resume(struct device *); +static int sd_sync_cache(struct scsi_disk *sdkp, struct scsi_sense_hdr *sshdr); static void sd_rescan(struct device *); static int sd_init_command(struct scsi_cmnd *SCpnt); static void sd_uninit_command(struct scsi_cmnd *SCpnt); @@ -1393,8 +1394,14 @@ static void sd_release(struct gendisk *d SCSI_LOG_HLQUEUE(3, sd_printk(KERN_INFO, sdkp, "sd_release\n")); if (atomic_dec_return(&sdkp->openers) == 0 && sdev->removable) { - if (scsi_block_when_processing_errors(sdev)) + if (scsi_block_when_processing_errors(sdev)) { + if (sdkp->WCE && sdkp->media_present) { + sd_printk(KERN_NOTICE, sdkp, + "Synchronizing SCSI cache\n"); + sd_sync_cache(sdkp, NULL); + } scsi_set_medium_removal(sdev, SCSI_REMOVAL_ALLOW); + } } /*