diff options
| author | Morph <39850852+Morph1984@users.noreply.github.com> | 2021-06-16 14:03:01 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-16 14:03:01 -0400 | 
| commit | 92942fe01bf290d247e1a51562a07fe280448b47 (patch) | |
| tree | 0868b1e5d5ae17a77dc18f678eb454b3e8f16c2b /src/core/hle/service | |
| parent | 78651b54760b4a33984db0e0ad421185606834f8 (diff) | |
| parent | 74790e4f33b5d287859ae91df984753eaa84aa28 (diff) | |
Merge pull request #6460 from Morph1984/fs-access-log-fix
fsp_srv: Fix filesystem access logging
Diffstat (limited to 'src/core/hle/service')
| -rw-r--r-- | src/core/hle/service/filesystem/fsp_srv.cpp | 15 | ||||
| -rw-r--r-- | src/core/hle/service/filesystem/fsp_srv.h | 12 | 
2 files changed, 15 insertions, 12 deletions
diff --git a/src/core/hle/service/filesystem/fsp_srv.cpp b/src/core/hle/service/filesystem/fsp_srv.cpp index 3af9881c2..db4d44c12 100644 --- a/src/core/hle/service/filesystem/fsp_srv.cpp +++ b/src/core/hle/service/filesystem/fsp_srv.cpp @@ -13,6 +13,7 @@  #include "common/common_types.h"  #include "common/hex_util.h"  #include "common/logging/log.h" +#include "common/settings.h"  #include "common/string_util.h"  #include "core/core.h"  #include "core/file_sys/directory.h" @@ -785,6 +786,10 @@ FSP_SRV::FSP_SRV(Core::System& system_)      };      // clang-format on      RegisterHandlers(functions); + +    if (Settings::values.enable_fs_access_log) { +        access_log_mode = AccessLogMode::SdCard; +    }  }  FSP_SRV::~FSP_SRV() = default; @@ -1041,9 +1046,9 @@ void FSP_SRV::DisableAutoSaveDataCreation(Kernel::HLERequestContext& ctx) {  void FSP_SRV::SetGlobalAccessLogMode(Kernel::HLERequestContext& ctx) {      IPC::RequestParser rp{ctx}; -    log_mode = rp.PopEnum<LogMode>(); +    access_log_mode = rp.PopEnum<AccessLogMode>(); -    LOG_DEBUG(Service_FS, "called, log_mode={:08X}", log_mode); +    LOG_DEBUG(Service_FS, "called, access_log_mode={}", access_log_mode);      IPC::ResponseBuilder rb{ctx, 2};      rb.Push(ResultSuccess); @@ -1054,7 +1059,7 @@ void FSP_SRV::GetGlobalAccessLogMode(Kernel::HLERequestContext& ctx) {      IPC::ResponseBuilder rb{ctx, 3};      rb.Push(ResultSuccess); -    rb.PushEnum(log_mode); +    rb.PushEnum(access_log_mode);  }  void FSP_SRV::OutputAccessLogToSdCard(Kernel::HLERequestContext& ctx) { @@ -1062,9 +1067,9 @@ void FSP_SRV::OutputAccessLogToSdCard(Kernel::HLERequestContext& ctx) {      auto log = Common::StringFromFixedZeroTerminatedBuffer(          reinterpret_cast<const char*>(raw.data()), raw.size()); -    LOG_DEBUG(Service_FS, "called, log='{}'", log); +    LOG_DEBUG(Service_FS, "called"); -    reporter.SaveFilesystemAccessReport(log_mode, std::move(log)); +    reporter.SaveFSAccessLog(log);      IPC::ResponseBuilder rb{ctx, 2};      rb.Push(ResultSuccess); diff --git a/src/core/hle/service/filesystem/fsp_srv.h b/src/core/hle/service/filesystem/fsp_srv.h index ff7455a20..556708284 100644 --- a/src/core/hle/service/filesystem/fsp_srv.h +++ b/src/core/hle/service/filesystem/fsp_srv.h @@ -24,11 +24,10 @@ enum class AccessLogVersion : u32 {      Latest = V7_0_0,  }; -enum class LogMode : u32 { -    Off, +enum class AccessLogMode : u32 { +    None,      Log, -    RedirectToSdCard, -    LogToSdCard = Log | RedirectToSdCard, +    SdCard,  };  class FSP_SRV final : public ServiceFramework<FSP_SRV> { @@ -59,13 +58,12 @@ private:      FileSystemController& fsc;      const FileSys::ContentProvider& content_provider; +    const Core::Reporter& reporter;      FileSys::VirtualFile romfs;      u64 current_process_id = 0;      u32 access_log_program_index = 0; -    LogMode log_mode = LogMode::LogToSdCard; - -    const Core::Reporter& reporter; +    AccessLogMode access_log_mode = AccessLogMode::None;  };  } // namespace Service::FileSystem  | 
