lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090225131118.GE7064@mit.edu>
Date:	Wed, 25 Feb 2009 08:11:18 -0500
From:	Theodore Tso <tytso@....edu>
To:	Felipe Franciosi <ozzy@....ic.ac.uk>
Cc:	Andreas Dilger <adilger@....com>, linux-ext4@...r.kernel.org
Subject: Re: Simple inode question (ext2/3)

On Wed, Feb 25, 2009 at 10:59:22AM +0000, Felipe Franciosi wrote:
>> Because there are lots of questions like this from university
>> students that would rather have the mailing list do their
>> homework for them.
>
> I'm sorry, but quite honestly, I don't think my questions looked like  
> "hey, can someone do this for me?".

Actually, it looks a huge amount like questions I've gotten in the
past, where, after I push the students a little, they admit that they
are taking undegraduate classes and that they were lazy and it really
was for a problem set for some undergraduate introduction to operating
systems class.  About half the time the Really Dumb Approach was
caused by a clueless professor and it was driven by the problem set
question; the other half of the time the Really Dumb Approach is
caused by the students being completely in the weeds.

So out of respect of the pedogagical process, these days *whenever* my
"this might be a bogus problem set" warning light goes on, I always
quiz people asking for progamming assistance.  If you really are a
Ph.D. student, and someday you are teaching undergraduates, hopefully
you would appreciate might care in trying to not help undergraduates
attempting to cheat on problem sets.  (Whether it is students trying
to cheat on a problem set, or developers who lie about their skills
and then try to get work done by asking on the mailing lists --- I
prefer not to help either, thank you very much.)


As far as your approach is concerned, you asked a whole bunch of
questions which were just *off*.  They made no rational sense, and
even if you are practicing, sometimes the wrong kind of practicing can
end up doing far more harm than good.  If you have code that
completely bypasses all of the normal abstraction layers, the danger
is that you might actually try to use it later, or get confused into
thinking that this was a valid thing to do.  It's like practicing to
compose counterpoint where there is a huge numbers of parallel fifths
between the bass and soprano lines.  What you did would be the
equivalent of asking a composer with help with the interior voices,
and the composer notices and raises questions about the parallel
fifths in the outer voices, and observes that helping you would be
doing you a disservice, because you are *practicing* *the* *wrong*
*thing*.

In this particular case, you mentioned that you want to be able to
access and change the inodes.  Well, there is an inode cache, and
bypassing the inode cache while the filesystem is mounted will only
give you possibly out of date information if you are reading, but will
be ***disastrous*** if you plan to (in your worlds) "change specific
inode data".  So this is not a question of doing things in a more
"fashionable" way.  It is a question of doing things the right way or
the data corrupting way.

Finally, please note that I, nor any other kernel developer that you
might try to cozen, am under no obligation to dispense free progamming
advice.  Your attitude seems to be that we all exist to help you out,
and that we are obliged to spend time answering your questions.  If
someone will eventually be contributing to the kernel, and submitting
useful ext4 patches, I'll give that person some beginning pointers.
But most of the time such contributors start by trying to implement
something useful, not just "practice".  If you are just practicing,
and your only interests is to develop your own skills, and get your
own Ph.D., why the heck should I help you?  Personally, I think the
world needs a lot more Ph.D.'s that don't have attitude, so if someone
is going to be an *sshole, the last thing that I would find an
appealing is using some of my precious free time (that would otherwise
be devoted towards making ext4 better) and waste it instead helping
them get that Ph.D., at which point they will probably be even more
offensive to others because they think the "Dr." title makes them
better than everybody else.

The bottom line is that this is a list about ext3/ext4 development.
If someone wants to ask a question, and it doesn't make sense why they
are asking a question, I'm going to ask them why.  In some cases this
is important, because otherwise I might give them a wrong or
misleading answer.  But it's also because if we let every single
person who has a random "I want to learn how to program the kernel"
swamp the list, we'd have no time to work on what the folks on the
community *really* is interested in doing, which is making ext3/ext4
better and more stable filesystems.

	  	      		    	   - Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ