Skip to contentSkip to conversation

xfs_check refuses to work on readonly fs

DISCUSSION CN 2 participants 3 messages Aug 1, 2006 – Aug 2, 2006

lore
Share & tools
lore

CN

author
#0 lore raw

Hi!

# init 1
# mount -o ro,remount /
# mount
/dev/hda1 on / type xfs (rw)
# xfs_check /dev/hda1
xfs_check: /dev/hda1 contains a mounted and writable filesystem

xfs_check/xfs_repair are willing to work only when I boot from a disk and check/repair the other unmounted disk.

Why "mount" shows (rw) instead of (ro) even "mount -o ro,remount /" is issued?

fsck.ext3 works fine given the same sequence of commands for ext3 mounted file system. Did I miss anything with XFS?

Thank you in advance!

CN

Signature · 1 line
http://www.fastmail.fm - mmm... Fastmail...
#1 lore raw

Hi,

Based on the info you provided I infer that you're running Linux.

On Tue, Aug 01, 2006 at 14:00 CN <[email protected]> wrote:

| Hi!
|
| # init 1
| # mount -o ro,remount /
| # mount
| /dev/hda1 on / type xfs (rw)
| # xfs_check /dev/hda1
| xfs_check: /dev/hda1 contains a mounted and writable filesystem
|
| xfs_check/xfs_repair are willing to work only when I boot from a disk
| and check/repair the other unmounted disk.
|
| Why "mount" shows (rw) instead of (ro) even "mount -o ro,remount /" is
| issued?

Because mount is relying on /etc/mtab which couldn't be updated precisely because / was remounted ro.

You'll need a recent xfsprogs version, at least 2.7.17 IIRC, one that uses that uses /proc/mounts instead of /etc/mtab to check filesystem status.

Or you can use a dirty and quick hack

- prior to remounting ro, edit /etc/mtab and change the root fs entry from rw to ro.
- remount ro
- run your xfs_check/xfs_repair in dangerous mode.

FWIW the safe thing to do after a repair on a mounted root FS is to reboot.

Cheers,
Hedi.

author
#2 lore raw

Hi! Hedi,

Quoted 1 line

Based on the info you provided I infer that you're running Linux.

Yes. I forgot to mention this.

Quoted 22 lines
| # init 1
| # mount -o ro,remount /
| # mount
| /dev/hda1 on / type xfs (rw)
| # xfs_check /dev/hda1
| xfs_check: /dev/hda1 contains a mounted and writable filesystem
|
| xfs_check/xfs_repair are willing to work only when I boot from a disk
| and check/repair the other unmounted disk.
|
| Why "mount" shows (rw) instead of (ro) even "mount -o ro,remount /" is
| issued?

Because mount is relying on /etc/mtab which couldn't be updated precisely because / was remounted ro.

You'll need a recent xfsprogs version, at least 2.7.17 IIRC, one that uses that uses /proc/mounts instead of /etc/mtab to check filesystem status.

Or you can use a dirty and quick hack

Quoted 8 lines

- prior to remounting ro, edit /etc/mtab and change the root fs entry from
rw to ro.
- remount ro
- run your xfs_check/xfs_repair in dangerous mode.

FWIW the safe thing to do after a repair on a mounted root FS is to reboot.

I upgraded xfsprogs to 2.8.4 and have tried both approaches you provided but still have no luck. Only one thing is different: "mount" now reports "ro" if I edit /etc/mtab as you instructed.

Regards,

CN

Signature · 1 line
http://www.fastmail.fm - The professional email service