}
repeat:
- if (sbi->ll_max_rw_chunk != 0) {
+ if (sbi->ll_max_rw_chunk != 0 && !(file->f_flags & O_DIRECT)) {
/* first, let's know the end of the current stripe */
end = *ppos;
obd_extent_calc(sbi->ll_osc_exp, lsm, OBD_CALC_STRIPE_END,&end);
lock_end = OBD_OBJECT_EOF;
iov_copy = (struct iovec *)iov;
nrsegs_copy = nr_segs;
- } else if (sbi->ll_max_rw_chunk != 0) {
+ } else if (sbi->ll_max_rw_chunk != 0 && !(file->f_flags & O_DIRECT)) {
/* first, let's know the end of the current stripe */
end = *ppos;
obd_extent_calc(sbi->ll_osc_exp, lsm, OBD_CALC_STRIPE_END,