Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp1350957ybx; Thu, 31 Oct 2019 09:18:37 -0700 (PDT) X-Google-Smtp-Source: APXvYqySbgRVxISCGU0us1+GlbWQksyzH+HuP5Tpur43mEiADZN/lPVFP/dVX7X0uw53tl8tBVhP X-Received: by 2002:a50:f382:: with SMTP id g2mr7277084edm.240.1572538717851; Thu, 31 Oct 2019 09:18:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1572538717; cv=none; d=google.com; s=arc-20160816; b=gQmgkhT3LbWKWaLJay0VtmltMC4lrEf2l3PwdNzz6C9+kfXBbjexXsjETQG5Hsuv/+ z9rIgrBLb7BlN/6s3rUfWhg30oS+sPXrcf1xQNM5IFSe4ZJ9SBx82yQ/mJ80mKnjS1oI gG+MYE9fgbR6zxDvzVsKSWDvR8HRXFBEZTun+Z6pddaDY6nsiAbvD0a1hCCHO9cbgf3z LDmHjdqw8BTLEBsiJOO6GfOHn3Ae4tyACr4lWP5gKhLNXUtEGCkal0zUTLVxMtVShniz JGRp1jyPsIADrRKOnhgiObv/rhV6wGFCj8QlH3dpBjOKiZVMV/3yTT9G1Hci+41cZ8E5 Wp2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=gk1vQ8htJs4Mn4UmSfqmih6sOIavoEWbUF+i42lhQ74=; b=xetl9yKC9TnB1Oi8kI9QPnVAOJdpi7mUamkcc+FcLOYopmBWJ07+EtMLGESQb5PxXK ZmR9bPVeI4jzYBChOdTNrhbkt9U17nYmeqRDB+qRpVsbRlVJWzWwxqmMTD77PmPHn0A+ y6SPhFhnnb+peRQ1Ud2WUU9LyKhfh0cssBxz8nrwZZOI+AOBtmvEFNxQynaEVlHjsSy7 UWJB1iaURIi8SOq1YZp90JCw9gTj2kKG5GI6S1w8p38iZiDVk0g9vx9Az/IgiFTpK2Kz KlwMs8BpAgg9owGp/tG/VhxXkUTogVYqjcLYIM9OopZAKObS8o4j5Xr6/AumZuPntsyk Ra1g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-ext4-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b49si3955509eda.312.2019.10.31.09.18.05; Thu, 31 Oct 2019 09:18:37 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-ext4-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-ext4-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728529AbfJaQR7 (ORCPT + 99 others); Thu, 31 Oct 2019 12:17:59 -0400 Received: from mga07.intel.com ([134.134.136.100]:63414 "EHLO mga07.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728486AbfJaQR7 (ORCPT ); Thu, 31 Oct 2019 12:17:59 -0400 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 31 Oct 2019 09:17:58 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,252,1569308400"; d="scan'208";a="351689706" Received: from iweiny-desk2.sc.intel.com ([10.3.52.157]) by orsmga004.jf.intel.com with ESMTP; 31 Oct 2019 09:17:58 -0700 Date: Thu, 31 Oct 2019 09:17:58 -0700 From: Ira Weiny To: Dave Chinner Cc: Boaz Harrosh , linux-kernel@vger.kernel.org, Alexander Viro , "Darrick J. Wong" , Dan Williams , Christoph Hellwig , "Theodore Y. Ts'o" , Jan Kara , linux-ext4@vger.kernel.org, linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org Subject: Re: [PATCH 0/5] Enable per-file/directory DAX operations Message-ID: <20191031161757.GA14771@iweiny-DESK2.sc.intel.com> References: <20191023221332.GE2044@dread.disaster.area> <20191024073446.GA4614@dread.disaster.area> <20191024213508.GB4614@dread.disaster.area> <20191025003603.GE4614@dread.disaster.area> <20191025204926.GA26184@iweiny-DESK2.sc.intel.com> <20191027221039.GL4614@dread.disaster.area> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191027221039.GL4614@dread.disaster.area> User-Agent: Mutt/1.11.1 (2018-12-01) Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org On Mon, Oct 28, 2019 at 09:10:39AM +1100, Dave Chinner wrote: > On Fri, Oct 25, 2019 at 01:49:26PM -0700, Ira Weiny wrote: [snip] > > > Currently this works if I remount the fs or if I use /drop_caches like > > Boaz mentioned. > > drop_caches frees all the dentries that don't have an active > references before it iterates over inodes, thereby dropping the > cached reference(s) to the inode that pins it in memory before it > iterates the inode LRU. > > > Isn't there a way to get xfs to do that on it's own? > > Not reliably. Killing all the dentries doesn't guarantee the inode > will be reclaimed immediately. The ioctl() itself requires an open > file reference to the inode, and there's no telling how many other > references there are to the inode that the filesystem a) can't find, > and b) even if it can find them, it is illegal to release them. > > IOWs, if you are relying on being able to force eviction of inode > from the cache for correct operation of a user controlled flag, then > it's just not going to work. Agree, I see the difficulty of forcing the effective flag to change in this path. However, the only thing I am relying on is that the ioctl will change the physical flag. IOW I am proposing that the semantic be that changing the physical flag does _not_ immediately change the effective flag. With that clarified up front the user can adjust accordingly. After thinking about this more I think there is a strong use case to be able to change the physical flag on a non-zero length file. That use case is to be able to restore files from backups. Therefore, having the effective flag flip at some later time when the a_ops can safely be changed (for example a remount/drop_cache event) is beneficial. I propose the user has no direct control over this event and it is mainly used to restore files from backups which is mainly an admin operation where a remount is a reasonable thing to do. Users direct control of the effective flag is through inheritance. The user needs to create the file in a DAX enable dir and they get effective operation right away. If in the future we can determine a safe way to trigger the a_ops change we can add that to the semantic as an alternative for users. Ira > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com