Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix for broken clients (Linux after 9/2020) walking open FIDs
See this note: https://marc.info/?l=v9fs-developer&m=164327391912025&w=2 Linux, after this commit, commit 478ba09edc1f2f2ee27180a06150cb2d1a686f9c (HEAD, refs/bisect/new) Author: Greg Kurz <groug@kaod.org> Date: Wed Sep 23 22:11:45 2020 +0800 Allows walking an open FID. There is some saving grace in that it will always walk to a different FID. The proposed fix, implemented by some servers, is to allow walking open FIDs as long as they are not the same FID. E.g.: /* we can't walk open files */ - if fid.opened { + if fid.opened && tc.Fid == tc.Newfid { req.RespondError(Ebaduse) return } This fix implements that proposal. It moves the test from doWalk to the message handlers, b/c the value of fid and newfid don't seem to be available in doWalk, and it seems less messy to just do the test in the two callers. Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
- Loading branch information