xfs: remove explicit xfs_sync_data/xfs_sync_attr calls on umount

On the final put of a superblock the VFS already calls sync_filesystem
for us to write out all data and wait for it.  No need to start another
asynchronous writeback inside ->put_super.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
This commit is contained in:
Christoph Hellwig 2010-06-24 11:45:34 +10:00 коммит произвёл Alex Elder
Родитель f2bde9b89b
Коммит 64c8614941
3 изменённых файлов: 2 добавлений и 17 удалений

Просмотреть файл

@ -1146,18 +1146,6 @@ xfs_fs_put_super(
xfs_syncd_stop(mp);
if (!(sb->s_flags & MS_RDONLY)) {
/*
* XXX(hch): this should be SYNC_WAIT.
*
* Or more likely not needed at all because the VFS is already
* calling ->sync_fs after shutting down all filestem
* operations and just before calling ->put_super.
*/
xfs_sync_data(mp, 0);
xfs_sync_attr(mp, 0);
}
/*
* Blow away any referenced inode in the filestreams cache.
* This can and will cause log traffic as inodes go inactive

Просмотреть файл

@ -308,7 +308,7 @@ xfs_sync_inode_attr(
/*
* Write out pagecache data for the whole filesystem.
*/
int
STATIC int
xfs_sync_data(
struct xfs_mount *mp,
int flags)
@ -329,7 +329,7 @@ xfs_sync_data(
/*
* Write out inode metadata (attributes) for the whole filesystem.
*/
int
STATIC int
xfs_sync_attr(
struct xfs_mount *mp,
int flags)

Просмотреть файл

@ -35,9 +35,6 @@ typedef struct xfs_sync_work {
int xfs_syncd_init(struct xfs_mount *mp);
void xfs_syncd_stop(struct xfs_mount *mp);
int xfs_sync_attr(struct xfs_mount *mp, int flags);
int xfs_sync_data(struct xfs_mount *mp, int flags);
int xfs_quiesce_data(struct xfs_mount *mp);
void xfs_quiesce_attr(struct xfs_mount *mp);