From patchwork Fri Oct 25 11:21:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Michal_Such=C3=A1nek?= X-Patchwork-Id: 11212075 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 49C7D1515 for ; Fri, 25 Oct 2019 11:22:19 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 320BF21D81 for ; Fri, 25 Oct 2019 11:22:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2407270AbfJYLVv (ORCPT ); Fri, 25 Oct 2019 07:21:51 -0400 Received: from mx2.suse.de ([195.135.220.15]:56776 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726298AbfJYLVu (ORCPT ); Fri, 25 Oct 2019 07:21:50 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 5885EB19E; Fri, 25 Oct 2019 11:21:48 +0000 (UTC) From: Michal Suchanek To: linux-scsi@vger.kernel.org Cc: Michal Suchanek , Christoph Hellwig , Matthew Wilcox , "Ewan D. Milne" , Jonathan Corbet , Jens Axboe , "James E.J. Bottomley" , "Martin K. Petersen" , Alexander Viro , "J. Bruce Fields" , Mauro Carvalho Chehab , Eric Biggers , Benjamin Coddington , Hannes Reinecke , Omar Sandoval , Ming Lei , Damien Le Moal , Bart Van Assche , Tejun Heo , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org Subject: [PATCH v3 0/7] Fix cdrom autoclose Date: Fri, 25 Oct 2019 13:21:37 +0200 Message-Id: X-Mailer: git-send-email 2.23.0 MIME-Version: 1.0 Sender: linux-fsdevel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fsdevel@vger.kernel.org Hello, there is cdrom autoclose feature that is supposed to close the tray, wait for the disc to become ready, and then open the device. This used to work in ancient times. Then in old times there was a hack in util-linux which worked around the breakage which probably resulted from switching to scsi emulation. Currently util-linux maintainer refuses to merge another hack on the basis that kernel still has the feature so it should be fixed there. The code needs not be replicated in every userspace utility like mount or dd which has no business knowing which devices are CD-roms and where the autoclose setting is in the kernel. Link: https://lore.kernel.org/lkml/cover.1513263482.git.msuchanek@suse.de/ Link: https://lore.kernel.org/lkml/cover.1571834862.git.msuchanek@suse.de/ v3: - change the VMware workaround to use blacklist flag - use exported function instead of ioctl Michal Suchanek (7): cdrom: add poll_event_interruptible cdrom: factor out common open_for_* code cdrom: wait for the tray to close cdrom: export autoclose logic as a separate function bdev: add open_finish. scsi: blacklist: add VMware ESXi cdrom - broken tray emulation. scsi: sr: wait for the medium to become ready Documentation/filesystems/locking.rst | 2 + drivers/cdrom/cdrom.c | 192 ++++++++++++++------------ drivers/scsi/scsi_devinfo.c | 15 +- drivers/scsi/sr.c | 60 ++++++-- fs/block_dev.c | 21 ++- include/linux/blkdev.h | 1 + include/linux/cdrom.h | 1 + include/scsi/scsi_devinfo.h | 7 +- 8 files changed, 191 insertions(+), 108 deletions(-)