Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933722AbbDQPn4 (ORCPT ); Fri, 17 Apr 2015 11:43:56 -0400 Received: from cantor2.suse.de ([195.135.220.15]:49933 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933375AbbDQPny (ORCPT ); Fri, 17 Apr 2015 11:43:54 -0400 Date: Fri, 17 Apr 2015 17:43:51 +0200 From: Jan Kara To: John Spray Cc: Austin S Hemmelgarn , Beata Michalska , Jan Kara , 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: <20150417154351.GA26736@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> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <55311DE2.9000901@redhat.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: 2783 Lines: 62 On Fri 17-04-15 15:51:14, John Spray wrote: > On 17/04/2015 14:23, Austin S Hemmelgarn wrote: > >On 2015-04-17 09:04, Beata Michalska wrote: > >>On 04/17/2015 01:31 PM, Jan Kara wrote: > >>>On Wed 15-04-15 09:15:44, Beata Michalska wrote: > >>>... > >>>>+static const match_table_t fs_etypes = { > >>>>+ { FS_EVENT_INFO, "info" }, > >>>>+ { FS_EVENT_WARN, "warn" }, > >>>>+ { FS_EVENT_THRESH, "thr" }, > >>>>+ { FS_EVENT_ERR, "err" }, > >>>>+ { 0, NULL }, > >>>>+}; > >>> Why are there these generic message types? Threshold > >>>messages make good > >>>sense to me. But not so much the rest. If they don't have a > >>>clear meaning, > >>>it will be a mess. So I also agree with a message like - > >>>"filesystem has > >>>trouble, you should probably unmount and run fsck" - that's fine. But > >>>generic "info" or "warning" doesn't really carry any meaning > >>>on its own and > >>>thus seems pretty useless to me. To explain a bit more, AFAIU this > >>>shouldn't be a generic logging interface where something like severity > >>>makes sense but rather a relatively specific interface notifying about > >>>events in filesystem userspace should know about so I expect > >>>relatively low > >>>number of types of events, not tens or even hundreds... > >>> > >>> Honza > >> > >>Getting rid of those would simplify the configuration part, indeed. > >>So we would be left with 'generic' and threshold events. > >>I guess I've overdone this part. > > > >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 :). 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/