I suppose there is still a problem with DOS-like file sharing
in at least three: DosEmu, Samba, Mars. The problem is:
assume have tasks of two types accessing some file:
- task type A opens a file Read-Only Deny-Write
- task type B opens the file Read-Write Deny-None
DOS file sharing rules allow any number of tasks type A to run
simultaneously, or any number of tasks type B, but forbid to
run tasks of different types simultaneously (because type A
denies writing to others, and type B wants writing)
but file sharing rules in DosEmu or Samba (I am not sure about
Mars, but Mars does it in a way I would discourage - it creates
files in its own directory to tell about file sharing) allow
tasks type A and B to run simultaneously because they both use
the same area lock: read lock for byte 0x7fffffff of the file.
This means if an application may try these two access types on
the same file, it is likely to cause problems. So I am working
on a fix, and my knowledge about it is on page:
ftp://zfja-gate.fuw.edu.pl/mail-ftp/zfja-ftp/linux/index.html
Click "mars fixes info" for description of my ideas of fixing it.
Jerzy Tarasiuk