From: Andrew Clausen <clausen@gnu.org>
To: Steve Pratt <slpratt@us.ibm.com>
Cc: Yury Umanets <umka@namesys.com>,
reiserfs-list <reiserfs-list@namesys.com>
Subject: Re: EVMS Reiser FSIM
Date: Sat, 1 Jun 2002 11:35:10 +1000 [thread overview]
Message-ID: <20020601013509.GA1148@gnu.org> (raw)
In-Reply-To: <OF9CB2A45A.30F7F73A-ON85256BCA.005DD6AD@pok.ibm.com>
On Fri, May 31, 2002 at 12:40:19PM -0500, Steve Pratt wrote:
> I agree that system architecture should be the driving force. That said,
> how I or anyone else codes a particular FSIM does not mean that someone
> else can't write one differently (read still using fork/exec) and get
> around the GPL.
FSF legal advice disagrees. I imagine there would be courts that
rule both ways.
> 1.portable to what?
Vanilla Linux for a start! Or Hurd, Windows, whatever...
> 2. No, not a result of 1. A result of we didn't like the code. (and
> apparently neither did the LVM guys since they re-wrote it as well in
> LVM2).
Fair enough, but if LVM2 was coming, why not use that?
> We did re-use the bulk of MD so it is not that we couldn't have.
Ah, cool :) However, you forked the code in the process. Don't
you want the MD community to maintain it?
> Coupling is not always a bad thing. It allows us to offer greater
> functionality to the user. fisk, lvm and MD all have the ability to
> destroy each others data without knowing it because that are not coupled.
> In EVMS we can prevent these types of interaction problems.
Agreed. But you want to make coupling as weak as possible... and I
think it's possible to have very weak coupling.
> 3. Yes, it is complicated, that is why no one has attempted this before.
Well, libparted is a "first-attempt". (Also, what you were doing
in OS/2).
> As for sharing of code, you obviously haven't looked at any of it. Just
> because an FSIM and a Segment manager have a entry point with a similar
> name, doesn't mean they do the same thing. I challenge you to go into an
> FSIM and find code that is duplicated in any non-FSIM plugin. FSIMs do
> filesystems, other plugins do volumes, not the same thing. Why does parted
> have ped_device_open and ped_file_system_open? Why not 1 API, they both do
> open, must be duplication of code.
ped_device_open() and ped_file_system_open() are different.
One is opening a volume, the other opening a user of volume(s).
However, I think ped_disk_open() (disk means "partition table") and
ped_file_system_open() should be 1 API function. ped_consumer_open(), or
something.
BTW: you wouldn't expect code-inside-an-FSIM to be duplicated in
a non-FSIM plugin. I'm talking about FSIM-infrastructure and plugin
infrastructure code, and high-level code that calls that. (Eg: UIs)
I get a headache looking at it, because you do things like:
int evms_can_shrink(object_handle_t thing) {
...
translate_handle(thing, &object, &type);
...
switch (type) {
case DISK:
case SEGMENT:
case REGION:
case EVMS_OBJECT:
...
case VOLUME:
...
default:
...
}
}
Like, you are sharing a single entry point with lots of different
types of objects... like, why is a volume different to a segment,
but a segment is the same as a disk? Why is there a switch at all?
Why do you need translate_handle()?
> >Well, I think the above are major changes, and useful to make.
> >That said, 'major' doesn't mean time-consuming. It just means
> >lots of change. (But, in my experience, just lots of cut&paste)
>
> Other than having FSIMs use libraries, I'm not sure what changes you are
> refering to.
See above. (And in several other emails)
Cheers,
Andrew
next prev parent reply other threads:[~2002-06-01 1:35 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-05-31 17:40 EVMS Reiser FSIM Steve Pratt
2002-06-01 1:35 ` Andrew Clausen [this message]
-- strict thread matches above, loose matches on Subject: below --
2002-06-04 16:45 Steve Pratt
2002-06-04 15:02 Steve Pratt
2002-06-04 15:10 ` Oleg Drokin
2002-06-03 23:34 Steve Pratt
2002-06-03 21:03 Steve Pratt
2002-06-04 6:09 ` Oleg Drokin
2002-06-03 19:04 Steve Pratt
2002-06-03 19:36 ` Oleg Drokin
2002-05-31 17:03 Steve Pratt
2002-05-31 17:28 ` Oleg Drokin
2002-06-03 16:00 ` Oleg Drokin
2002-05-30 19:02 Steve Pratt
2002-05-31 13:43 ` Andrew Clausen
2002-05-30 17:14 Steve Pratt
2002-05-31 9:26 ` Oleg Drokin
2002-05-29 16:28 Steve Pratt
2002-05-30 7:37 ` Yury Umanets
2002-05-30 9:53 ` Andrew Clausen
2002-05-30 12:56 ` Hans Reiser
2002-05-30 23:50 ` Andrew Clausen
2002-05-29 13:46 Steve Pratt
2002-05-29 14:17 ` Yury Umanets
2002-05-30 5:09 ` Oleg Drokin
2002-05-30 5:32 ` Adrian Phillips
2002-05-30 5:54 ` Oleg Drokin
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=20020601013509.GA1148@gnu.org \
--to=clausen@gnu.org \
--cc=reiserfs-list@namesys.com \
--cc=slpratt@us.ibm.com \
--cc=umka@namesys.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 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.