|
@@ -270,12 +270,12 @@ xfs_read(
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (unlikely((ioflags & IO_ISDIRECT) && VN_CACHED(vp)))
|
|
|
- bhv_vop_flushinval_pages(vp, ctooff(offtoct(*offset)),
|
|
|
- -1, FI_REMAPF_LOCKED);
|
|
|
-
|
|
|
- if (unlikely(ioflags & IO_ISDIRECT))
|
|
|
+ if (unlikely(ioflags & IO_ISDIRECT)) {
|
|
|
+ if (VN_CACHED(vp))
|
|
|
+ bhv_vop_flushinval_pages(vp, ctooff(offtoct(*offset)),
|
|
|
+ -1, FI_REMAPF_LOCKED);
|
|
|
mutex_unlock(&inode->i_mutex);
|
|
|
+ }
|
|
|
|
|
|
xfs_rw_enter_trace(XFS_READ_ENTER, &ip->i_iocore,
|
|
|
(void *)iovp, segs, *offset, ioflags);
|