Linux-Fsdevel Archive on lore.kernel.org help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de> To: Jens Axboe <axboe@kernel.dk> Cc: Denis Efremov <efremov@linux.com>, Tim Waugh <tim@cyberelk.net>, Michal Simek <michal.simek@xilinx.com>, Borislav Petkov <bp@alien8.de>, "David S. Miller" <davem@davemloft.net>, Song Liu <song@kernel.org>, "Martin K. Petersen" <martin.petersen@oracle.com>, Finn Thain <fthain@telegraphics.com.au>, Michael Schmitz <schmitzmic@gmail.com>, linux-m68k@lists.linux-m68k.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org, linux-raid@vger.kernel.org, linux-scsi@vger.kernel.org, linux-fsdevel@vger.kernel.org, Johannes Thumshirn <johannes.thumshirn@wdc.com> Subject: [PATCH 17/19] sr: use bdev_check_media_change Date: Tue, 8 Sep 2020 16:53:45 +0200 [thread overview] Message-ID: <20200908145347.2992670-18-hch@lst.de> (raw) In-Reply-To: <20200908145347.2992670-1-hch@lst.de> Switch to use bdev_check_media_change instead of check_disk_change and call sr_block_revalidate_disk manually. Also add an explicit call to sr_block_revalidate_disk just before disk_add() to ensure we always read check for a ready unit and read the TOC and then stop wiring up ->revalidate_disk. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> --- drivers/scsi/sr.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c index 3b3a53c6a0de53..34be94b62523fa 100644 --- a/drivers/scsi/sr.c +++ b/drivers/scsi/sr.c @@ -86,6 +86,7 @@ static int sr_remove(struct device *); static blk_status_t sr_init_command(struct scsi_cmnd *SCpnt); static int sr_done(struct scsi_cmnd *); static int sr_runtime_suspend(struct device *dev); +static int sr_block_revalidate_disk(struct gendisk *disk); static const struct dev_pm_ops sr_pm_ops = { .runtime_suspend = sr_runtime_suspend, @@ -529,7 +530,8 @@ static int sr_block_open(struct block_device *bdev, fmode_t mode) sdev = cd->device; scsi_autopm_get_device(sdev); - check_disk_change(bdev); + if (bdev_check_media_change(bdev)) + sr_block_revalidate_disk(bdev->bd_disk); mutex_lock(&cd->lock); ret = cdrom_open(&cd->cdi, bdev, mode); @@ -688,7 +690,6 @@ static const struct block_device_operations sr_bdops = .compat_ioctl = sr_block_compat_ioctl, #endif .check_events = sr_block_check_events, - .revalidate_disk = sr_block_revalidate_disk, }; static int sr_open(struct cdrom_device_info *cdi, int purpose) @@ -802,6 +803,7 @@ static int sr_probe(struct device *dev) dev_set_drvdata(dev, cd); disk->flags |= GENHD_FL_REMOVABLE; + sr_block_revalidate_disk(disk); device_add_disk(&sdev->sdev_gendev, disk, NULL); sdev_printk(KERN_DEBUG, sdev, -- 2.28.0
next prev parent reply other threads:[~2020-09-08 20:06 UTC|newest] Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-09-08 14:53 rework check_disk_change() v2 Christoph Hellwig 2020-09-08 14:53 ` [PATCH 01/19] block: add a bdev_check_media_change helper Christoph Hellwig 2020-09-09 6:59 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 02/19] amiflop: use bdev_check_media_change Christoph Hellwig 2020-09-09 6:59 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 03/19] ataflop: " Christoph Hellwig 2020-09-09 7:00 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 04/19] floppy: " Christoph Hellwig 2020-09-09 6:52 ` Johannes Thumshirn 2020-09-09 7:00 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 05/19] swim: " Christoph Hellwig 2020-09-09 7:01 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 06/19] swim: simplify media change handling Christoph Hellwig 2020-09-09 7:09 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 07/19] swim3: use bdev_check_media_changed Christoph Hellwig 2020-09-09 7:10 ` Hannes Reinecke 2020-09-09 7:50 ` Sergei Shtylyov 2020-09-08 14:53 ` [PATCH 08/19] xsysace: use bdev_check_media_change Christoph Hellwig 2020-09-09 7:10 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 09/19] xsysace: simplify media change handling Christoph Hellwig 2020-09-09 7:10 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 10/19] paride/pcd: use bdev_check_media_change Christoph Hellwig 2020-09-09 7:26 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 11/19] gdrom: " Christoph Hellwig 2020-09-09 7:27 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 12/19] ide-cd: use bdev_check_media_changed Christoph Hellwig 2020-09-09 7:27 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 13/19] ide-cd: remove idecd_revalidate_disk Christoph Hellwig 2020-09-09 7:28 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 14/19] ide-gd: stop using the disk events mechanism Christoph Hellwig 2020-09-09 7:32 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 15/19] md: use bdev_check_media_change Christoph Hellwig 2020-09-09 0:49 ` Song Liu 2020-09-09 7:34 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 16/19] sd: " Christoph Hellwig 2020-09-09 7:36 ` Hannes Reinecke 2020-09-09 7:52 ` Sergei Shtylyov 2020-09-08 14:53 ` Christoph Hellwig [this message] 2020-09-09 7:37 ` [PATCH 17/19] sr: " Hannes Reinecke 2020-09-08 14:53 ` [PATCH 18/19] sr: simplify sr_block_revalidate_disk Christoph Hellwig 2020-09-09 7:38 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 19/19] block: remove check_disk_change Christoph Hellwig 2020-09-09 7:39 ` Hannes Reinecke 2020-09-10 15:54 ` rework check_disk_change() v2 Jens Axboe -- strict thread matches above, loose matches on Subject: below -- 2020-09-02 14:11 rework check_disk_change() Christoph Hellwig 2020-09-02 14:12 ` [PATCH 17/19] sr: use bdev_check_media_change Christoph Hellwig 2020-09-02 15:52 ` Johannes Thumshirn
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200908145347.2992670-18-hch@lst.de \ --to=hch@lst.de \ --cc=axboe@kernel.dk \ --cc=bp@alien8.de \ --cc=davem@davemloft.net \ --cc=efremov@linux.com \ --cc=fthain@telegraphics.com.au \ --cc=johannes.thumshirn@wdc.com \ --cc=linux-block@vger.kernel.org \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-ide@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-m68k@lists.linux-m68k.org \ --cc=linux-raid@vger.kernel.org \ --cc=linux-scsi@vger.kernel.org \ --cc=martin.petersen@oracle.com \ --cc=michal.simek@xilinx.com \ --cc=schmitzmic@gmail.com \ --cc=song@kernel.org \ --cc=tim@cyberelk.net \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).