diff options
Diffstat (limited to 'source3/smbwrapper')
-rw-r--r-- | source3/smbwrapper/smbw.h | 1 | ||||
-rw-r--r-- | source3/smbwrapper/smbw_stat.c | 8 |
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; |