code: def enable_multi_fs_save(save_func: Callable) -> Callable:
      @functools.wraps(save_func)
      def fs_save(obj, path, *args, **kwargs):
          from bigdl.dllib.utils.file_utils import is_local_path
  
          if is_local_path(path):
              return save_func(obj, path, *args, **kwargs)
          else:
              import uuid
              import tempfile
              from bigdl.dllib.utils.file_utils import append_suffix
  
              file_name = str(uuid.uuid1())
              file_name = append_suffix(file_name, path)
              with tempfile.TemporaryDirectory() as tmpdir:
                  temp_path = os.path.join(tmpdir, file_name)
                  result = save_func(obj, temp_path, *args, **kwargs)
                  put_local_file_to_remote(temp_path, path)
              return result
  
      return fs_save
  
imports: import os
  import subprocess
  import logging
  import shutil
  import functools
  import glob
  from distutils.dir_util import copy_tree
  from bigdl.dllib.utils.log4Error import invalidOperationError
  from typing import TYPE_CHECKING, List, Callable, Union, Optional
label_desc: Use image node_id 18 for calling a global function with example usage: enable_multi_fs_save(save_func) and returns: fs_save, save_func, result