From: Christoph Hellwig <hch@infradead.org>
To: Robert S Peterson <rpeterso@redhat.com>
Cc: Christoph Hellwig <hch@infradead.org>,
Anton Altaparmakov <aia21@cam.ac.uk>,
Andrew Morton <akpm@osdl.org>,
fs-devel mailing list <linux-fsdevel@vger.kernel.org>
Subject: Re: [PATCH] loop.c to use write ops for fs requiring special locking
Date: Wed, 29 Mar 2006 10:05:04 +0100 [thread overview]
Message-ID: <20060329090503.GA7940@infradead.org> (raw)
In-Reply-To: <1143561557.10856.92.camel@technetium.msp.redhat.com>
On Tue, Mar 28, 2006 at 09:59:17AM -0600, Robert S Peterson wrote:
> On Tue, 2006-03-28 at 15:40 +0100, Christoph Hellwig wrote:
> > NACK. Adding random flags just makes the kernel unmaintainble. The
>
> Wrong on two accounts: (1) This is NOT a random flag and (2) Adding
> flags in fact can increase the maintainability of the kernel.
> With this new flag, other kernel drivers may now be written that
> better understand the special needs of the underlying filesystem
> and act accordingly.
adding flags adds special cases. in this particular case it adds a special
case to hack around a leaking abstraction. the right thing is to fix that
leaky abstraction as I said in my previous mail. please go ahead and add
a proper abstraction at the file operation level that
gets rid of this leaky abstraction instead of adding a kludge ontop of an
existing one.
> Would you rather have modules like loop.c
> special-case each underlying fs? That's just plain ugly. As in:
>
> if underlying == ext2 { do this }
> else if underlying == vfat { do that }
> else if underlying == reiserfs { do the other }
> etc.
such crap might be acceptable inside redhat, but in kernel land it never
was so this never would be even considered an option.
>
> > right thing is to define a proper highlevel interface that can be
> > implemented properly on all filesystems plus a library helper for
> > normal pagecache-based filesystems using the aops. There's already
> > various in-kernel filesystems that would require additional locking
> > or that aren't pagecache-based at all, please fix them up as part
> > of the patch(-series).
>
> This is way out of the scope of the problem. The problem is that
> loop.c circumvents proper locking by going directly to prepare_write
> rather than following the normal process. If I added some kind of
> library callbacks to allow cluster locking, it would break the
> normal locking sequence of an ordinary write.
no it's not out of scope. we prefer to do things right, and kludging
a nother hack ontop of a historical accident is not right. and given
that you care about getting rid of the old wart we have pretty nice
power to get you to do the right thing or nothing at all.
>
> The normal sequence of an ordinary write typically looks like:
thanks, I'm not stupid, in fact I've writen quite a bit of that code.
please don't try to tell me the obvious things and go and fix the thing.
next prev parent reply other threads:[~2006-03-29 9:05 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-27 21:52 [PATCH] loop.c to use write ops for fs requiring special locking Robert S Peterson
2006-03-28 0:44 ` Andrew Morton
2006-03-28 15:33 ` Robert S Peterson
2006-03-28 19:27 ` Andrew Morton
2006-03-28 14:40 ` Christoph Hellwig
2006-03-28 15:59 ` Robert S Peterson
2006-03-29 9:05 ` Christoph Hellwig [this message]
2006-03-30 0:10 ` Robert S Peterson
2006-03-30 14:15 ` Christoph Hellwig
-- strict thread matches above, loose matches on Subject: below --
2006-03-01 16:48 [patch] " Robert S Peterson
2006-03-01 22:09 ` Andrew Morton
2006-03-02 10:16 ` Anton Altaparmakov
2006-03-10 23:04 ` Robert S Peterson
2006-03-10 23:13 ` Andrew Morton
2006-03-11 0:36 ` Anton Altaparmakov
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=20060329090503.GA7940@infradead.org \
--to=hch@infradead.org \
--cc=aia21@cam.ac.uk \
--cc=akpm@osdl.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=rpeterso@redhat.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).