Re: BD-RE mount problem

"Thomas Schmitt" <[email protected]>
Newsgroups gmane.linux.debian.user,gmane.comp.audio.cd-record,gmane.comp.audio.cd-record
Message-ID <[email protected]>
Hi,

> # xorriso -scsi_log on -dev /dev/sr0 -format "full"
> ...
> xorriso : FAILURE : libburn indicates failure with formatting.

It should have reported the SCSI error (will have to dig for that).

That error came with command FORMAT UNIT

> FORMAT UNIT
> 04 11 00 00 00 00
> To drive: 12b
> 00 82 00 08 00 b4 74 00 c2 00 30 00
> +++ sense data = 70 00 05 00 00 00 00 0E 00 00 00 00 26 00 00 89 00 08
> +++ key=5  asc=26h  ascq=00h   (     4 ms)

This would be
  5 26 00 INVALID FIELD IN PARAMETER LIST

The drive does not want to format that medium.
At least not with Format Type 0x30, Sub-type 2.
Well, that's what dvd+rw-format tried too.

The refusal to re-format does not necessarily have to be related
to the failure to run mkudffs.


> The failure to format is just on this system, which is the only one I have
> locally with a BluRay writer. The other system was just a failure to mount
> after formatting.

Formatting a BD-RE may or may not erase its data (i.e. the filesystem).
I would consider it normal that a BD-RE cannot be mounted after a
re-format with no successful mkudffs.

So the theory that something in your computer broke down
is not outruled yet.
Did you tamper with udev ? Install new peripherals ?

Why do all block device writers so obstinately scream "read-only" ?


> xorriso -outdev /dev/sr0 -blank as_needed \
>           -md5 on -add /usr/local/bin
> ...
> Writing to '/dev/sr0' completed successfully.

Ok. It is not the drive to blame. It allowed several SCSI write
commands.

xorriso uses the generic SG_IO driver, which directly performs
SCSI transactions with the drive.

dd, mkudffs, et.al. use the block device driver, which itself would
use the SG_IO driver ... if it was not broken on your machine.


Expert question:

What can make the kernel throw EROFS, probably on write(2) ?
Device file permissions seem not to be the reason.


Gary:

Can you compile and run this C program ?

---------------------------------------------------------------------------
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>

main()
{
 int fd, ret;
 char buf[2048];

 fd = open("/dev/sr0", O_RDWR);
 printf("open: fd= %d , errno= %d\n", fd, errno);
 if(errno)
   perror("open");
 memset(buf, 0, 2048);
 ret = write(fd, buf, 2048);
 printf("write: ret= %d , errno= %d\n", ret, errno);
 if(errno)
   perror("write");
 close(fd);
}
---------------------------------------------------------------------------

E.g. with code in file open_sr0.c :
  cc -g -o open_sr0 open_sr0.c
and then
  ./open_sr0

With an empty drive i get
  open: fd= -1 , errno= 123
  open: No medium found
  write: ret= -1 , errno= 9
  write: Bad file descriptor

I assume that you, with a BD-RE loaded, get errno= 30,
"Read-only file system" at write.


Have a nice day :)

Thomas
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.