> YAMAMOTO Takashi <[email protected]> wrote: > >> i don't think it fixes the problem as VOPs can release the lock >> before the completion of async PUFFS_VN_SETATTR. > > It just prevents puffs_vnop_getattr to call uvm_vnp_setattr with a stall > value between the time dosetattr sends PUFFS_VN_SETATTR and the time it > calls uvm_vnp_setattr. This is enough to work around the issue if the > file server does not reorder requests.
but file servers can reorder requests, can't they? >> besides that, non-diagnostic uses of VOP_ISLOCKED are mostly considered bugs. > > The problem is that VOP_GETATTR does not specify whether the vnode > should be locked or not. Some callers lock and others do not, therefore > the test. besides that it's strongly discouraged way (i'd call it bug) to use locks, the test seems broken when called with LK_SHARED held. YAMAMOTO Takashi > > -- > Emmanuel Dreyfus > http://hcpnet.free.fr/pubz > [email protected]
