Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
}
return fsp;
}
+
+static bool fsp_generic_ask_sharemode(struct files_struct *fsp)
+{
+ if (fsp == NULL) {
+ return false;
+ }
+
+ if (fsp->posix_flags & FSP_POSIX_FLAGS_PATHNAMES) {
+ /* Always use filesystem for UNIX mtime query. */
+ return false;
+ }
+
+ return true;
+}
+
+bool fsp_search_ask_sharemode(struct files_struct *fsp)
+{
+ if (!fsp_generic_ask_sharemode(fsp)) {
+ return false;
+ }
+
+ return lp_smbd_search_ask_sharemode(SNUM(fsp->conn));
+}
+
+bool fsp_getinfo_ask_sharemode(struct files_struct *fsp)
+{
+ if (!fsp_generic_ask_sharemode(fsp)) {
+ return false;
+ }
+
+ return lp_smbd_getinfo_ask_sharemode(SNUM(fsp->conn));
+}
void fsp_set_base_fsp(struct files_struct *fsp, struct files_struct *base_fsp);
bool fsp_is_alternate_stream(const struct files_struct *fsp);
struct files_struct *metadata_fsp(struct files_struct *fsp);
+bool fsp_search_ask_sharemode(struct files_struct *fsp);
+bool fsp_getinfo_ask_sharemode(struct files_struct *fsp);
NTSTATUS create_internal_fsp(connection_struct *conn,
const struct smb_filename *smb_fname,