docs: def StatFSFromClient(args):
    """Call os.statvfs for a given list of paths.
  
    Args:
      args: An `rdf_client_action.StatFSRequest`.
  
    Yields:
      `rdf_client_fs.UnixVolume` instances.
  
    Raises:
      RuntimeError: if called on a Windows system.
    """
    if platform.system() == "Windows":
      raise RuntimeError("os.statvfs not available on Windows")
  
    for path in args.path_list:
  
      try:
        fd = vfs.VFSOpen(rdf_paths.PathSpec(path=path, pathtype=args.pathtype))
        st = fd.StatFS()
        mount_point = fd.GetMountPoint()
      except (IOError, OSError):
        continue
  
      unix = rdf_client_fs.UnixVolume(mount_point=mount_point)
  
      # On linux pre 2.6 kernels don't have frsize, so we fall back to bsize.
      # The actual_available_allocation_units attribute is set to blocks
      # available to the unprivileged user, root may have some additional
      # reserved space.
      yield rdf_client_fs.Volume(
          bytes_per_sector=(st.f_frsize or st.f_bsize),
          sectors_per_allocation_unit=1,
          total_allocation_units=st.f_blocks,
          actual_available_allocation_units=st.f_bavail,
          unixvolume=unix)