summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunxiao Bi <junxiao.bi@oracle.com>2012-06-27 17:09:55 +0800
committerBen Hutchings <ben@decadent.org.uk>2012-07-12 04:32:17 +0100
commit1a5d75eb4a42279e5e652376fc0d0d885876d2b3 (patch)
treed1c640eedc7befcf11f8a7d55945f93a54a342de
parenta606d577a42b8d3333fb604cb93959e421d4bef3 (diff)
ocfs2: clear unaligned io flag when dio fails
commit 3e5d3c35a68c9a933bdbdd8685bd1a205b57e806 upstream. The unaligned io flag is set in the kiocb when an unaligned dio is issued, it should be cleared even when the dio fails, or it may affect the following io which are using the same kiocb. Signed-off-by: Junxiao Bi <junxiao.bi@oracle.com> Signed-off-by: Joel Becker <jlbec@evilplan.org> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-rw-r--r--fs/ocfs2/file.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c
index 6e396683c3d4..07ee5b46d9ed 100644
--- a/fs/ocfs2/file.c
+++ b/fs/ocfs2/file.c
@@ -2422,8 +2422,10 @@ out_dio:
unaligned_dio = 0;
}
- if (unaligned_dio)
+ if (unaligned_dio) {
+ ocfs2_iocb_clear_unaligned_aio(iocb);
atomic_dec(&OCFS2_I(inode)->ip_unaligned_aio);
+ }
out:
if (rw_level != -1)