From patchwork Fri Jun 10 07:15:30 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Dilger X-Patchwork-Id: 99850 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 72DAAB7002 for ; Fri, 10 Jun 2011 17:15:33 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752340Ab1FJHPb (ORCPT ); Fri, 10 Jun 2011 03:15:31 -0400 Received: from idcmail-mo2no.shaw.ca ([64.59.134.9]:60099 "EHLO idcmail-mo2no.shaw.ca" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752106Ab1FJHPb (ORCPT ); Fri, 10 Jun 2011 03:15:31 -0400 Received: from pd6ml3no-ssvc.prod.shaw.ca ([10.0.153.149]) by pd7mo1no-svcs.prod.shaw.ca with ESMTP; 10 Jun 2011 01:15:30 -0600 X-Cloudmark-SP-Filtered: true X-Cloudmark-SP-Result: v=1.1 cv=cUTwMia+6fMZF7bjUHU44PO5dfBASsAn9IQPzcMrg/g= c=1 sm=1 a=KNChVIPlGPEA:10 a=CYDyCxVgLFAA:10 a=BLceEmwcHowA:10 a=c23vf5CSMVc0QQz9B4a6RA==:17 a=ySfo2T4IAAAA:8 a=r5WYWI_i3ku5J3jiRH4A:9 a=9FKJkJD-UecRNgOwPVwA:7 a=axWQYnUQhmgA:10 a=HpAAvcLHHh0Zw7uRqdWCyQ==:117 Received: from unknown (HELO sookie.dilger.int) ([68.147.195.121]) by pd6ml3no-dmz.prod.shaw.ca with ESMTP; 10 Jun 2011 01:15:30 -0600 From: Andreas Dilger To: tytso@mit.edu, linux-ext4@vger.kernel.org Cc: Andreas Dilger Subject: [PATCH] ext2fs: don't use O_DIRECT if not available Date: Fri, 10 Jun 2011 01:15:30 -0600 Message-Id: <1307690130-12227-1-git-send-email-adilger@whamcloud.com> X-Mailer: git-send-email 1.7.3.4 Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org O_DIRECT is not defined on OSX. Since direct IO is only a new optimization and not needed for correct functionality, disable it if O_DIRECT is unavailable. Signed-off-by: Andreas Dilger --- lib/ext2fs/unix_io.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/lib/ext2fs/unix_io.c b/lib/ext2fs/unix_io.c index 6e480b7..dddaf6f 100644 --- a/lib/ext2fs/unix_io.c +++ b/lib/ext2fs/unix_io.c @@ -474,8 +474,10 @@ static errcode_t unix_open(const char *name, int flags, io_channel *channel) open_flags = (flags & IO_FLAG_RW) ? O_RDWR : O_RDONLY; if (flags & IO_FLAG_EXCLUSIVE) open_flags |= O_EXCL; +#ifdef O_DIRECT if (flags & IO_FLAG_DIRECT_IO) open_flags |= O_DIRECT; +#endif data->flags = flags; #ifdef HAVE_OPEN64