[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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.