Received: by 2002:a25:b794:0:0:0:0:0 with SMTP id n20csp4765753ybh; Tue, 6 Aug 2019 17:51:42 -0700 (PDT) X-Google-Smtp-Source: APXvYqzoNAfDfuO/c6+CzTvarcGyymwWGWlGu6ZmPQC6+58dF2Q4JiZj/iiAOTia/I8G6RC4j3Rn X-Received: by 2002:a17:90a:2343:: with SMTP id f61mr5930257pje.130.1565139102650; Tue, 06 Aug 2019 17:51:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565139102; cv=none; d=google.com; s=arc-20160816; b=K5Dx0enlleXlkn/zN+5sNodMle1bGhBeqR+/vPaC5Wkg8mfppvthycn6Pk2Hio9snI mpLAmar7GlmuaINw/he2r85+3xO5lq12pwczhPazcgYhF8F4O1KBgpNOFt+vjG3/MRy3 NOfiLc0RdePTjRv1S7Zd1o6xw4UuR5r1cenVfUG13B/2p6Ao21BuHgEtM7iBFY/lbpNi DWcN16e+npYZLYD959FZH4/qzyy3G52x8Ezz2gsK4YW/ajolB47P9Gg8k+xpCKiZHuZH XUMHBZ9dQuldd9F6AtbZ4mJHFjgX0cK9yY4ZDVogpQzneHpoUNEo5gjwFkkF8iBmLGUI QLLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=z5+rKbwY4FKqVWmbsGvvdEeOmqTq+9PbufWY+vIRJyY=; b=YAx1J7yTxP83ekathUUP5AFeljxswI5P8c6wA8ntfDDy1ESmKcqt2L/t+jtcXlx6Py hYsAIOaDqnd6RZxmcmbjH9Y1UeVunzPLyG5lBugPiQoPZGvw6vAb9Xj/hVQ0upq80q7s DoAU0ioI/jcfehHAJzJtIMmqGMvjIhLkZ50sGc87+tfB9oN7/Ped7m8spJkpZdbLuy8Z 0ZS5riAkdqS7UgMpXlFnu2T1LktwbI6HpOe2IupIuXAAEYiW6iW5xUEpMF7hPufQlt71 57DLBO0TCmglWwTW9jW9v/5ojFzT19w77rRL63oyLS9JdSqDHlci0vpdlghsh5nqO5in Pt4Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@android.com header.s=20161025 header.b=RFvhDhAz; 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=REJECT sp=REJECT dis=NONE) header.from=android.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g23si33292193pfo.186.2019.08.06.17.51.26; Tue, 06 Aug 2019 17:51:42 -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=@android.com header.s=20161025 header.b=RFvhDhAz; 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=REJECT sp=REJECT dis=NONE) header.from=android.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727554AbfHGAuq (ORCPT + 99 others); Tue, 6 Aug 2019 20:50:46 -0400 Received: from mail-wr1-f65.google.com ([209.85.221.65]:34663 "EHLO mail-wr1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726238AbfHGAuq (ORCPT ); Tue, 6 Aug 2019 20:50:46 -0400 Received: by mail-wr1-f65.google.com with SMTP id 31so89640455wrm.1 for ; Tue, 06 Aug 2019 17:50:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=android.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=z5+rKbwY4FKqVWmbsGvvdEeOmqTq+9PbufWY+vIRJyY=; b=RFvhDhAzsEGmP3R8DL+pcMrzIbrq7k+polU6BnPglD2j6Ds3u6BvfSCwQrHN/oSbUo ZQWbBRIwhTDubauU1tBRlsnHba4NQW5MFP6x+0n71sG6JIBHQJ6CgdFofTEp2E//sVeZ 2NN6sWNnuDOyl6ehYH4jFJ28qsVckaeA4MhqeNCBtmdooWzBz4xpyCmIduZtAplwogqH oibugB4zkY5h7pF5VSgR1yDskxbQF74yap84y6xXHY1Sd1Q7fzyVWEeLuH+v9Q3yXMJV W0auuFW6rZErNPQflCH6ojmh9PLMuBUEvYpGu/yt49vkEevA1XB5Ks+baotLc5FA64Yb ENIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=z5+rKbwY4FKqVWmbsGvvdEeOmqTq+9PbufWY+vIRJyY=; b=hg+xc++Z6oqw8c65vpb9fuKf+N4rGu1x2riFvvGceUg4Pvi44M39GaQVgS0njTx72+ j6B/rIWE/0R/KpFdwLa4Qjm2oeCrVx21ErHkFbMgtR4MpkInSEnPWc8F6JpOznS9gC3b /B2OAZ+iZ9fvFQsgvWBYnNswFXgT3/PA00me6I4egiSuRf7qg9M6pRwGLF8kuOqa8OnW vojN0zFYEi4xLgShqNRov+Bia6sSIe8lekK/sRTgLBv71QBIF3Dh4/ztV+kKif5aimRv 6ut+GXa3V51tKc3xDHYi1GslOD1nnYDYjNEkqQ6nk0gkb37/lmfZff2dOGkS0t/sznMn yDLQ== X-Gm-Message-State: APjAAAVm7TfPlcbkR0qdOQUlbmFb9lJoUcIOb/vF3h9zZIhy4R439cWI Qm35vo5txw3YgV4d+c3gtrvJUg== X-Received: by 2002:adf:e8c8:: with SMTP id k8mr6854010wrn.285.1565139044280; Tue, 06 Aug 2019 17:50:44 -0700 (PDT) Received: from balsini.lon.corp.google.com ([2a00:79e0:d:210:e751:37a0:1e95:e65d]) by smtp.gmail.com with ESMTPSA id h8sm99831846wmf.12.2019.08.06.17.50.43 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 06 Aug 2019 17:50:43 -0700 (PDT) From: Alessio Balsini To: linux-block@vger.kernel.org Cc: linux-kernel@vger.kernel.org, axboe@kernel.dk, dvander@gmail.com, elsk@google.com, gregkh@linuxfoundation.org, joelaf@google.com, kernel-team@android.com Subject: [PATCH v2] loop: Add LOOP_SET_DIRECT_IO to compat ioctl Date: Wed, 7 Aug 2019 01:48:28 +0100 Message-Id: <20190807004828.28059-1-balsini@android.com> X-Mailer: git-send-email 2.23.0.rc1.153.gdeed80330f-goog In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Enabling Direct I/O with loop devices helps reducing memory usage by avoiding double caching. 32 bit applications running on 64 bits systems are currently not able to request direct I/O because is missing from the lo_compat_ioctl. This patch fixes the compatibility issue mentioned above by exporting LOOP_SET_DIRECT_IO as additional lo_compat_ioctl() entry. The input argument for this ioctl is a single long converted to a 1-bit boolean, so compatibility is preserved. Cc: Jens Axboe Signed-off-by: Alessio Balsini --- drivers/block/loop.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/block/loop.c b/drivers/block/loop.c index 44c9985f352ab..2e2193f754ab0 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -1753,6 +1753,7 @@ static int lo_compat_ioctl(struct block_device *bdev, fmode_t mode, case LOOP_SET_FD: case LOOP_CHANGE_FD: case LOOP_SET_BLOCK_SIZE: + case LOOP_SET_DIRECT_IO: err = lo_ioctl(bdev, mode, cmd, arg); break; default: -- 2.23.0.rc1.153.gdeed80330f-goog