[PATCH smb3-posix-extensions] FSA: allow rename over files with only POSIX opens
ChenXiaoSong <[email protected]>
| Newsgroups | org.kernel.vger.linux-cifs |
|---|---|
| Message-ID | <[email protected]> |
From: ChenXiaoSong <[email protected]> Update FileRenameInformation processing for an existing destination. Ignore POSIX opens when checking whether the destination is open, so the rename can continue if all destination opens use POSIX semantics. Keep returning STATUS_ACCESS_DENIED if the destination has one or more non-POSIX opens. Signed-off-by: ChenXiaoSong <[email protected]> --- fsa_posix_extensions.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/fsa_posix_extensions.md b/fsa_posix_extensions.md index e03102d..7dbdf77 100644 --- a/fsa_posix_extensions.md +++ b/fsa_posix_extensions.md @@ -617,3 +617,18 @@ Open.GrantedAccess does not incluce FILE_WRITE_ATTRIBUTES and not AccessCheck(SecurityContext, File.SecurityDescriptor, FILE_WRITE_ATTRIBUTES): - the operation MUST be failed with STATUS_CANNOT_DELETE. + +##### 2.1.4.8.3 FileRenameInformation + +When processing the following condition from MS-FSA 2.1.5.15.12: + +- If there was not an oplock to be broken and + **TargetLink.File.OpenList** contains an **Open** with a **Stream** + matching the current **Stream**, the operation MUST be failed with + `STATUS_ACCESS_DENIED`. + +For this check, the object store MUST consider only matching opens for which +**Open.IsPosix** is FALSE. If one or more such opens exist, the operation +MUST be failed with `STATUS_ACCESS_DENIED`. If all matching opens have +**Open.IsPosix** set to TRUE, this check MUST NOT fail the operation and +processing MUST continue as specified in MS-FSA 2.1.5.15.12. -- 2.54.0