diff --git a/src/core/file_sys/archive_backend.h b/src/core/file_sys/archive_backend.h
index 800ac15418..94cda172fe 100644
--- a/src/core/file_sys/archive_backend.h
+++ b/src/core/file_sys/archive_backend.h
@@ -172,7 +172,7 @@ public:
      */
     virtual ResultCode Format(const Path& path, const FileSys::ArchiveFormatInfo& format_info) = 0;
 
-    /*
+    /**
      * Retrieves the format info about the archive with the specified path
      * @param path Path to the archive
      * @return Format information about the archive or error code
diff --git a/src/core/file_sys/archive_extsavedata.cpp b/src/core/file_sys/archive_extsavedata.cpp
index e83a6153d7..ca7fd5c5eb 100644
--- a/src/core/file_sys/archive_extsavedata.cpp
+++ b/src/core/file_sys/archive_extsavedata.cpp
@@ -117,7 +117,7 @@ ResultVal<ArchiveFormatInfo> ArchiveFactory_ExtSaveData::GetFormatInfo(const Pat
     return ResultCode(ErrorDescription::FS_NotFormatted, ErrorModule::FS, ErrorSummary::InvalidState, ErrorLevel::Status);
 }
 
-void ArchiveFactory_ExtSaveData::WriteIcon(const Path& path, u8* icon_data, u32 icon_size) {
+void ArchiveFactory_ExtSaveData::WriteIcon(const Path& path, const u8* icon_data, u32 icon_size) {
     std::string game_path = FileSys::GetExtSaveDataPath(GetMountPoint(), path);
     FileUtil::IOFile icon_file(game_path + "icon", "wb+");
     icon_file.WriteBytes(icon_data, icon_size);
diff --git a/src/core/file_sys/archive_extsavedata.h b/src/core/file_sys/archive_extsavedata.h
index 48e092ee72..1ebe0529fd 100644
--- a/src/core/file_sys/archive_extsavedata.h
+++ b/src/core/file_sys/archive_extsavedata.h
@@ -36,13 +36,13 @@ public:
 
     const std::string& GetMountPoint() const { return mount_point; }
 
-    /*
+    /**
      * Writes the SMDH icon of the ExtSaveData to file
      * @param path Path of this ExtSaveData
      * @param icon_data Binary data of the icon
      * @param icon_size Size of the icon data
      */
-    void WriteIcon(const Path& path, u8* icon_data, u32 icon_size);
+    void WriteIcon(const Path& path, const u8* icon_data, u32 icon_size);
 
 private:
     /**
diff --git a/src/core/file_sys/archive_savedata.cpp b/src/core/file_sys/archive_savedata.cpp
index 82f49af5dd..c2d32ed7e9 100644
--- a/src/core/file_sys/archive_savedata.cpp
+++ b/src/core/file_sys/archive_savedata.cpp
@@ -26,14 +26,14 @@ static std::string GetSaveDataContainerPath(const std::string& sdmc_directory) {
 }
 
 static std::string GetSaveDataPath(const std::string& mount_location, u64 program_id) {
-    u32 high = program_id >> 32;
-    u32 low = program_id & 0xFFFFFFFF;
+    u32 high = (u32)(program_id >> 32);
+    u32 low = (u32)(program_id & 0xFFFFFFFF);
     return Common::StringFromFormat("%s%08x/%08x/data/00000001/", mount_location.c_str(), high, low);
 }
 
 static std::string GetSaveDataMetadataPath(const std::string& mount_location, u64 program_id) {
-    u32 high = program_id >> 32;
-    u32 low = program_id & 0xFFFFFFFF;
+    u32 high = (u32)(program_id >> 32);
+    u32 low = (u32)(program_id & 0xFFFFFFFF);
     return Common::StringFromFormat("%s%08x/%08x/data/00000001.metadata", mount_location.c_str(), high, low);
 }
 
diff --git a/src/core/hle/service/cfg/cfg.cpp b/src/core/hle/service/cfg/cfg.cpp
index bb2c55612d..5254329575 100644
--- a/src/core/hle/service/cfg/cfg.cpp
+++ b/src/core/hle/service/cfg/cfg.cpp
@@ -310,6 +310,7 @@ ResultCode UpdateConfigNANDSavegame() {
 
 ResultCode FormatConfig() {
     ResultCode res = DeleteConfigNANDSaveFile();
+    // The delete command fails if the file doesn't exist, so we have to check that too
     if (!res.IsSuccess() && res.description != ErrorDescription::FS_NotFound)
         return res;
     // Delete the old data
diff --git a/src/core/hle/service/fs/archive.cpp b/src/core/hle/service/fs/archive.cpp
index 63381250ac..676a2ee56d 100644
--- a/src/core/hle/service/fs/archive.cpp
+++ b/src/core/hle/service/fs/archive.cpp
@@ -308,11 +308,8 @@ ResultVal<Kernel::SharedPtr<File>> OpenFileFromArchive(ArchiveHandle archive_han
         return ERR_INVALID_HANDLE;
 
     auto backend = archive->OpenFile(path, mode);
-    if (backend.Failed()) {
+    if (backend.Failed())
         return backend.Code();
-        return ResultCode(ErrorDescription::FS_NotFound, ErrorModule::FS,
-                          ErrorSummary::NotFound, ErrorLevel::Status);
-    }
 
     auto file = Kernel::SharedPtr<File>(new File(backend.MoveFrom(), path));
     return MakeResult<Kernel::SharedPtr<File>>(std::move(file));
diff --git a/src/core/hle/service/fs/archive.h b/src/core/hle/service/fs/archive.h
index b17d7c9029..006606740d 100644
--- a/src/core/hle/service/fs/archive.h
+++ b/src/core/hle/service/fs/archive.h
@@ -183,7 +183,7 @@ ResultVal<u64> GetFreeBytesInArchive(ArchiveHandle archive_handle);
  */
 ResultCode FormatArchive(ArchiveIdCode id_code, const FileSys::ArchiveFormatInfo& format_info, const FileSys::Path& path = FileSys::Path());
 
-/*
+/**
  * Retrieves the format info about the archive of the specified type and path.
  * The format info is supplied by the client code when creating archives.
  * @param id_code The id of the archive
diff --git a/src/core/hle/service/fs/fs_user.cpp b/src/core/hle/service/fs/fs_user.cpp
index ff7a9975ec..3ec7ceb30a 100644
--- a/src/core/hle/service/fs/fs_user.cpp
+++ b/src/core/hle/service/fs/fs_user.cpp
@@ -250,7 +250,7 @@ static void CreateFile(Service::Interface* self) {
 
     FileSys::Path file_path(filename_type, filename_size, filename_ptr);
 
-    LOG_DEBUG(Service_FS, "type=%d size=%lld data=%s", filename_type, filename_size, file_path.DebugStr().c_str());
+    LOG_DEBUG(Service_FS, "type=%d size=%llu data=%s", filename_type, filename_size, file_path.DebugStr().c_str());
 
     cmd_buff[1] = CreateFileInArchive(archive_handle, file_path, file_size).raw;
 }