diff options
Diffstat (limited to 'source3/libsmb/libsmb_stat.c')
-rw-r--r-- | source3/libsmb/libsmb_stat.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/source3/libsmb/libsmb_stat.c b/source3/libsmb/libsmb_stat.c index dc59f9cc82..94449e0d86 100644 --- a/source3/libsmb/libsmb_stat.c +++ b/source3/libsmb/libsmb_stat.c @@ -364,6 +364,13 @@ SMBC_fstatvfs_ctx(SMBCCTX *context, unsigned long flags = 0; uint32 fs_attrs = 0; struct cli_state *cli = file->srv->cli; + struct smbXcli_tcon *tcon; + + if (smbXcli_conn_protocol(cli->conn) >= PROTOCOL_SMB2_02) { + tcon = cli->smb2.tcon; + } else { + tcon = cli->smb1.tcon; + } /* Initialize all fields (at least until we actually use them) */ memset(st, 0, sizeof(*st)); @@ -469,7 +476,9 @@ SMBC_fstatvfs_ctx(SMBCCTX *context, } /* See if DFS is supported */ - if (smbXcli_conn_dfs_supported(cli->conn) && cli->dfsroot) { + if (smbXcli_conn_dfs_supported(cli->conn) && + smbXcli_tcon_is_dfs_share(tcon)) + { flags |= SMBC_VFS_FEATURE_DFS; } |