From 5a5d4d09fedeb582b1f796042eb1501d119387a0 Mon Sep 17 00:00:00 2001 From: Siyuan Miao Date: Mon, 12 May 2025 19:11:33 +0200 Subject: [PATCH] chore: create images folder when starting the application --- main.go | 7 +++++-- usb_mass_storage.go | 13 ++++++++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/main.go b/main.go index 39b1427..aa743d9 100644 --- a/main.go +++ b/main.go @@ -77,11 +77,14 @@ func Main() { initUsbGadget() - err = setInitialVirtualMediaState() - if err != nil { + if err := setInitialVirtualMediaState(); err != nil { logger.Warn().Err(err).Msg("failed to set initial virtual media state") } + if err := initImagesFolder(); err != nil { + logger.Warn().Err(err).Msg("failed to init images folder") + } + go func() { time.Sleep(15 * time.Minute) for { diff --git a/usb_mass_storage.go b/usb_mass_storage.go index 3ecbdd8..08c2ea7 100644 --- a/usb_mass_storage.go +++ b/usb_mass_storage.go @@ -94,9 +94,20 @@ var nbdDevice *NBDDevice const imagesFolder = "/userdata/jetkvm/images" +func initImagesFolder() error { + err := os.MkdirAll(imagesFolder, 0755) + if err != nil { + return fmt.Errorf("failed to create images folder: %w", err) + } + return nil +} + func rpcMountBuiltInImage(filename string) error { logger.Info().Str("filename", filename).Msg("Mount Built-In Image") - _ = os.MkdirAll(imagesFolder, 0755) + if err := initImagesFolder(); err != nil { + return err + } + imagePath := filepath.Join(imagesFolder, filename) // Check if the file exists in the imagesFolder