Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Nas backup restore fails if the backup repository mount options have a trailing space

Abierto Apto para principiantes
#14,013 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
76/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
java, shell

Línea de trabajo

Comienza en LibvirtRestoreBackupCommandWrapper e inspecciona cómo se pasan mountOptions a Script.executeCommand; compara esto con el manejo de la shell en nasbackup.sh. Reproduce la restauración usando una opción de repositorio con espacios en blanco finales y verifica después que la restauración se complete correctamente y que el comportamiento existente del comando de montaje permanezca intacto.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

component:backup
problem

Backup works because mount options are processed inside the shell script nasbackup.sh where trailing spaces are not a problem.

But restore (LibvirtRestoreBackupCommandWrapper) builds and runs mount in Java

                                                                 
  if (StringUtils.isNotBlank(mountOptions)) {                                                                                           
      mountCmd.add("-o");                                                                                                               
      mountCmd.add(mountOptions);                                                                                                       
  }                                                                                                                                     
  Script.executeCommand(mountCmd.toArray(new String[0]));                                                                               
                                                                                                                   

Script.executeCommand(String...) builds a ProcessBuilder argument list
mount receives the literal -o "vers=4.1 ". libmount splits options only on commas, so the trailing blank stays glued to the last option, and mount.nfs/the kernel rejects it as a malformed or unknown option ("an incorrect mount option was specified").

WARN utils.script.Script (logid:435302bd) Process [445800] for command [sudo /usr/bin/mount -t nfs <redacted> encountered the error: [mount.nfs: an incorrect mount option was specified for /usr/share/cloudstack-agent/tmp/csbackup...

versions

ACS 4.22.1

The steps to reproduce the bug
  1. Create a backup repository - specify mount options (vers=4.1 ) with a trailing space
  2. Create backup
  3. Restore backup - it fails
    ...
What to do about it?

Trim trailing whitespaces before using the mount options

Lenguaje dominante
Java
Estrellas
3.1k
Forks
1.4k
Merge medio
6 d 20 h
PR fusionados (30 d)
27

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de apache/cloudstack

Todos los issues de apache/cloudstack

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.