2014-04-08, 02:52
To mkake this a bit clearer hopefully:
Ont he first call logged above...
then just a bit later the same call I think gives a different result:
so this would appear to imply that: exportlist = m_pLibNfs->mount_getexports(m_resolvedHostName);
...is returning different things just moments apart.
I know my logging is messy (20 years since I did any C) - but I think I am reading that right.
Code:
std::list<std::string> CNfsConnection::GetExportList(const CURL &url)
{
CLog::Log(LOGDEBUG, "NFSDEBUGPRINTOUT: CNfsConnection::GetExportList for url [%s]", url.GetFileName().c_str());
std::list<std::string> retList;
if(HandleDyLoad())
{
struct exportnode *exportlist, *tmp;
CLog::Log(LOGDEBUG, "NFSDEBUGPRINTOUT: CNfsConnection::GetExportList m_resolvedHostName [%s]", m_resolvedHostName.c_str());
exportlist = m_pLibNfs->mount_getexports(m_resolvedHostName);
tmp = exportlist;
if(tmp==NULL){
CLog::Log(LOGDEBUG, "NFSDEBUGPRINTOUT: CNfsConnection::GetExportList ********************** tmp is NULL");
}
for(tmp = exportlist; tmp!=NULL; tmp=tmp->ex_next)
{
std::string exportStr = std::string(tmp->ex_dir);
CLog::Log(LOGDEBUG, "NFSDEBUGPRINTOUT: CNfsConnection::GetExportList exportStr [%s]", exportStr.c_str());
retList.push_back(exportStr);
}
CLog::Log(LOGDEBUG, "NFSDEBUGPRINTOUT: CNfsConnection::GetExportList after for loop");
gNfsConnection.GetImpl()->mount_free_export_list(exportlist);
retList.sort();
retList.reverse();
}
else{
CLog::Log(LOGDEBUG, "NFSDEBUGPRINTOUT: CNfsConnection::GetExportList HandleDyLoad returned false");
}
return retList;
}
Ont he first call logged above...
Code:
09:32:33 T:8004 DEBUG: NFSDEBUGPRINTOUT: CNfsConnection::GetExportList for url [MovieLibrary01/Definitely, Maybe (2008)/Definitely, Maybe.avi]
09:32:33 T:8004 DEBUG: NFSDEBUGPRINTOUT: CNfsConnection::GetExportList m_resolvedHostName [192.168.1.51]
09:32:33 T:8004 DEBUG: NFSDEBUGPRINTOUT: CNfsConnection::GetExportList exportStr [/Movies02]
09:32:33 T:8004 DEBUG: NFSDEBUGPRINTOUT: CNfsConnection::GetExportList exportStr [/Movies01]
09:32:33 T:8004 DEBUG: NFSDEBUGPRINTOUT: CNfsConnection::GetExportList exportStr [/MusicLibrary]
etc
then just a bit later the same call I think gives a different result:
Code:
09:32:33 T:8004 DEBUG: NFSDEBUGPRINTOUT: CNfsConnection::splitUrlIntoExportAndPath for url [MovieLibrary01/Descendants (2008)/Descendants.mkv] exportPath [] relativePath []
09:32:33 T:8004 DEBUG: NFSDEBUGPRINTOUT: CNfsConnection::splitUrlIntoExportAndPath refreshing export list
09:32:33 T:8004 DEBUG: NFSDEBUGPRINTOUT: CNfsConnection::GetExportList for url [MovieLibrary01/Descendants (2008)/Descendants.mkv]
09:32:33 T:8004 DEBUG: NFSDEBUGPRINTOUT: CNfsConnection::GetExportList m_resolvedHostName [192.168.1.51]
09:32:33 T:8004 DEBUG: NFSDEBUGPRINTOUT: CNfsConnection::GetExportList ********************** tmp is NULL
09:32:33 T:8004 DEBUG: NFSDEBUGPRINTOUT: CNfsConnection::GetExportList after for loop
09:32:33 T:8004 DEBUG: NFSDEBUGPRINTOUT: CNfsConnection::splitUrlIntoExportAndPath (main func) for url [MovieLibrary01/Descendants (2008)/Descendants.mkv] exportPath [] relativePath []
09:32:33 T:8004 DEBUG: NFSDEBUGPRINTOUT: CNfsConnection::Connect ret is false for url [MovieLibrary01/Descendants (2008)/Descendants.mkv] exportPath [] relativePath []
09:32:33 T:8004 DEBUG: NFSDEBUGPRINTOUT: CNfsConnection::Connect ret just before Connect returns is false
09:32:33 T:8004 DEBUG: NFSDEBUGPRINTOUT: CNFSFile::Stat about to return -1 as !gNfsConnection
so this would appear to imply that: exportlist = m_pLibNfs->mount_getexports(m_resolvedHostName);
...is returning different things just moments apart.
I know my logging is messy (20 years since I did any C) - but I think I am reading that right.