kmod problem in .104?

Jakob Borg (jb@k2.lund.se)
Sun, 7 Jun 1998 23:25:38 +0200


floppy is a module to be autoloaded by kmod.

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