I updated my OpenSUSE system today. After rebooting, I could not log in, even as root from a tty. The system gave a lot of errors about journald so I figured I would boot up a rescue disk and see what I could find.

In rescue mode, I mounted the hard disk's root logical volume on /mnt. Did a 'cd /mnt' and poked around. But any time I try to change anything, mkdir, rm, touch, etc., nothing happens and I don't get the prompt back.

I can log in from another tty, but running 'kill -9' on the original process (touch or whatever) doesn't kill the process. I can kill the bash process and get a login prompt back, but the 'touch' or whatever process is still there.

Running 'mount' shows: /dev/mapper/system-root on /mnt type btrfs (rw,relatime,space_cache,subvolid=259,subvol=/@/.snapshots/1/snapshot).

How can I make changes in the volume?

  • You need to explore this more first, answering several questions along the way (or taking action based on them). Is the filesystem full? Have you run smartctl to determine the SMART status of the underlying drives (as failure detection)? Have you run a BTRFS filesystem check? – Spooler Sep 25 '16 at 4:37
  • Filesystem is less than 30% full. smartctl reports normal numbers and self-esteem reported no errers. btrfs check returned no errors. journalctl doesn't show any problems. I was hoping for a "oh, just run lvm enable writes" or something like that, but I guess that won't happen. – John Frickson Sep 25 '16 at 17:58
  • OHHHH I didn't see this part: subvol=/@/.snapshots/1/snapshot. So you probably just need to enable writes on that snapshot via a BTRFS property. Even if the fileystem is mounted read-write, individual subvols can be read-only. Btrfs property list -ts /path/to/snapshot can check the properties of a subvol. See what that says. As far as the command, -t specifies the type of object to work on, s means subvolume. Other options are f (filesystem), i (inode), and d (device). If you don't specify, it'll show all applicable ones (for list) or try to guess for get/set. – Spooler Sep 25 '16 at 23:53
  • Also, btrfs property set -ts /path/to/snapshot ro false will unset the ro property, if it exists. – Spooler Sep 26 '16 at 0:17

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.