diff options
author | Junxiao Bi <junxiao.bi@oracle.com> | 2012-06-27 17:09:55 +0800 |
---|---|---|
committer | Joel Becker <jlbec@evilplan.org> | 2012-07-03 23:26:50 -0700 |
commit | 3e5d3c35a68c9a933bdbdd8685bd1a205b57e806 (patch) | |
tree | b84d21201792d9aa31a3bd2ef142d95e739f59d4 /fs/ocfs2/file.c | |
parent | 9e85a6f9dc231f3ed3c1dc1b12217505d970142a (diff) | |
download | linux-3e5d3c35a68c9a933bdbdd8685bd1a205b57e806.tar.gz linux-3e5d3c35a68c9a933bdbdd8685bd1a205b57e806.tar.bz2 linux-3e5d3c35a68c9a933bdbdd8685bd1a205b57e806.zip |
ocfs2: clear unaligned io flag when dio fails
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>
Cc: stable@vger.kernel.org
Signed-off-by: Joel Becker <jlbec@evilplan.org>
Diffstat (limited to 'fs/ocfs2/file.c')
-rw-r--r-- | fs/ocfs2/file.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c index 061591a3ab08..98513c8ed589 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) |