From fd00561caa5f4d46674a12c3678b4c18a5d5fd71 Mon Sep 17 00:00:00 2001 From: Markus Trippelsdorf Date: Sun, 24 Jul 2011 14:03:30 +0200 Subject: [PATCH] --- yaml --- r: 258824 b: refs/heads/master c: 340a0a01b9675a16201cc4fc4a210eb5b3bc11ce h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/xfs/linux-2.6/xfs_file.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 8ad7056a5cac..6eaccec0ba6b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e13889bab3c6b5c839075086d28fe05f71984dda +refs/heads/master: 340a0a01b9675a16201cc4fc4a210eb5b3bc11ce diff --git a/trunk/fs/xfs/linux-2.6/xfs_file.c b/trunk/fs/xfs/linux-2.6/xfs_file.c index cca00f49e092..825390e1c138 100644 --- a/trunk/fs/xfs/linux-2.6/xfs_file.c +++ b/trunk/fs/xfs/linux-2.6/xfs_file.c @@ -881,11 +881,14 @@ xfs_file_aio_write( /* Handle various SYNC-type writes */ if ((file->f_flags & O_DSYNC) || IS_SYNC(inode)) { loff_t end = pos + ret - 1; + int error; xfs_rw_iunlock(ip, iolock); - ret = -xfs_file_fsync(file, pos, end, + error = xfs_file_fsync(file, pos, end, (file->f_flags & __O_SYNC) ? 0 : 1); xfs_rw_ilock(ip, iolock); + if (error) + ret = error; } out_unlock: