From: Jens Axboe <axboe@kernel.org>
To: Jeff Meininger <jeffm@boxybutgood.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: determining size of cdrom
Date: Wed, 30 May 2001 23:15:09 +0200 [thread overview]
Message-ID: <20010530231509.D25129@suse.de> (raw)
In-Reply-To: <Pine.LNX.4.21.0105301548120.296-100000@mangonel>
In-Reply-To: <Pine.LNX.4.21.0105301548120.296-100000@mangonel>; from jeffm@boxybutgood.com on Wed, May 30, 2001 at 04:11:00PM +0000
On Wed, May 30 2001, Jeff Meininger wrote:
>
> I'm not subscribed to the mailing list, so please Cc a copy of your
> replies straight to my email address: jeffm@boxybutgood.com.
>
>
> I'm trying to determine the raw size of a cdrom disc, as in the size of
> the file you'd get by doing 'dd if=/dev/cdrom of=size_of_this.img'.
>
> I've tried the following things (with a disc in the drive) without
> success, and I'm hoping that someone will be able to point me in the right
> direction.
>
>
> struct stat s;
> stat("/dev/cdrom", &s);
> /* s.st_size is 0, s.st_blocks is 0. */
>
> int fd = open("/dev/cdrom", O_RDONLY);
>
> off_t bytes = lseek(fd, 0, SEEK_END);
> /* bytes is 0 */
>
> long sectors = 0;
> ioctl(fd, BLKGETSIZE, §ors);
> /* sectors varies (never seems accurate) and is usually LONG_MAX */
At least this is the capacity as reported by the drive when we read the
table of contents.
> long ssz = 0;
> ioctl(fd, BLKSSZGET, &ssz);
> /* ssz varies, and is usually 1024. (shouldn't it be 2048?) */
Someone added a block size setting of 1024 to ide revalidate, and this
has screwed us for a awhile (ie atapi dvd-ram breaks). Recent ac has the
correct stuff to reset it.
> /* ioctl HDIO_GETGEO fails. */
>
> /* ioctl HDIO_GET_IDENTITY returns 0's for the c/h/s values I'm looking
> for. */
>
> I didn't find anything that looked obvious to me in linux/cdrom.h, except
> in the #ifdef __KERNEL__ section which I don't believe I can use from
> user space.
You can do it from user space with CDROMREADTOCHDR/CDROMREATOCENTRY if
you want, did you see those?
--
Jens Axboe
next prev parent reply other threads:[~2001-05-30 21:15 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-05-30 16:11 determining size of cdrom Jeff Meininger
2001-05-30 21:15 ` Jens Axboe [this message]
2001-05-31 6:51 ` Jeff Meininger
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=20010530231509.D25129@suse.de \
--to=axboe@kernel.org \
--cc=jeffm@boxybutgood.com \
--cc=linux-kernel@vger.kernel.org \
/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: link
Be 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