Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754747AbbDQQjU (ORCPT ); Fri, 17 Apr 2015 12:39:20 -0400 Received: from cantor2.suse.de ([195.135.220.15]:55135 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753681AbbDQQjR (ORCPT ); Fri, 17 Apr 2015 12:39:17 -0400 Date: Fri, 17 Apr 2015 18:39:14 +0200 From: Jan Kara To: Austin S Hemmelgarn Cc: Jan Kara , John Spray , Beata Michalska , linux-kernel@vger.kernel.org, tytso@mit.edu, adilger.kernel@dilger.ca, hughd@google.com, lczerner@redhat.com, hch@infradead.org, linux-ext4@vger.kernel.org, linux-mm@kvack.org, kyungmin.park@samsung.com, kmpark@infradead.org, Linux Filesystem Mailing List , linux-api@vger.kernel.org Subject: Re: [RFC 1/4] fs: Add generic file system event notifications Message-ID: <20150417163914.GA28058@quack.suse.cz> References: <1429082147-4151-1-git-send-email-b.michalska@samsung.com> <1429082147-4151-2-git-send-email-b.michalska@samsung.com> <20150417113110.GD3116@quack.suse.cz> <553104E5.2040704@samsung.com> <55310957.3070101@gmail.com> <55311DE2.9000901@redhat.com> <20150417154351.GA26736@quack.suse.cz> <55312FEA.3030905@redhat.com> <20150417162247.GB27500@quack.suse.cz> <553134D3.9040001@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <553134D3.9040001@gmail.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3098 Lines: 60 On Fri 17-04-15 12:29:07, Austin S Hemmelgarn wrote: > On 2015-04-17 12:22, Jan Kara wrote: > >On Fri 17-04-15 17:08:10, John Spray wrote: > >> > >>On 17/04/2015 16:43, Jan Kara wrote: > >>>On Fri 17-04-15 15:51:14, John Spray wrote: > >>>>On 17/04/2015 14:23, Austin S Hemmelgarn wrote: > >>>> > >>>>>For some filesystems, it may make sense to differentiate between a > >>>>>generic warning and an error. For BTRFS and ZFS for example, if > >>>>>there is a csum error on a block, this will get automatically > >>>>>corrected in many configurations, and won't require anything like > >>>>>fsck to be run, but monitoring applications will still probably > >>>>>want to be notified. > >>>>Another key differentiation IMHO is between transient errors (like > >>>>server is unavailable in a distributed filesystem) that will block > >>>>the filesystem but might clear on their own, vs. permanent errors > >>>>like unreadable drives that definitely will not clear until the > >>>>administrator takes some action. It's usually a reasonable > >>>>approximation to call transient issues warnings, and permanent > >>>>issues errors. > >>> So you can have events like FS_UNAVAILABLE and FS_AVAILABLE but what use > >>>would this have? I wouldn't like the interface to be dumping ground for > >>>random crap - we have dmesg for that :). > >>In that case I'm confused -- why would ENOSPC be an appropriate use > >>of this interface if the mount being entirely blocked would be > >>inappropriate? Isn't being unable to service any I/O a more > >>fundamental and severe thing than being up and healthy but full? > >> > >>Were you intending the interface to be exclusively for data > >>integrity issues like checksum failures, rather than more general > >>events about a mount that userspace would probably like to know > >>about? > > Well, I'm not saying we cannot have those events for fs availability / > >inavailability. I'm just saying I'd like to see some use for that first. > >I don't want events to be added just because it's possible... > > > >For ENOSPC we have thin provisioned storage and the userspace deamon > >shuffling real storage underneath. So there I know the usecase. > > > The use-case that immediately comes to mind for me would be diskless > nodes with root-on-nfs needing to know if they can actually access > the root filesystem. Well, most apps will access the root file system regardless of what we send over netlink... So I don't see netlink events improving the situation there too much. You could try to use it for something like failover but even there I'm not too convinced - just doing some IO, waiting for timeout, and failing over if IO doesn't complete works just fine for that these days. That's why I was asking because I didn't see convincing usecase myself... Honza -- Jan Kara SUSE Labs, CR -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/