diff options
author | Christoph Hellwig <hch@lst.de> | 2009-01-18 20:04:07 -0500 |
---|---|---|
committer | Lachlan McIlroy <lachlan@sgi.com> | 2009-01-18 22:45:04 -0500 |
commit | 49739140e57a65114d9e1976c4c158d2145595fb (patch) | |
tree | 9295a472e8d4040c9504f3c8b2b9d29207772cd4 /fs/xfs/xfs_mount.h | |
parent | 5aa2dc0a0697c762874241fa9ddbecd2d878b934 (diff) |
xfs: fix bad_features2 fixups for the root filesystem
Currently the bad_features2 fixup and the alignment updates in the superblock
are skipped if we mount a filesystem read-only. But for the root filesystem
the typical case is to mount read-only first and only later remount writeable
so we'll never perform this update at all. It's not a big problem but means
the logs of people needing the fixup get spammed at every boot because they
never happen on disk.
Reported-by: Arkadiusz Miskiewicz <arekm@maven.pl>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'fs/xfs/xfs_mount.h')
-rw-r--r-- | fs/xfs/xfs_mount.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h index c1e028467327..e37eff6761eb 100644 --- a/fs/xfs/xfs_mount.h +++ b/fs/xfs/xfs_mount.h | |||
@@ -327,6 +327,8 @@ typedef struct xfs_mount { | |||
327 | spinlock_t m_sync_lock; /* work item list lock */ | 327 | spinlock_t m_sync_lock; /* work item list lock */ |
328 | int m_sync_seq; /* sync thread generation no. */ | 328 | int m_sync_seq; /* sync thread generation no. */ |
329 | wait_queue_head_t m_wait_single_sync_task; | 329 | wait_queue_head_t m_wait_single_sync_task; |
330 | __int64_t m_update_flags; /* sb flags we need to update | ||
331 | on the next remount,rw */ | ||
330 | } xfs_mount_t; | 332 | } xfs_mount_t; |
331 | 333 | ||
332 | /* | 334 | /* |
@@ -514,6 +516,7 @@ extern int xfs_mod_incore_sb_unlocked(xfs_mount_t *, xfs_sb_field_t, | |||
514 | int64_t, int); | 516 | int64_t, int); |
515 | extern int xfs_mod_incore_sb_batch(xfs_mount_t *, xfs_mod_sb_t *, | 517 | extern int xfs_mod_incore_sb_batch(xfs_mount_t *, xfs_mod_sb_t *, |
516 | uint, int); | 518 | uint, int); |
519 | extern int xfs_mount_log_sb(xfs_mount_t *, __int64_t); | ||
517 | extern struct xfs_buf *xfs_getsb(xfs_mount_t *, int); | 520 | extern struct xfs_buf *xfs_getsb(xfs_mount_t *, int); |
518 | extern int xfs_readsb(xfs_mount_t *, int); | 521 | extern int xfs_readsb(xfs_mount_t *, int); |
519 | extern void xfs_freesb(xfs_mount_t *); | 522 | extern void xfs_freesb(xfs_mount_t *); |