Ubuntu 12.04 est installé sur une carte SDHC (une seule partition ext2, pas d’échange). Lorsque je suspends l'utilisation de pm-suspend
, mon système de fichiers racine est monté en lecture seule. Je suis actuellement en train de "réparer" ceci avec le fichier suivant:
/etc/pm/sleep.d/99_make_disk_rw:
#!/bin/sh
mount -o remount,rw /
Mais le disque est marqué comme nécessitant un fsck
au redémarrage. Comment puis-je empêcher le système de fichiers d'être monté en lecture seule ou quoi que ce soit qui ne va pas ici?.
Mise à jour: il semble que le montage se soit effectué en lecture seule car une erreur s'est produite. J'ai changé les options de montage de /
dans /etc/fstab
en noatime,nodiratime,errors=continue
et la carte SDHC n'est plus montée en lecture seule après sa reprise. Donc, le problème se produit quand il suspend, pas quand il reprend comme je le pensais.
J'ai vérifié /sys/bus/usb/devices/1-4/power/persist
et il est réglé sur 1. Ainsi, la carte SDHC ne doit pas sembler déconnectée du système d'exploitation (ou plus exactement, elle devrait récupérer de la déconnexion sans erreur).
Ici semble être la section pertinente du syslog
Sep 10 10:34:23 iubit kernel: [ 748.246226] sd 4:0:0:0: [sdb] Media Changed
Sep 10 10:34:23 iubit kernel: [ 748.246234] sd 4:0:0:0: [sdb] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Sep 10 10:34:23 iubit kernel: [ 748.246243] sd 4:0:0:0: [sdb] Sense Key : Unit Attention [current]
Sep 10 10:34:23 iubit kernel: [ 748.246253] Info fld=0x0
Sep 10 10:34:23 iubit kernel: [ 748.246258] sd 4:0:0:0: [sdb] Add. Sense: Not ready to ready change, medium may have changed
Sep 10 10:34:23 iubit kernel: [ 748.246271] sd 4:0:0:0: [sdb] CDB: Read(10): 28 00 00 5d 3e f0 00 00 08 00
Sep 10 10:34:23 iubit kernel: [ 748.246291] end_request: I/O error, dev sdb, sector 6110960
Sep 10 10:34:23 iubit kernel: [ 748.247027] EXT2-fs (sdb1): error: ext2_fsync: detected IO error when writing metadata buffers
Sep 10 10:34:23 iubit anacron[6954]: Anacron 2.3 started on 2012-09-10
Sep 10 10:34:23 iubit anacron[6954]: Normal exit (0 jobs run)
Sep 10 10:34:24 iubit laptop-mode: Laptop mode
Sep 10 10:34:24 iubit laptop-mode: enabled, not active
Sep 10 10:34:24 iubit kernel: [ 749.055376] sd 4:0:0:0: [sdb] No Caching mode page present
Sep 10 10:34:24 iubit kernel: [ 749.055387] sd 4:0:0:0: [sdb] Assuming drive cache: write through
Sep 10 10:34:25 iubit anacron[7555]: Anacron 2.3 started on 2012-09-10
Sep 10 10:34:25 iubit anacron[7555]: Normal exit (0 jobs run)
Sep 10 10:34:31 iubit kernel: [ 756.090861] EXT2-fs (sdb1): previous I/O error to superblock detected
Le vrai problème ici est l'erreur "erreur: ext2_fsync: détecté IO erreur lors de l'écriture des tampons de métadonnées". Là était un bogue ext2 qui causait ce problème mais je pensais qu'il était corrigé, ou du moins corrigé.
Le système de fichiers est marqué comme incohérent en raison des tampons de métadonnées, d’où le montage en tant que R/O et la nécessité d’une vérification du disque. Peut-être devriez-vous changer le titre de ceci en quelque chose en rapport avec cette erreur et vous pourriez avoir quelques personnes plus informées à le regarder.
J'ai un EeePC que j'utilise une carte SDHC 8Gb dans laquelle monte comme/home. Il est formaté ext4 et je n'ai jamais eu ce problème avec aucun autre type de buntu de 10.04LTS à 12.04LTS. Cela vaut peut-être la peine de formater la carte SDHC au format ext4 et de voir si le problème disparaît au cas où il s’agirait d’une régression dans les modules ext2 uniquement.
Edit: Oh, vous pouvez aussi signaler ceci comme un bug. Voyez si vous pouvez trouver les rapports originaux sur Launchpad et essayez de les rouvrir sous forme de régression, ou commencez-en un nouveau si vous pensez que cela est approprié.