|
|
| version 1.514, 2007/02/02 14:37:48 | version 1.515, 2007/02/07 02:49:15 |
|---|---|
| Line 872 xfs_statvfs( | Line 872 xfs_statvfs( |
| * this by simply making sure the log gets flushed | * this by simply making sure the log gets flushed |
| * if SYNC_BDFLUSH is set, and by actually writing it | * if SYNC_BDFLUSH is set, and by actually writing it |
| * out otherwise. | * out otherwise. |
| * SYNC_DIO_WAIT - The caller wants us to wait for all direct I/Os | * SYNC_IOWAIT - The caller wants us to wait for all data I/O to complete |
| * as well to ensure all data I/O completes before we | * before we return (including direct I/O). Forms the drain |
| * return. Forms the drain side of the write barrier needed | * side of the write barrier needed to safely quiesce the |
| * to safely quiesce the filesystem. | * filesystem. |
| * | * |
| */ | */ |
| /*ARGSUSED*/ | /*ARGSUSED*/ |
| Line 1174 xfs_sync_inodes( | Line 1174 xfs_sync_inodes( |
| } | } |
| /* | /* |
| * When freezing, we need to wait ensure direct I/O is complete | * When freezing, we need to wait ensure all I/O (including direct |
| * as well to ensure all data modification is complete here | * I/O) is complete to ensure no further data modification can take |
| * place after this point | |
| */ | */ |
| if (flags & SYNC_DIO_WAIT) | if (flags & SYNC_IOWAIT) |
| vn_iowait(vp); | vn_iowait(vp); |
| if (flags & SYNC_BDFLUSH) { | if (flags & SYNC_BDFLUSH) { |
| Line 1975 xfs_freeze( | Line 1976 xfs_freeze( |
| /* flush inodes and push all remaining buffers out to disk */ | /* flush inodes and push all remaining buffers out to disk */ |
| xfs_quiesce_fs(mp); | xfs_quiesce_fs(mp); |
| BUG_ON(atomic_read(&mp->m_active_trans) > 0); | ASSERT_ALWAYS(atomic_read(&mp->m_active_trans) == 0); |
| /* Push the superblock and write an unmount record */ | /* Push the superblock and write an unmount record */ |
| xfs_log_unmount_write(mp); | xfs_log_unmount_write(mp); |