From 19830fe19dbd1115b229b6ed28233a68bff78663 Mon Sep 17 00:00:00 2001 From: Scott Theisen Date: Sun, 17 Nov 2024 01:17:38 -0500 Subject: [PATCH] make PlaybackSock::GetDiskSpace() return a FileSystemInfoList also remove unused EncoderLink::GetDiskSpace(). --- mythtv/programs/mythbackend/encoderlink.cpp | 14 ----------- mythtv/programs/mythbackend/encoderlink.h | 1 - mythtv/programs/mythbackend/mainserver.cpp | 25 +++++++------------- mythtv/programs/mythbackend/playbacksock.cpp | 11 +++++---- mythtv/programs/mythbackend/playbacksock.h | 3 ++- 5 files changed, 16 insertions(+), 38 deletions(-) diff --git a/mythtv/programs/mythbackend/encoderlink.cpp b/mythtv/programs/mythbackend/encoderlink.cpp index 6057846c740..4375c7493e8 100644 --- a/mythtv/programs/mythbackend/encoderlink.cpp +++ b/mythtv/programs/mythbackend/encoderlink.cpp @@ -340,20 +340,6 @@ bool EncoderLink::CheckFile(ProgramInfo *pginfo) return pginfo->IsLocal(); } -/** - * \brief Appends total and used disk space in Kilobytes - * - * \param o_strlist list to append to - */ -void EncoderLink::GetDiskSpace(QStringList &o_strlist) -{ - if (HasSockAndIncrRef()) - { - ReferenceLocker rlocker(m_sock); - m_sock->GetDiskSpace(o_strlist); - } -} - /** \fn EncoderLink::GetMaxBitrate() * \brief Returns maximum bits per second this recorder might output. * diff --git a/mythtv/programs/mythbackend/encoderlink.h b/mythtv/programs/mythbackend/encoderlink.h index e1f67c5c1fc..bf79ed6e7c0 100644 --- a/mythtv/programs/mythbackend/encoderlink.h +++ b/mythtv/programs/mythbackend/encoderlink.h @@ -81,7 +81,6 @@ class EncoderLink bool IsTunerLocked(void) const { return m_locked; } bool CheckFile(ProgramInfo *pginfo); - void GetDiskSpace(QStringList &o_strlist); long long GetMaxBitrate(void); std::chrono::milliseconds SetSignalMonitoringRate(std::chrono::milliseconds rate, int notifyFrontend); diff --git a/mythtv/programs/mythbackend/mainserver.cpp b/mythtv/programs/mythbackend/mainserver.cpp index bedfe1d9c36..a4faa2706fc 100644 --- a/mythtv/programs/mythbackend/mainserver.cpp +++ b/mythtv/programs/mythbackend/mainserver.cpp @@ -5134,7 +5134,6 @@ void MainServer::BackendQueryDiskSpace(QStringList &strlist, bool consolidated, { FileSystemInfoList fsInfos = FileServerHandler::QueryFileSystems(); QString allHostList; - QStringList tmplist; if (allHosts) { allHostList = gCoreContext->GetHostName(); @@ -5160,29 +5159,21 @@ void MainServer::BackendQueryDiskSpace(QStringList &strlist, bool consolidated, m_sockListLock.unlock(); for (auto & pbs : localPlaybackList) { - pbs->GetDiskSpace(tmplist); // QUERY_FREE_SPACE + fsInfos << pbs->GetDiskSpace(); // QUERY_FREE_SPACE pbs->DecrRef(); } } - if (!consolidated) + if (consolidated) { - strlist << FileSystemInfoManager::ToStringList(fsInfos) << tmplist; - return; - } - - fsInfos.append(FileSystemInfoManager::FromStringList(tmplist)); - tmplist.clear(); // not used after this point - strlist.clear(); + // Consolidate hosts sharing storage + int64_t maxWriteFiveSec = GetCurrentMaxBitrate()/12 /*5 seconds*/; + maxWriteFiveSec = std::max((int64_t)2048, maxWriteFiveSec); // safety for NFS mounted dirs - // Consolidate hosts sharing storage - int64_t maxWriteFiveSec = GetCurrentMaxBitrate()/12 /*5 seconds*/; - maxWriteFiveSec = std::max((int64_t)2048, maxWriteFiveSec); // safety for NFS mounted dirs - - FileSystemInfoManager::Consolidate(fsInfos, true, maxWriteFiveSec, allHostList); + FileSystemInfoManager::Consolidate(fsInfos, true, maxWriteFiveSec, allHostList); + } - // Pass the cleaned list back - strlist << FileSystemInfoManager::ToStringList(fsInfos); + strlist = FileSystemInfoManager::ToStringList(fsInfos); } void MainServer::GetFilesystemInfos(FileSystemInfoList &fsInfos, diff --git a/mythtv/programs/mythbackend/playbacksock.cpp b/mythtv/programs/mythbackend/playbacksock.cpp index 5369a78fa1b..8e1e44ab63d 100644 --- a/mythtv/programs/mythbackend/playbacksock.cpp +++ b/mythtv/programs/mythbackend/playbacksock.cpp @@ -137,16 +137,17 @@ bool PlaybackSock::GoToSleep(void) } /** - * \brief Appends host's dir's total and used space in kilobytes. + * \brief Gets the total and used space in kilobytes for the host's directories. */ -void PlaybackSock::GetDiskSpace(QStringList &o_strlist) +FileSystemInfoList PlaybackSock::GetDiskSpace() { - QStringList strlist(QString("QUERY_FREE_SPACE")); // should this be ..._SUMMARY? based on the comment above + QStringList strlist(QString("QUERY_FREE_SPACE")); - if (SendReceiveStringList(strlist, 8)) // TODO replace magic numbers FileSystemInfo::k_lines; return a list of FileSystemInfos instead? + if (SendReceiveStringList(strlist, FileSystemInfo::k_lines)) { - o_strlist += strlist; + return FileSystemInfoManager::FromStringList(strlist); } + return {}; } int PlaybackSock::CheckRecordingActive(const ProgramInfo *pginfo) diff --git a/mythtv/programs/mythbackend/playbacksock.h b/mythtv/programs/mythbackend/playbacksock.h index 878cfc3043a..520d61a793e 100644 --- a/mythtv/programs/mythbackend/playbacksock.h +++ b/mythtv/programs/mythbackend/playbacksock.h @@ -8,6 +8,7 @@ #include #include +#include "libmythbase/filesysteminfo.h" #include "libmythbase/programinfo.h" // ProgramInfo #include "libmythbase/programtypes.h" // RecStatus::Type #include "libmythbase/referencecounter.h" @@ -60,7 +61,7 @@ class PlaybackSock : public ReferenceCounter QString getIP(void) const { return m_ip; } bool GoToSleep(void); - void GetDiskSpace(QStringList &o_strlist); + FileSystemInfoList GetDiskSpace(); int DeleteFile(const QString &filename, const QString &sgroup); int StopRecording(const ProgramInfo *pginfo); int CheckRecordingActive(const ProgramInfo *pginfo);