When a being written file or it's ancestor directories is renamed, the path in the file lease is also renamed. Then the writer of the file usually will fail since the file path in the writer is not updated.
Moreover, I think there is a bug as follow:
- Client writes 0's to F_0="/foo/file" and writes 1's to F_1="/bar/file" at the same time.
- Rename /bar to /baz
- Rename /foo to /bar
Then, writing to F_0 will fail since /foo/file does not exist anymore but writing to F_1 may succeed since /bar/file exits as a different file. In such case, the content of /bar/file could be partly 0's and partly 1's.