From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BECF236EA93 for ; Sun, 5 Apr 2026 08:23:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.47 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775377423; cv=none; b=BCaWydUUcagWxdT7d6FsUHYFNkuBlFflbP39gC2ILqqKzo/D+N4ORSU+I3VRvUy3WInabs5z1LPdxVNnK+L1o1R1PNThZaCOA5+MqbgCBfVKpJoG6dG0Cj3HZbk8eXXyBmB6lWfXDCsPGb6QlsmlDSw5CEKM3DzKSch/SHu8Tlk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775377423; c=relaxed/simple; bh=CndNBHs65/Oko/6eA4m0yCdiX9aMzha3rwQSngz79G0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=X3Gdpnu9guIRITL04/ytQ6vmnj3BNSS73HKp23DHfhWsUgGb5IMaRO/b/f5ZGDxZVzLIIB3sk/RXGMY/b4/w+c40VZaww27w+vP5dfRGKvROEdqAMqAKesceP8hWSkbnU15F2FZijuC/T++JrUzXCP2Hss0kRGPobhz76xxGr+I= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=MDEhRGsU; arc=none smtp.client-ip=209.85.221.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="MDEhRGsU" Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-43d02a71526so1773558f8f.3 for ; Sun, 05 Apr 2026 01:23:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775377420; x=1775982220; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Ivdw88sKwAITBaCSqptSbAgLAv66q7tzyfMWmFGYTXA=; b=MDEhRGsUs9Mph6z7/XaZONQkeD/FGY+9TRyIIbgvgrr5b8YQ4V7ql0RfHifk9Re28s KJT9xThFjQ/naMSix1QzZFRN7qbN1GsYgBhV913XJMmiDmiwhpl06qRubE2WdGJ5O233 Dy/F7Rr6cw5fQ0Mz5R/6XeCX1U+RsIoYjO8dBy9jhabM69C/wAtPeg/Cwkvzl6KTLdZz ajx2NTIjJVB+9Z9iugKwXCLxrY7/YicOSHQ6BuWvozqkWYaREbcjUyXjTdDEzeVGVV01 57UzNU2zAQldMelPOYAJiuTZOXuAZp3KDoirDQzl9JSdkBenRf87XXkbYPXDoiLIq6Yt nPhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775377420; x=1775982220; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Ivdw88sKwAITBaCSqptSbAgLAv66q7tzyfMWmFGYTXA=; b=hD2Yww/O1zNP0+3nt5yJoMuIf0gJM9zLtQCcvTwyRt1NCNoFu0Oin6dv3PdTk0TFrJ X2N1mAeMeGrNdWECST00Qb/Hysfm7GsTQdb2z0GMKwgcVh07hjgM5z1EKmqUQd//EYHL KdOkBUKPREx52+bpatnOj9waKtNGUez8o4k0teAgMQOdVDH6uuLdcIQkEHSCvweO6+Rk vWpm3oDM74EWAYyxG4JKS1XKwgc+l+ROgVAbTpi92k5KguUXmLb93BfVlX1m2KLnerj3 VJyiM/7gZ9NGoNVuTiPmtFI3SbtjRC3yAxDiRkbfhuPnNTROUpimXixxlO4rhdfrttw0 P6Cg== X-Forwarded-Encrypted: i=1; AJvYcCVoZWn65eUoHOiQviyIYFvs/Hwyo1A3Cq0gm70Wt3h66fj/luclwXwTJ8X7AsJ848QAUoK4eMpM/fE5tZQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxBXZx+OMsHIJB7FBqtsvXIVGXkzd3fWY2N/bz1B6aGagsW4w8o ZR6pIUKEUXiSf6MxXhjlGGt85n0nV48DvEOIgoCxldMZT03fOspRxWY= X-Gm-Gg: AeBDievgOVdF7wIMRR4EXpYMo06ljrcn/ygN/MMYRfpN2pRa+EE49RQpSc15hYRUvUv k32zcjbROXDdrmwiz6+ijHep+i71/+XcBg+hHx2WaIDOV0h+lZgTlz/Jw2qpMQ41/hFSDEEkOqY LCuC0I0YYjeyyJM4CYvEGgoMQh/14zIG7iDxqCWKqEfh5oc3h2nmtbvWUgti0ib5R0UxXSpR0H/ lPONU5LL4W6EuonKi5/Rlp1ietiMViNT6BblSz7eGWPbN7NAMXBweTj4eXf6FDoYbxOGdpqNVBG ze4hP6F3c3zuhoJAY622Xo7rA9/fj+ce7krSe2JnrZmDsKrKE62arkKEUatA365J5pi6DXwVDSE ZMMPCJ6MNfVMoTQIbN+pfmoRcdHm/eWQNvMxg3Rc8zFnIPAgHX6Blw6m4TCE0TH1+yO6rAuvVP1 Cv3UIXFvLY3z6c039EW6JqBaDjlIk3VC/wbYadtymcAjbLBb4LUlG8L2W4LRbsrIUlxYX7Hkcnw H9X67jG X-Received: by 2002:a05:6000:208a:b0:43b:492c:8345 with SMTP id ffacd0b85a97d-43d2927f4bfmr11419777f8f.10.1775377420033; Sun, 05 Apr 2026 01:23:40 -0700 (PDT) Received: from localhost ([2a02:810d:4a94:b300:4382:4d9a:caac:a8d9]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-43d1e2a7223sm27615483f8f.5.2026.04.05.01.23.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 05 Apr 2026 01:23:39 -0700 (PDT) From: Florian Fuchs To: linux-sh@vger.kernel.org, John Paul Adrian Glaubitz , Artur Rojek Cc: Adrian McMenamin , linux-kernel@vger.kernel.org, Florian Fuchs Subject: [PATCH 2/2] cdrom: gdrom: update gendisk capacity on open Date: Sun, 5 Apr 2026 10:23:30 +0200 Message-ID: <20260405082330.4104672-3-fuchsfl@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260405082330.4104672-1-fuchsfl@gmail.com> References: <20260405082330.4104672-1-fuchsfl@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Update the gendisk capacity of the media. Without the capacity, the block reads fail before reaching the request queue, which prevented ISO9660 mounts. Refresh the capacity from the TOC leadout in gdrom_bdops_open() so it checks the inserted media. Signed-off-by: Florian Fuchs --- drivers/cdrom/gdrom.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/drivers/cdrom/gdrom.c b/drivers/cdrom/gdrom.c index dccf41fa5d0a..854a511e3466 100644 --- a/drivers/cdrom/gdrom.c +++ b/drivers/cdrom/gdrom.c @@ -484,6 +484,25 @@ static const struct cdrom_device_ops gdrom_ops = { CDC_RESET | CDC_DRIVE_STATUS | CDC_CD_R, }; +static int gdrom_update_capacity(void) +{ + sector_t cap; + int ret; + + if (gdrom_drivestatus(gd.cd_info, CDSL_CURRENT) != CDS_DISC_OK) { + set_capacity(gd.disk, 0); + return -ENOMEDIUM; + } + ret = gdrom_readtoc_cmd(gd.toc, 0); + if (ret) { + set_capacity(gd.disk, 0); + return ret; + } + cap = (sector_t)get_entry_lba(gd.toc->leadout) * GD_TO_BLK; + set_capacity(gd.disk, cap); + return 0; +} + static int gdrom_bdops_open(struct gendisk *disk, blk_mode_t mode) { int ret; @@ -492,6 +511,8 @@ static int gdrom_bdops_open(struct gendisk *disk, blk_mode_t mode) mutex_lock(&gdrom_mutex); ret = cdrom_open(gd.cd_info, mode); + if (!ret) + ret = gdrom_update_capacity(); mutex_unlock(&gdrom_mutex); return ret; } -- 2.43.0