On 13/03/2008, Jeff Dike <[EMAIL PROTECTED]> wrote:
>  > 2.1) If I change CD-ROM and I try to mount it, I have no problem. It's all 
> OK.
>  > 2.2) If I have a CD-ROM inside the reader (and also mounted) and I try
>  > to do 'eject /dev/ubd2' this is the result:
>  >
>  >    DebianUM:~# eject /dev/ubd2
>  >    not an sg device, or old sg driver
>  >    eject: unable to eject, last error: Invalid argument
>
>
> I'll need a strace of this - maybe the ubd driver needs an ioctl
>  added, which is easy.  Maybe eject is trying to communicate directly
>  with the hardware driver, in which case, this is harder.
Thank you Jeff,

so, we are in scenario 2.2.
Here's the strace output:


~# strace eject /dev/ubd2
execve("/usr/bin/eject", ["eject", "/dev/ubd2"], [/* 12 vars */]) = 0
brk(0)                                  = 0x606000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x4001d000
uname({sys="Linux", node="DebianUM", ...}) = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x4001e000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=24172, ...}) = 0
mmap(NULL, 24172, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40020000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\342"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1420624, ...}) = 0
mmap(NULL, 3527256, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x4021e000
mprotect(0x40372000, 2097152, PROT_NONE) = 0
mmap(0x40572000, 20480, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x154000) = 0x40572000
mmap(0x40577000, 16984, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40577000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x40026000
arch_prctl(ARCH_SET_FS, 0x400266e0)     = 0
mprotect(0x40572000, 12288, PROT_READ)  = 0
munmap(0x40020000, 24172)               = 0
brk(0)                                  = 0x606000
brk(0x627000)                           = 0x627000
access("/dev/ubd2", F_OK)               = 0
readlink("/dev/ubd2", 0x7f7f8e6120, 4095) = -1 EINVAL (Invalid argument)
stat("/dev/ubd2", {st_mode=S_IFBLK|0644, st_rdev=makedev(98, 32), ...}) = 0
open("/etc/mtab", O_RDONLY)             = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=144, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x40020000
read(3, "/dev/ubd0 / ext3 rw 0 0\nproc /pr"..., 4096) = 144
stat("/dev/ubd0", {st_mode=S_IFBLK|0644, st_rdev=makedev(98, 0), ...}) = 0
stat("proc", 0x7f7f8e3040)              = -1 ENOENT (No such file or directory)
stat("sysfs", 0x7f7f8e3040)             = -1 ENOENT (No such file or directory)
stat("tmpfs", 0x7f7f8e3040)             = -1 ENOENT (No such file or directory)
stat("devpts", 0x7f7f8e3040)            = -1 ENOENT (No such file or directory)
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x40020000, 4096)                = 0
open("/etc/fstab", O_RDONLY)            = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=209, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x40020000
read(3, "# UNCONFIGURED FSTAB FOR BASE SY"..., 4096) = 209
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x40020000, 4096)                = 0
stat("/dev/ubd2", {st_mode=S_IFBLK|0644, st_rdev=makedev(98, 32), ...}) = 0
open("/dev/ubd2", O_RDWR|O_NONBLOCK)    = 3
ioctl(3, CDROMEJECT, 0)                 = -1 EINVAL (Invalid argument)
ioctl(3, SG_GET_VERSION_NUM, 0x7f7f8e30bc) = -1 EINVAL (Invalid argument)
fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(4, 1), ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x40020000
write(1, "not an sg device, or old sg driv"..., 35not an sg device, or
old sg driver
) = 35
ioctl(3, FDEJECT, 0x40577980)           = -1 EINVAL (Invalid argument)
ioctl(3, MGSL_IOCGPARAMS or MTIOCTOP or SNDCTL_MIDI_MPUMODE,
0x7f7f8e7d20) = -1 EINVAL (Invalid argument)
write(2, "eject: unable to eject, last err"..., 53eject: unable to
eject, last error: Invalid argument
) = 53
exit_group(1)                           = ?
Process 1166 detached


Thanks,

Flavio


>
>
>                           Jeff
>
>  --
>  Work email - jdike at linux dot intel dot com
>

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
User-mode-linux-user mailing list
User-mode-linux-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user

Reply via email to