diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/buffer.c | 2 | ||||
-rw-r--r-- | fs/xfs/xfs_mount.c | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/fs/buffer.c b/fs/buffer.c index fc2d763a8d78..aecd057cd0e0 100644 --- a/fs/buffer.c +++ b/fs/buffer.c | |||
@@ -2946,7 +2946,7 @@ static void buffer_exit_cpu(int cpu) | |||
2946 | static int buffer_cpu_notify(struct notifier_block *self, | 2946 | static int buffer_cpu_notify(struct notifier_block *self, |
2947 | unsigned long action, void *hcpu) | 2947 | unsigned long action, void *hcpu) |
2948 | { | 2948 | { |
2949 | if (action == CPU_DEAD) | 2949 | if (action == CPU_DEAD || action == CPU_DEAD_FROZEN) |
2950 | buffer_exit_cpu((unsigned long)hcpu); | 2950 | buffer_exit_cpu((unsigned long)hcpu); |
2951 | return NOTIFY_OK; | 2951 | return NOTIFY_OK; |
2952 | } | 2952 | } |
diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c index f5aa3ef855fb..a96bde6df96d 100644 --- a/fs/xfs/xfs_mount.c +++ b/fs/xfs/xfs_mount.c | |||
@@ -1734,11 +1734,13 @@ xfs_icsb_cpu_notify( | |||
1734 | per_cpu_ptr(mp->m_sb_cnts, (unsigned long)hcpu); | 1734 | per_cpu_ptr(mp->m_sb_cnts, (unsigned long)hcpu); |
1735 | switch (action) { | 1735 | switch (action) { |
1736 | case CPU_UP_PREPARE: | 1736 | case CPU_UP_PREPARE: |
1737 | case CPU_UP_PREPARE_FROZEN: | ||
1737 | /* Easy Case - initialize the area and locks, and | 1738 | /* Easy Case - initialize the area and locks, and |
1738 | * then rebalance when online does everything else for us. */ | 1739 | * then rebalance when online does everything else for us. */ |
1739 | memset(cntp, 0, sizeof(xfs_icsb_cnts_t)); | 1740 | memset(cntp, 0, sizeof(xfs_icsb_cnts_t)); |
1740 | break; | 1741 | break; |
1741 | case CPU_ONLINE: | 1742 | case CPU_ONLINE: |
1743 | case CPU_ONLINE_FROZEN: | ||
1742 | xfs_icsb_lock(mp); | 1744 | xfs_icsb_lock(mp); |
1743 | xfs_icsb_balance_counter(mp, XFS_SBS_ICOUNT, 0, 0); | 1745 | xfs_icsb_balance_counter(mp, XFS_SBS_ICOUNT, 0, 0); |
1744 | xfs_icsb_balance_counter(mp, XFS_SBS_IFREE, 0, 0); | 1746 | xfs_icsb_balance_counter(mp, XFS_SBS_IFREE, 0, 0); |
@@ -1746,6 +1748,7 @@ xfs_icsb_cpu_notify( | |||
1746 | xfs_icsb_unlock(mp); | 1748 | xfs_icsb_unlock(mp); |
1747 | break; | 1749 | break; |
1748 | case CPU_DEAD: | 1750 | case CPU_DEAD: |
1751 | case CPU_DEAD_FROZEN: | ||
1749 | /* Disable all the counters, then fold the dead cpu's | 1752 | /* Disable all the counters, then fold the dead cpu's |
1750 | * count into the total on the global superblock and | 1753 | * count into the total on the global superblock and |
1751 | * re-enable the counters. */ | 1754 | * re-enable the counters. */ |