|
@@ -643,7 +643,8 @@ again:
|
|
|
|
|
|
if ((got & (CEPH_CAP_FILE_CACHE|CEPH_CAP_FILE_LAZYIO)) == 0 ||
|
|
|
(iocb->ki_filp->f_flags & O_DIRECT) ||
|
|
|
- (inode->i_sb->s_flags & MS_SYNCHRONOUS))
|
|
|
+ (inode->i_sb->s_flags & MS_SYNCHRONOUS) ||
|
|
|
+ (fi->flags & CEPH_F_SYNC))
|
|
|
/* hmm, this isn't really async... */
|
|
|
ret = ceph_sync_read(filp, base, len, ppos, &checkeof);
|
|
|
else
|
|
@@ -720,7 +721,8 @@ retry_snap:
|
|
|
|
|
|
if ((got & (CEPH_CAP_FILE_BUFFER|CEPH_CAP_FILE_LAZYIO)) == 0 ||
|
|
|
(iocb->ki_filp->f_flags & O_DIRECT) ||
|
|
|
- (inode->i_sb->s_flags & MS_SYNCHRONOUS)) {
|
|
|
+ (inode->i_sb->s_flags & MS_SYNCHRONOUS) ||
|
|
|
+ (fi->flags & CEPH_F_SYNC)) {
|
|
|
ret = ceph_sync_write(file, iov->iov_base, iov->iov_len,
|
|
|
&iocb->ki_pos);
|
|
|
} else {
|