xfs: preallocation transactions do not need to be synchronous
authorDave Chinner <dchinner@redhat.com>
Fri, 25 Mar 2011 22:13:08 +0000 (09:13 +1100)
committerDave Chinner <david@fromorbit.com>
Fri, 25 Mar 2011 22:13:08 +0000 (09:13 +1100)
commit8287889742940cf3c416e755322090d09f2829be
tree50d67d48b4375a80b5ed04cc6d4cc88912c270f6
parent0c9ba97318fc9a905bcc1419b6966de061203a70
xfs: preallocation transactions do not need to be synchronous

Preallocation and hole punch transactions are currently synchronous
and this is causing performance problems in some cases. The
transactions don't need to be synchronous as we don't need to
guarantee the preallocation is persistent on disk until a
fdatasync, fsync, sync operation occurs. If the file is opened
O_SYNC or O_DATASYNC, only then should the transaction be issued
synchronously.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Alex Elder <aelder@sgi.com>
fs/xfs/linux-2.6/xfs_file.c
fs/xfs/linux-2.6/xfs_ioctl.c
fs/xfs/xfs_vnodeops.c
fs/xfs/xfs_vnodeops.h