diff options
author | Mark Fasheh <mark.fasheh@oracle.com> | 2007-04-16 20:28:51 -0400 |
---|---|---|
committer | Mark Fasheh <mark.fasheh@oracle.com> | 2007-04-26 18:07:45 -0400 |
commit | 7cdfc3a1c3971c9125c317cb8c2525745851798e (patch) | |
tree | ac0103cba9eaf0bc07b2e63893fa4e9637e6934e /fs/ocfs2/file.c | |
parent | 8110b073a9135acf0a71bccfc20c0d1023f179c6 (diff) |
ocfs2: Remember rw lock level during direct io
Cluster locking might have been redone because a direct write won't
complete, so this needs to be reflected in the iocb.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Diffstat (limited to 'fs/ocfs2/file.c')
-rw-r--r-- | fs/ocfs2/file.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c index e34474c04678..520a2a6d7670 100644 --- a/fs/ocfs2/file.c +++ b/fs/ocfs2/file.c | |||
@@ -1542,7 +1542,7 @@ relock: | |||
1542 | pos = *ppos; | 1542 | pos = *ppos; |
1543 | 1543 | ||
1544 | /* communicate with ocfs2_dio_end_io */ | 1544 | /* communicate with ocfs2_dio_end_io */ |
1545 | ocfs2_iocb_set_rw_locked(iocb); | 1545 | ocfs2_iocb_set_rw_locked(iocb, rw_level); |
1546 | 1546 | ||
1547 | if (direct_io) { | 1547 | if (direct_io) { |
1548 | written = generic_file_direct_write(iocb, iov, &nr_segs, *ppos, | 1548 | written = generic_file_direct_write(iocb, iov, &nr_segs, *ppos, |
@@ -1788,7 +1788,7 @@ static ssize_t ocfs2_file_aio_read(struct kiocb *iocb, | |||
1788 | } | 1788 | } |
1789 | rw_level = 0; | 1789 | rw_level = 0; |
1790 | /* communicate with ocfs2_dio_end_io */ | 1790 | /* communicate with ocfs2_dio_end_io */ |
1791 | ocfs2_iocb_set_rw_locked(iocb); | 1791 | ocfs2_iocb_set_rw_locked(iocb, rw_level); |
1792 | } | 1792 | } |
1793 | 1793 | ||
1794 | /* | 1794 | /* |