I
Idan Zach
Hi Everybody,
I encountered a concurrency problem while opening power
point (ppt) file. Two users open the same ppt file in
Read/Write (RW) mode, instead of one of them had to open
the file in Read-Only (RO) mode.
I investigated the low-level algorithm that causes to this
problem, by capturing the SMB commands, and I have found
that the open algorithm is not automic, since it behaves
as foolows:
1. First, it opens the file with RW access, and 011 share
mode (not share for delete). Then, it closes the file.
2. It opens the file with RO access, and 001 share mode
(not share for delete and write).
This algorithm does not ensure atomic since the following
scenario might happen:
1. Client A do stage #1.
2. Client B do stage #1.
3. Client A do stage #2.
4. Client B do stage #2.
In this scenario, both client A and B will be succeeded to
open the file for RW.
The BUG is very frequent when the file server is located
over the WAN, because the open's time is bigger.
Is anyone know about some fix ?
Regards,
-- Idan Zach
I encountered a concurrency problem while opening power
point (ppt) file. Two users open the same ppt file in
Read/Write (RW) mode, instead of one of them had to open
the file in Read-Only (RO) mode.
I investigated the low-level algorithm that causes to this
problem, by capturing the SMB commands, and I have found
that the open algorithm is not automic, since it behaves
as foolows:
1. First, it opens the file with RW access, and 011 share
mode (not share for delete). Then, it closes the file.
2. It opens the file with RO access, and 001 share mode
(not share for delete and write).
This algorithm does not ensure atomic since the following
scenario might happen:
1. Client A do stage #1.
2. Client B do stage #1.
3. Client A do stage #2.
4. Client B do stage #2.
In this scenario, both client A and B will be succeeded to
open the file for RW.
The BUG is very frequent when the file server is located
over the WAN, because the open's time is bigger.
Is anyone know about some fix ?
Regards,
-- Idan Zach