Received: by 2002:ac0:98c7:0:0:0:0:0 with SMTP id g7-v6csp260736imd; Wed, 31 Oct 2018 18:42:22 -0700 (PDT) X-Google-Smtp-Source: AJdET5cenEqkrlVCXTtrRZGi8zV4Azt+YstxVL9GIK+aAKusOJK6uYCUv3oHTCuu987pRwc8UMLE X-Received: by 2002:a17:902:6b46:: with SMTP id g6-v6mr5642154plt.33.1541036542512; Wed, 31 Oct 2018 18:42:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1541036542; cv=none; d=google.com; s=arc-20160816; b=RE9d3NgUj/dlycl3IIG/CGjYL7QQdbLVdxa0gk8owMa44PFY1ONsqwvcKj5xUaAhfv buHw3sYfnWihmMMc3FQinwqkh8JuWk4m3y0gm+XnL/4AHXG3skT6Q9H6nRI/+xaDDfzt tsItelXeFqD1kmnaDvZgaDmvUEgWbhagnEQ8Vli1h4+RTCjDRXYbvQOJIma/PdYC8l2t 0Uirl60XWPs8o5F8eXhUz9d3RoIx2JVrtlQzoHFKUDX0TxpOgKzRKmmIb33/HBMQ9faJ Dsi/mHp2icE3EAw38TK3B0jkoPfjufGmlezh2rGaJUztVVH0QbSHj/gAOyEUhzgFHHmG uHfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=GU1ioPxTyrjVE/jzOFBKkMcDEXxiiSzRJyn0kDmOMoE=; b=idiMcR8vclv/QfRrjVlDeoMfy4ChVtkj9YEj9WyJAJsLkN1GO3spB2Ez/8jVQ1FMP+ Phoxb2UfQMBMeb9GolVA0+kW7hgKvc9yAkauoJWy9ffrxqLU3gdM0RgTaSwPPqjwd1g9 5tQKlwlQS+YAfILEfyo1aTgLJhvwpgvVYXlXfVXVbE3i0YqXy6vmb/bOpehCR6Lrg8pU LBJczRw6uLRSOKlGsLm3Wm/pfWdUbxfHHSvvJiZaUm1LCUi9neNveNx/m1rkiU9v6BFv 6wnBQtgHs7r4RDVGIXLxhUlzrKbJwvKD4IhPul8xcV4oCgUQhD6kNlsaZma0EXDDClHE F3PA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=o2BBJ5zQ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t25-v6si20065546pfm.152.2018.10.31.18.42.05; Wed, 31 Oct 2018 18:42:22 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=o2BBJ5zQ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726852AbeKAKm3 (ORCPT + 99 others); Thu, 1 Nov 2018 06:42:29 -0400 Received: from mail-pf1-f194.google.com ([209.85.210.194]:36839 "EHLO mail-pf1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726070AbeKAKm2 (ORCPT ); Thu, 1 Nov 2018 06:42:28 -0400 Received: by mail-pf1-f194.google.com with SMTP id j22-v6so4688143pfh.3; Wed, 31 Oct 2018 18:41:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=GU1ioPxTyrjVE/jzOFBKkMcDEXxiiSzRJyn0kDmOMoE=; b=o2BBJ5zQgvgOFpWyUaGvaMxm6EprRBnl91Z0VVEud0W6PyKSfnzhJcOM9cAblCM4ZC wn6MTbdw7FP83aB9H5tvQcoFyI4y8+BFpLxD5ssz61cqVIhe/opfo8leY4saxx0o94Dv ClybdUKCEojt4ah3AO4cihsa64oTf7bJclyhDQ0uvxLsPtqRxhQwBzQC0/EA4p10ku4x JbISYxlEZyK/MBiaKloBgdJxxzNCSLAwhmB7SjA7uZZNgnY1m6xw3taly2PsTGf8btDI 8SLyyXB89LzOle64O4k+5MnnKNEyguREOC2OxL3aPrJ5b/A3R9QkrDY/Y91cuki8qq5x z5Ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=GU1ioPxTyrjVE/jzOFBKkMcDEXxiiSzRJyn0kDmOMoE=; b=rSRjTABJ9nH3eASQ1OERANOTbi20m/wepM1zcEHXiMWRaM6icvsp0iGHkuudtc4964 4gHuDCl7aozW14rPcWBXIju2mxCAvzxJfyfVD2EbolAFEE+tq3/iYGwfsBio7aPkqFYb 9RoK0N0qdS/Pz2J5xjbQCzeyv+JYjj+nalgPxHMQ8/V7f4DAM9RwcV0jKg8qmFEA1Jmg M/ZM7Jphtdnk/OC9K1q3HwpdZfqSrGCZi7qxPU8Oku6Xh0KmT+ArF56fs2C51ynSijwa A9rnvrbqj1d6sykWtEyA6G+iUscjdJ0RXhe7nIffkrVvTaZgs9oQZ3fh/VgXA3kBpX8T w34w== X-Gm-Message-State: AGRZ1gI/6lzg9sqqRnRNAYzQR/23P7Us9COpk1rQYTc5NCO2muEwEzHc hPBLs84gQCdDsdxJ89h5wV0IkEXyiDMXjgqPr3rpKA== X-Received: by 2002:a65:6684:: with SMTP id b4mr5375507pgw.55.1541036500738; Wed, 31 Oct 2018 18:41:40 -0700 (PDT) MIME-Version: 1.0 References: <20181031221311.2596-1-longli@linuxonhyperv.com> <20181031221311.2596-3-longli@linuxonhyperv.com> In-Reply-To: <20181031221311.2596-3-longli@linuxonhyperv.com> From: Steve French Date: Wed, 31 Oct 2018 20:41:29 -0500 Message-ID: Subject: Re: [Patch v4 3/3] CIFS: Add direct I/O functions to file_operations To: Long Li Cc: CIFS , samba-technical , LKML Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org made minor cleanup to patch 1 and 2, added Ronnie's reviewed to patch 3, and tentatively merged to cifs-2.6.git for-next On Wed, Oct 31, 2018 at 5:16 PM Long Li wrote: > > From: Long Li > > With direct read/write functions implemented, add them to file_operations. > > Dircet I/O is used under two conditions: > 1. When mounting with "cache=none", CIFS uses direct I/O for all user file > data transfer. > 2. When opening a file with O_DIRECT, CIFS uses direct I/O for all data > transfer on this file. > > Signed-off-by: Long Li > --- > fs/cifs/cifsfs.c | 10 ++++------ > 1 file changed, 4 insertions(+), 6 deletions(-) > > diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c > index 62f1662..f18091b 100644 > --- a/fs/cifs/cifsfs.c > +++ b/fs/cifs/cifsfs.c > @@ -1113,9 +1113,8 @@ const struct file_operations cifs_file_strict_ops = { > }; > > const struct file_operations cifs_file_direct_ops = { > - /* BB reevaluate whether they can be done with directio, no cache */ > - .read_iter = cifs_user_readv, > - .write_iter = cifs_user_writev, > + .read_iter = cifs_direct_readv, > + .write_iter = cifs_direct_writev, > .open = cifs_open, > .release = cifs_close, > .lock = cifs_lock, > @@ -1169,9 +1168,8 @@ const struct file_operations cifs_file_strict_nobrl_ops = { > }; > > const struct file_operations cifs_file_direct_nobrl_ops = { > - /* BB reevaluate whether they can be done with directio, no cache */ > - .read_iter = cifs_user_readv, > - .write_iter = cifs_user_writev, > + .read_iter = cifs_direct_readv, > + .write_iter = cifs_direct_writev, > .open = cifs_open, > .release = cifs_close, > .fsync = cifs_fsync, > -- > 2.7.4 > -- Thanks, Steve