summaryrefslogtreecommitdiff
path: root/source3/smbwrapper
diff options
context:
space:
mode:
Diffstat (limited to 'source3/smbwrapper')
-rw-r--r--source3/smbwrapper/smbw.h1
-rw-r--r--source3/smbwrapper/smbw_stat.c8
2 files changed, 5 insertions, 4 deletions
diff --git a/source3/smbwrapper/smbw.h b/source3/smbwrapper/smbw.h
index 43fb14bce0..b0cf2dc2e1 100644
--- a/source3/smbwrapper/smbw.h
+++ b/source3/smbwrapper/smbw.h
@@ -37,6 +37,7 @@ struct smbw_server {
char *server_name;
char *share_name;
dev_t dev;
+ BOOL no_pathinfo2;
};
struct smbw_filedes {
diff --git a/source3/smbwrapper/smbw_stat.c b/source3/smbwrapper/smbw_stat.c
index ec920eb176..d9e2aa250c 100644
--- a/source3/smbwrapper/smbw_stat.c
+++ b/source3/smbwrapper/smbw_stat.c
@@ -65,16 +65,16 @@ BOOL smbw_getatr(struct smbw_server *srv, char *path,
{
DEBUG(5,("sending qpathinfo\n"));
- if (cli_qpathinfo(&srv->cli, path, c_time, a_time, m_time,
- size, mode)) return True;
-
- DEBUG(5,("qpathinfo OK\n"));
+ if (!srv->no_pathinfo2 &&
+ cli_qpathinfo2(&srv->cli, path, c_time, a_time, m_time, NULL,
+ size, mode)) return True;
/* if this is NT then don't bother with the getatr */
if (srv->cli.capabilities & CAP_NT_SMBS) return False;
if (cli_getatr(&srv->cli, path, mode, size, m_time)) {
a_time = c_time = m_time;
+ srv->no_pathinfo2 = True;
return True;
}
return False;