From: majianpeng Date: Thu, 27 Jun 2013 07:56:06 +0000 (+0800) Subject: ceph: Don't use ceph-sync-mode for synchronous-fs. X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=7ab9b3807097fcb87b0e85a9ad82b12322d9cc63;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git ceph: Don't use ceph-sync-mode for synchronous-fs. Sending reads and writes through the sync read/write paths bypasses the page cache, which is not expected or generally a good idea. Removing the write check is safe as there is a conditional vfs_fsync_range() later in ceph_aio_write that already checks for the same flag (via IS_SYNC(inode)). Signed-off-by: Jianpeng Ma Reviewed-by: Sage Weil --- diff --git a/fs/ceph/file.c b/fs/ceph/file.c index 7d4e769f1d3d..63ec830b9306 100644 --- a/fs/ceph/file.c +++ b/fs/ceph/file.c @@ -659,7 +659,6 @@ 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) || (fi->flags & CEPH_F_SYNC)) /* hmm, this isn't really async... */ ret = ceph_sync_read(filp, base, len, ppos, &checkeof); @@ -763,7 +762,6 @@ 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) || (fi->flags & CEPH_F_SYNC)) { mutex_unlock(&inode->i_mutex); written = ceph_sync_write(file, iov->iov_base, count,