I found the following while stracing a 'tar zxvf /dev/fd0' and 'mount
/dev/fd0 /floppy'. The tar fails with 'Operation not supported by
device' while the mount succeeds.
[strace -f tar zxvf /dev/fd0]
[pid 1314] open("/dev/fd0", O_RDONLY) = -1 ENOSYS (Function not implemented)
[pid 1314] open("/dev/fd0", O_RDONLY <unfinished ...>
[pid 1314] <... open resumed> ) = -1 ENOSYS (Function not implemented)
[pid 1314] open("/dev/fd0", O_RDONLY <unfinished ...>
[pid 1314] <... open resumed> ) = -1 ENODEV (Operation not supported by device)
[strace mount/dev/fd0 /floppy]
open("/dev/fd0", O_RDONLY) = -1 ENOSYS (Function not implemented)
open("/dev/fd0", O_RDONLY) = -1 ENOSYS (Function not implemented)
open("/dev/fd0", O_RDONLY) = 3
Why is this?
Each program tries to open /dev/fd0 thrice, but only one fails. And
why is it necessary to do it three times anyway, shouldn't the first
call block until the module is loaded? Or am I just stupid?
-- Jakob Borg <jb@k2.lund.se> [Linux narayan 2.1.104 i586]- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu