All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Paris <eparis@redhat.com>
To: Al Viro <viro@ZenIV.linux.org.uk>
Cc: torvalds@linux-foundation.org, linux-kernel@vger.kernel.org
Subject: Re: [GIT PULL] notification: after one week
Date: Mon, 08 Mar 2010 17:45:05 -0500	[thread overview]
Message-ID: <1268088305.3227.14.camel@localhost> (raw)
In-Reply-To: <20100308215748.GO30031@ZenIV.linux.org.uk>

On Mon, 2010-03-08 at 21:57 +0000, Al Viro wrote:
> On Mon, Mar 08, 2010 at 03:55:39PM -0500, Eric Paris wrote:
> > Having you tell me to wait a week after rebasing (and probably being the
> > only person who waited a week after rebasing to ask for a pull) I'm
> > back.  I hoped to hear some review but none came.  If it does, rest
> > assured addressing those issues will be my top priority.  Since the last
> > pull request the only change is that I corrected the build flags to not
> > add -Wsigned-pointer and I actually dropped the permissions bits from
> > this branch (those bits are and have been in linux-next for a long time
> > now as well though)
> 
> Sigh...  I *will* dig the full review out (been buried in autofs review
> lately), but for starters grep for fsnotify() and fsnotify_parent(),
> then tell me why on the earth are you doing that kind of insane multiplexors?
> 
> I mean, WTF?
> ; git grep -n -w fsnotify_parent
> include/linux/fsnotify.h:28:static inline void fsnotify_parent(struct path *path, struct dentry
> include/linux/fsnotify.h:115:   fsnotify_parent(NULL, dentry, mask);
> include/linux/fsnotify.h:176:           fsnotify_parent(path, NULL, mask);
> include/linux/fsnotify.h:194:           fsnotify_parent(path, NULL, mask);
> include/linux/fsnotify.h:212:           fsnotify_parent(path, NULL, mask);
> include/linux/fsnotify.h:231:           fsnotify_parent(path, NULL, mask);
> include/linux/fsnotify.h:247:   fsnotify_parent(NULL, dentry, mask);
> include/linux/fsnotify.h:282:           fsnotify_parent(NULL, dentry, mask);
> ;
> 
> and *ALL* callers get one of those NULL and another non-NULL.  With
> different behaviour inside that sucker.  And fsnotify() is no better -
> it's a multiplexor from hell.

I have more out of tree work which makes fsnotify() (which does look
like it came straight from hell) a bit cleaner.  I will clean both of
those interfaces up (mostly by duplicating the code of each into
multiple functions) and will include that in a later pull request.
Thanks for starting to look and I hope you don't find functional
failings.

Al also told me off list another thing he particularly hates style and
usage wise: FMODE_NONOTIFY and how it is overloaded with O_* in my
dentry_open() calls.  It works, but we will think of a more manageable
solution (possibly completely separating FMODE_* and O_* at a higher
level.  Again on the list of things to work on, but I don't believe you
indicated a show stopper today.....

-Eric

-Eric


      reply	other threads:[~2010-03-08 22:45 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-08 20:55 [GIT PULL] notification: after one week Eric Paris
2010-03-08 21:57 ` Al Viro
2010-03-08 22:45   ` Eric Paris [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1268088305.3227.14.camel@localhost \
    --to=eparis@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=viro@ZenIV.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.