Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 64c86149 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Alex Elder
Browse files

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: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
parent f2bde9b8
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
@@ -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
+2 −2
Original line number Diff line number Diff line
@@ -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)
+0 −3
Original line number Diff line number Diff line
@@ -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);