From patchwork Wed Aug 19 20:35:53 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Weinberger X-Patchwork-Id: 7039271 Return-Path: X-Original-To: patchwork-linux-fsdevel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 7FD079F358 for ; Wed, 19 Aug 2015 20:36:42 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 4888320351 for ; Wed, 19 Aug 2015 20:36:41 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 613DB2080B for ; Wed, 19 Aug 2015 20:36:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752029AbbHSUgE (ORCPT ); Wed, 19 Aug 2015 16:36:04 -0400 Received: from mail.sigma-star.at ([95.130.255.111]:45996 "EHLO mail.sigma-star.at" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751741AbbHSUgD (ORCPT ); Wed, 19 Aug 2015 16:36:03 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.sigma-star.at (Postfix) with ESMTP id A5D4A2CD8009; Wed, 19 Aug 2015 22:35:53 +0200 (CEST) X-Virus-Scanned: amavisd-new at mail.sigma-star.at Received: from localhost.localdomain (chello213047235169.tirol.surfer.at [213.47.235.169]) by mail.sigma-star.at (Postfix) with ESMTPSA id 8E24328D8003; Wed, 19 Aug 2015 22:35:52 +0200 (CEST) From: Richard Weinberger To: linux-mtd@lists.infradead.org Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, Richard Weinberger , Dongsheng Yang , dedekind1@gmail.com Subject: [PATCH 2/2] ubifs: Allow O_DIRECT Date: Wed, 19 Aug 2015 22:35:53 +0200 Message-Id: <1440016553-26481-2-git-send-email-richard@nod.at> X-Mailer: git-send-email 1.8.4.5 In-Reply-To: <1440016553-26481-1-git-send-email-richard@nod.at> References: <1440016553-26481-1-git-send-email-richard@nod.at> Sender: linux-fsdevel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fsdevel@vger.kernel.org X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Currently UBIFS does not support direct IO, but some applications blindly use the O_DIRECT flag. Instead of failing upon open() we can do better and fall back to buffered IO. Cc: Dongsheng Yang Cc: dedekind1@gmail.com Suggested-by: Dave Chinner Signed-off-by: Richard Weinberger --- fs/ubifs/file.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c index a3dfe2a..a61fe86 100644 --- a/fs/ubifs/file.c +++ b/fs/ubifs/file.c @@ -1540,6 +1540,15 @@ static int ubifs_file_mmap(struct file *file, struct vm_area_struct *vma) return 0; } +/* + * For now fall back to buffered IO. + */ +static ssize_t ubifs_direct_IO(struct kiocb *iocb, struct iov_iter *iter, + loff_t offset) +{ + return 0; +} + const struct address_space_operations ubifs_file_address_operations = { .readpage = ubifs_readpage, .writepage = ubifs_writepage, @@ -1548,6 +1557,7 @@ const struct address_space_operations ubifs_file_address_operations = { .invalidatepage = ubifs_invalidatepage, .set_page_dirty = ubifs_set_page_dirty, .releasepage = ubifs_releasepage, + .direct_IO = ubifs_direct_IO, }; const struct inode_operations ubifs_file_inode_operations = {