Re: List of things requested by lkml for reiser4 inclusion (to review)

2005-09-09 Thread Hans Reiser
Andrew Morton wrote:

>
>  
>
>>1. pseudo files or "" files
>>
>>
>>
>
>  
>
>>  disabled.  It remains a point of (extraordinary) contention as to
>>whether it can be fixed, we want to keep the code around until we can
>>devote proper resources into proving it can be (or until we fail to prove
>>it can be and remove it).  We don't want to delay the rest of the code for
>>that proof, but we still think it can be done (by several different ways of
>>which we need to select one and make it work.) Let us postpone contention
>>on this until the existence of a patch that cannot crash makes contention
>>purposeful, shall we?
>>
>>
>
>I'd prefer that unused code simply not be present in the tree, sorry.
>  
>
Ok, edward will remove.

>  
>
>>2. dependency on 4k stack turned off
>>
>>   removed as requested
>>
>>
>
>So it all runs OK with 4k stacks now?
>  
>
vs will answer this.

>  
>
>>3. remove conditional variable code, use wait queues instead.
>>
>>not done.  There are times when reduced functionality aids debugging. 
>>kcond is (literally) textbook code.  We don't care enough to fight much for
>>it, but akpm, what is your opinion?  Will remove if akpm asks us to.
>>
>>
>
>kcond is only used in a couple of places.  One looks like it could use
>complete() and the other is a standard wait-for-something-to-do kernel
>thread loop, which we open-code without any fuss in lots of places
>(kjournald, loop, pdflush, etc).  So yes, I'd be inclined to remove kcond
>please.
>  
>
ok, zam will do so.

>Also, it would be better to use the kthread API rather than open-coding
>kernel_thread() calls.  If you think that reiser4 needs additional ways of
>controlling kernel threads then feel free to enhance the kthread API.
>
>  
>
>>6.  remove type safe lists and type safe hash queues.
>>
>>not done, it is not clear that the person asking for this represents a
>>unified consensus of lkml.  Other persons instead asked that it just be
>>moved out of reiser4 code into the generic kernel code, which implies they
>>did not object to it.  There are many who like being type safe.  Akpm, what
>>do you yourself think?
>>
>>
>
>The type-unsafety of existing list_heads gives me conniptions too.  Yes,
>it'd be nice to have a type-safe version available.
>
>That being said, I don't see why such a thing cannot be a wrapper around
>the existing list_head functions.  Yes, there will be some ghastly
>C-templates-via-CPP stuff, best avoided by not looking at the file ;)
>
>We should aim for a complete 1:1 relationship between list_heads and
>type-safe lists.  So people know what they're called, know how they work,
>etc.  We shouldn't go adding things called rx_event_list_pop_back() when
>everyone has learned the existing list API.
>
>Of course, it would have been better to do this work as a completely
>separate kernel feature rather than bundling it with a filesystem.  If this
>isn't a thing your team wants to take on now then yes, I'd be inclined to
>switch reiser4 to list_heads.
>  
>
Ok, Edward, this task is yours.  Edward, how big you make the task is up
to you so long as it is done by Monday.  If you run low on time, get
help with it.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: List of things requested by lkml for reiser4 inclusion (to review)

2005-09-09 Thread Hans Reiser
Christoph Hellwig wrote:

> 6. remove type safe lists and type safe hash queues.
>
>>   not done, it is not clear that the person asking for this represents a 
>> unified consensus of lkml.  Other persons instead asked that it just be 
>> moved out of reiser4 code into the generic kernel code, which implies they 
>> did not object to it.  There are many who like being type safe.  Akpm, what 
>> do you yourself think?
>>
>>
>
>I think quite a few people complained ;-)
>
I remember that you complained.

>  It's huge CPP abuse
>
can you define what that means? and how abuse differs from cleverness? 
This code was not my idea, but it seemed more cleverness than abuse to
me when I read it.

> which we
>generally don't want - at least for the hash case we already had something
>similar (linux/ghash.h and got rid of it).  That beeing said a generic hash
>abstraction without too much CPP abuse might be really useful, but the list
>code should certainly go.
>
>  
>
>>8.  Remove all assertions because they clutter the code and make it hard to 
>>read
>>
>>We think this person was not an experienced security specialist,
>>
>>
>
>please stop attacking people personally all the time. 
>
It is not an attack, fewer than 1% of programmers are security
specialists, and I go on to say that until I was educated by some such
specialists, I would have agreed with him, so I don't think you can view
it as an attack.  I hardly expect most people to hang out with the DoD.

> You're certainly not
>what I'd call an experienced security specialist either, but fortunately that
>doesn't matter for this case at all.
>
>Removing all assertations certainly doesn't make sense, we have them all
>over the tree.  Whether your own assert macros makes sense is a different
>question, but given that you use something similar in reiser3 and lots
>of other drivers have their own things built around BUG() I won't complain
>to loudly.
>
>What should go on the other hand are useless assertation, like one that
>asserts that something is non-NULL just before dereferencing it - the
>latter gives a backtrace just as nice.
>  
>
I'll be happy to accept point of code improvements.

>
>As additional requirements please give people time to actually audit the
>codebase.
>
9 months time given so far

>  I've started but it's quite a pain with all the plugin
>indirections right now.
>  
>
Here I sympathize with you.  If anyone has ideas for how to comment it,
etc., to make it trivial to follow the indirections, I am all ears.   It
annoys me also.

>One major item I found is that you're using your own code for the
>read/write file operations,
>
As I remember, there were things that did not code right using the
generic code, and I told the guys to code it right.  I no longer
remember what those things were, quite honestly, but I remember they
affected performance.  The whole idea of vfs operations is that each
file system gets to do them its own way, and please remember that we
code for more than just use on Linux.

> which not only duplicates core code but
>also lacks features (vectored I/O, AIO, direct I/O) from the common code
>  
>
in time

>and is totally buggy (it has no chance on working on architectures that
>have completely separate address spaces for user/kernel like s390, please
>check how they define PAGE_OFFSET).
>
zam, please look at that on Tuesday.

>  Depending on your requirements you
>might not use the complete generic code, but you should at least use
>the most important fragments, ala XFS or ocfs, and improve them where
>needed.
>  
>
Oh we do try to do that where it does what we need.  However, you should
keep in mind that reiser4 is not made just for Linux.  Our code needs to
be at least moderately self-contained.

>A very annoying small thing that comes to mind is the usage of
>reiser4_internal.  Please remove it, all but exported symbol are
>module-private.
>  
>
Here I mostly agree.   Edward, can you work on a patch to fix it?  Thanks.

>
>  
>
Christoph, thanks kindly for the donation of your time to improving our
work.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: List of things requested by lkml for reiser4 inclusion (to review)

2005-09-09 Thread Hans Reiser
Chris Shoemaker wrote:

>On Fri, Sep 09, 2005 at 10:36:06AM -0700, Hans Reiser wrote:
>  
>
>>If we lose every remaining point of this list, we can generate a patch
>>in a few days, because the VFS work was the only substantive (in coding
>>hours) task, and it is done.  Do I remember right that the submission
>>deadline is a week from Monday for 2.6.14 inclusion?
>>
>>
>
>No.  14 days from release date of 2.6.13, which was 8/29, so deadline
>is 9/12, this coming Monday.
>
>-chris
>
>
>  
>
IIRC, Linus announced that since he was going on vacation for 7 days,
this release only it would be 3 weeks, so it is a week from Monday that
we must submit by, yes? 

Hans
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


List of things requested by lkml for reiser4 inclusion (to review)

2005-09-09 Thread Hans Reiser
We haven't been sending much email out, but we have been working away. 
We just finished the VFS work, and will send a patch out on Monday.  
akpm asked for a bullet list of things suggested on lkml as issues for
inclusion. 

There are some things that I would like akpm to confirm represent the
official opinion/consensus as opposed to just someone posting an opinion
and perhaps not being right.  I assure you that all points made by
commenters were considered carefully, and I thank all of them for their
time.

If we lose every remaining point of this list, we can generate a patch
in a few days, because the VFS work was the only substantive (in coding
hours) task, and it is done.  Do I remember right that the submission
deadline is a week from Monday for 2.6.14 inclusion?

This is supposed to be a bullet list, so I don't list here the line by
line minor code improvements sent to us, most of which were
incorporated, but let me take a moment to thanks those who donated them.

Hans

1. pseudo files or "" files

   disabled.  It remains a point of (extraordinary) contention as to whether it 
can be fixed, we want to keep the code around until we can devote proper 
resources into proving it can be (or until we fail to prove it can be and 
remove it).  We don't want to delay the rest of the code for that proof, but we 
still think it can be done (by several different ways of which we need to 
select one and make it work.)  Let us postpone contention on this until the 
existence of a patch that cannot crash makes contention purposeful, shall we?


2. dependency on 4k stack turned off

   removed as requested

3. remove conditional variable code, use wait queues instead.

   not done.  There are times when reduced functionality aids debugging.  kcond 
is (literally) textbook code.
   We don't care enough to fight much for it, but akpm, what is your opinion?  
Will remove if akpm asks us to.

4. remove reiser4_drop_inode

   done.

5. remove undesired abstraction layer right below reiser4 VFS hooks.

   done.  This was a big job just completed.  

6. remove type safe lists and type safe hash queues.

   not done, it is not clear that the person asking for this represents a 
unified consensus of lkml.  Other persons instead asked that it just be moved 
out of reiser4 code into the generic kernel code, which implies they did not 
object to it.  There are many who like being type safe.  Akpm, what do you 
yourself think?

7. remove fs/reiser4/lib.h:/div64_32.

   is being replaced by the linux one.

8.  Remove all assertions because they clutter the code and make it hard to read

We think this person was not an experienced security specialist, and that 
what we do is considered by professional code auditors to be laudable practice. 
 We can supply an emacs macro that makes them greyed out.  I myself found the 
assertions to be distracting at first (though functional and especially 
necessary for a DARPA funded project), and then after time got used to them, 
and now I understand that it was just my inexperience that caused the 
discomfort.  I now have a more sophisticated subconscious that is not 
discomforted or distracted by them.  People debugging find them very useful.  
Defense branches tear their hair out at how difficult it is to get the 
commercial software they use coded this way, and I think they are right to be 
frustrated.  Linux kernel folks, those DoD guys actually know quite a few 
things about security, maybe its ok that they taught me something and the code 
reflects that?  We will conform on this if requested to by akpm, but somehow I 
doubt he will quite honestly.  akpm?





-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


List of things requested by lkml for reiser4 inclusion (to review)

2005-09-09 Thread Hans Reiser
We haven't been sending much email out, but we have been working away. 
We just finished the VFS work, and will send a patch out on Monday.  
akpm asked for a bullet list of things suggested on lkml as issues for
inclusion. 

There are some things that I would like akpm to confirm represent the
official opinion/consensus as opposed to just someone posting an opinion
and perhaps not being right.  I assure you that all points made by
commenters were considered carefully, and I thank all of them for their
time.

If we lose every remaining point of this list, we can generate a patch
in a few days, because the VFS work was the only substantive (in coding
hours) task, and it is done.  Do I remember right that the submission
deadline is a week from Monday for 2.6.14 inclusion?

This is supposed to be a bullet list, so I don't list here the line by
line minor code improvements sent to us, most of which were
incorporated, but let me take a moment to thanks those who donated them.

Hans

1. pseudo files or  files

   disabled.  It remains a point of (extraordinary) contention as to whether it 
can be fixed, we want to keep the code around until we can devote proper 
resources into proving it can be (or until we fail to prove it can be and 
remove it).  We don't want to delay the rest of the code for that proof, but we 
still think it can be done (by several different ways of which we need to 
select one and make it work.)  Let us postpone contention on this until the 
existence of a patch that cannot crash makes contention purposeful, shall we?


2. dependency on 4k stack turned off

   removed as requested

3. remove conditional variable code, use wait queues instead.

   not done.  There are times when reduced functionality aids debugging.  kcond 
is (literally) textbook code.
   We don't care enough to fight much for it, but akpm, what is your opinion?  
Will remove if akpm asks us to.

4. remove reiser4_drop_inode

   done.

5. remove undesired abstraction layer right below reiser4 VFS hooks.

   done.  This was a big job just completed.  

6. remove type safe lists and type safe hash queues.

   not done, it is not clear that the person asking for this represents a 
unified consensus of lkml.  Other persons instead asked that it just be moved 
out of reiser4 code into the generic kernel code, which implies they did not 
object to it.  There are many who like being type safe.  Akpm, what do you 
yourself think?

7. remove fs/reiser4/lib.h:/div64_32.

   is being replaced by the linux one.

8.  Remove all assertions because they clutter the code and make it hard to read

We think this person was not an experienced security specialist, and that 
what we do is considered by professional code auditors to be laudable practice. 
 We can supply an emacs macro that makes them greyed out.  I myself found the 
assertions to be distracting at first (though functional and especially 
necessary for a DARPA funded project), and then after time got used to them, 
and now I understand that it was just my inexperience that caused the 
discomfort.  I now have a more sophisticated subconscious that is not 
discomforted or distracted by them.  People debugging find them very useful.  
Defense branches tear their hair out at how difficult it is to get the 
commercial software they use coded this way, and I think they are right to be 
frustrated.  Linux kernel folks, those DoD guys actually know quite a few 
things about security, maybe its ok that they taught me something and the code 
reflects that?  We will conform on this if requested to by akpm, but somehow I 
doubt he will quite honestly.  akpm?





-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: List of things requested by lkml for reiser4 inclusion (to review)

2005-09-09 Thread Hans Reiser
Chris Shoemaker wrote:

On Fri, Sep 09, 2005 at 10:36:06AM -0700, Hans Reiser wrote:
  

If we lose every remaining point of this list, we can generate a patch
in a few days, because the VFS work was the only substantive (in coding
hours) task, and it is done.  Do I remember right that the submission
deadline is a week from Monday for 2.6.14 inclusion?



No.  14 days from release date of 2.6.13, which was 8/29, so deadline
is 9/12, this coming Monday.

-chris


  

IIRC, Linus announced that since he was going on vacation for 7 days,
this release only it would be 3 weeks, so it is a week from Monday that
we must submit by, yes? 

Hans
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: List of things requested by lkml for reiser4 inclusion (to review)

2005-09-09 Thread Hans Reiser
Christoph Hellwig wrote:

 6. remove type safe lists and type safe hash queues.

   not done, it is not clear that the person asking for this represents a 
 unified consensus of lkml.  Other persons instead asked that it just be 
 moved out of reiser4 code into the generic kernel code, which implies they 
 did not object to it.  There are many who like being type safe.  Akpm, what 
 do you yourself think?



I think quite a few people complained ;-)

I remember that you complained.

  It's huge CPP abuse

can you define what that means? and how abuse differs from cleverness? 
This code was not my idea, but it seemed more cleverness than abuse to
me when I read it.

 which we
generally don't want - at least for the hash case we already had something
similar (linux/ghash.h and got rid of it).  That beeing said a generic hash
abstraction without too much CPP abuse might be really useful, but the list
code should certainly go.

  

8.  Remove all assertions because they clutter the code and make it hard to 
read

We think this person was not an experienced security specialist,



please stop attacking people personally all the time. 

It is not an attack, fewer than 1% of programmers are security
specialists, and I go on to say that until I was educated by some such
specialists, I would have agreed with him, so I don't think you can view
it as an attack.  I hardly expect most people to hang out with the DoD.

 You're certainly not
what I'd call an experienced security specialist either, but fortunately that
doesn't matter for this case at all.

Removing all assertations certainly doesn't make sense, we have them all
over the tree.  Whether your own assert macros makes sense is a different
question, but given that you use something similar in reiser3 and lots
of other drivers have their own things built around BUG() I won't complain
to loudly.

What should go on the other hand are useless assertation, like one that
asserts that something is non-NULL just before dereferencing it - the
latter gives a backtrace just as nice.
  

I'll be happy to accept point of code improvements.


As additional requirements please give people time to actually audit the
codebase.

9 months time given so far

  I've started but it's quite a pain with all the plugin
indirections right now.
  

Here I sympathize with you.  If anyone has ideas for how to comment it,
etc., to make it trivial to follow the indirections, I am all ears.   It
annoys me also.

One major item I found is that you're using your own code for the
read/write file operations,

As I remember, there were things that did not code right using the
generic code, and I told the guys to code it right.  I no longer
remember what those things were, quite honestly, but I remember they
affected performance.  The whole idea of vfs operations is that each
file system gets to do them its own way, and please remember that we
code for more than just use on Linux.

 which not only duplicates core code but
also lacks features (vectored I/O, AIO, direct I/O) from the common code
  

in time

and is totally buggy (it has no chance on working on architectures that
have completely separate address spaces for user/kernel like s390, please
check how they define PAGE_OFFSET).

zam, please look at that on Tuesday.

  Depending on your requirements you
might not use the complete generic code, but you should at least use
the most important fragments, ala XFS or ocfs, and improve them where
needed.
  

Oh we do try to do that where it does what we need.  However, you should
keep in mind that reiser4 is not made just for Linux.  Our code needs to
be at least moderately self-contained.

A very annoying small thing that comes to mind is the usage of
reiser4_internal.  Please remove it, all but exported symbol are
module-private.
  

Here I mostly agree.   Edward, can you work on a patch to fix it?  Thanks.


  

Christoph, thanks kindly for the donation of your time to improving our
work.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: List of things requested by lkml for reiser4 inclusion (to review)

2005-09-09 Thread Hans Reiser
Andrew Morton wrote:


  

1. pseudo files or  files




  

  disabled.  It remains a point of (extraordinary) contention as to
whether it can be fixed, we want to keep the code around until we can
devote proper resources into proving it can be (or until we fail to prove
it can be and remove it).  We don't want to delay the rest of the code for
that proof, but we still think it can be done (by several different ways of
which we need to select one and make it work.) Let us postpone contention
on this until the existence of a patch that cannot crash makes contention
purposeful, shall we?



I'd prefer that unused code simply not be present in the tree, sorry.
  

Ok, edward will remove.

  

2. dependency on 4k stack turned off

   removed as requested



So it all runs OK with 4k stacks now?
  

vs will answer this.

  

3. remove conditional variable code, use wait queues instead.

not done.  There are times when reduced functionality aids debugging. 
kcond is (literally) textbook code.  We don't care enough to fight much for
it, but akpm, what is your opinion?  Will remove if akpm asks us to.



kcond is only used in a couple of places.  One looks like it could use
complete() and the other is a standard wait-for-something-to-do kernel
thread loop, which we open-code without any fuss in lots of places
(kjournald, loop, pdflush, etc).  So yes, I'd be inclined to remove kcond
please.
  

ok, zam will do so.

Also, it would be better to use the kthread API rather than open-coding
kernel_thread() calls.  If you think that reiser4 needs additional ways of
controlling kernel threads then feel free to enhance the kthread API.

  

6.  remove type safe lists and type safe hash queues.

not done, it is not clear that the person asking for this represents a
unified consensus of lkml.  Other persons instead asked that it just be
moved out of reiser4 code into the generic kernel code, which implies they
did not object to it.  There are many who like being type safe.  Akpm, what
do you yourself think?



The type-unsafety of existing list_heads gives me conniptions too.  Yes,
it'd be nice to have a type-safe version available.

That being said, I don't see why such a thing cannot be a wrapper around
the existing list_head functions.  Yes, there will be some ghastly
C-templates-via-CPP stuff, best avoided by not looking at the file ;)

We should aim for a complete 1:1 relationship between list_heads and
type-safe lists.  So people know what they're called, know how they work,
etc.  We shouldn't go adding things called rx_event_list_pop_back() when
everyone has learned the existing list API.

Of course, it would have been better to do this work as a completely
separate kernel feature rather than bundling it with a filesystem.  If this
isn't a thing your team wants to take on now then yes, I'd be inclined to
switch reiser4 to list_heads.
  

Ok, Edward, this task is yours.  Edward, how big you make the task is up
to you so long as it is done by Monday.  If you run low on time, get
help with it.

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: RFC: i386: kill !4KSTACKS

2005-09-02 Thread Hans Reiser
Adrian Bunk wrote:

>4Kb kernel stacks are the future on i386, and it seems the problems it
>initially caused are now sorted out.
>
>Does anyone knows about any currently unsolved problems?
>
>I'd like to:
>- get a patch into on of the next -mm kernels that unconditionally 
>  enables 4KSTACKS
>- if there won't be new reports of breakages, send a patch to
>  completely remove !4KSTACKS for 2.6.15
>
>In -mm, Reiser4 still has a dependency on !4KSTACKS.
>I've mentioned this at least twice to the Reiser4 people, and they 
>should check why this dependency is still there and if there are still 
>stack issues in Reiser4 fix them.
>
>If not people using Reiser4 on i386 will have to decide whether to 
>switch the filesystem or the architecture...
>
>cu
>Adrian
>
>  
>
Can you wait just one month after we get in for this? Or even 2 weeks.
vs needs a weekend, etc.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: RFC: i386: kill !4KSTACKS

2005-09-02 Thread Hans Reiser
Adrian Bunk wrote:

4Kb kernel stacks are the future on i386, and it seems the problems it
initially caused are now sorted out.

Does anyone knows about any currently unsolved problems?

I'd like to:
- get a patch into on of the next -mm kernels that unconditionally 
  enables 4KSTACKS
- if there won't be new reports of breakages, send a patch to
  completely remove !4KSTACKS for 2.6.15

In -mm, Reiser4 still has a dependency on !4KSTACKS.
I've mentioned this at least twice to the Reiser4 people, and they 
should check why this dependency is still there and if there are still 
stack issues in Reiser4 fix them.

If not people using Reiser4 on i386 will have to decide whether to 
switch the filesystem or the architecture...

cu
Adrian

  

Can you wait just one month after we get in for this? Or even 2 weeks.
vs needs a weekend, etc.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 00/14] GFS

2005-08-02 Thread Hans Reiser
Arjan van de Ven wrote:

>On Tue, 2005-08-02 at 16:57 +0200, Jan Engelhardt wrote:
>  
>
>>>* Why use your own journalling layer and not say ... jbd ?
>>>  
>>>
>>Why does reiser use its own journalling layer and not say ... jbd ?
>>
>>
>
>because reiser got merged before jbd. Next question.
>  
>
That is the wrong reason.  We use our own journaling layer for the
reason that Vivaldi used his own melody.

I don't know anything about GFS, but expecting a filesystem author to
use a journaling layer he does not want to is a bit arrogant.  Now, if
you got into details, and said jbd does X, Y and Z, and GFS does the
same X and Y, and does not do Z as well as jbd, that would be a more
serious comment.  He might want to look at how reiser4 does wandering
logs instead of using jbd. but I would never claim that for sure
some other author should be expected to use it.  and something like
changing one's journaling system is not something to do just before a
merge.

>Now the question for GFS is still a valid one; there might be reasons to
>not use it (which is fair enough) but if there's no real reason then
>using jdb sounds a lot better given it's maturity (and it is used by 2
>filesystems in -mm already).
>
>
>
>-
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to [EMAIL PROTECTED]
>More majordomo info at  http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at  http://www.tux.org/lkml/
>
>
>  
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 00/14] GFS

2005-08-02 Thread Hans Reiser
Arjan van de Ven wrote:

On Tue, 2005-08-02 at 16:57 +0200, Jan Engelhardt wrote:
  

* Why use your own journalling layer and not say ... jbd ?
  

Why does reiser use its own journalling layer and not say ... jbd ?



because reiser got merged before jbd. Next question.
  

That is the wrong reason.  We use our own journaling layer for the
reason that Vivaldi used his own melody.

I don't know anything about GFS, but expecting a filesystem author to
use a journaling layer he does not want to is a bit arrogant.  Now, if
you got into details, and said jbd does X, Y and Z, and GFS does the
same X and Y, and does not do Z as well as jbd, that would be a more
serious comment.  He might want to look at how reiser4 does wandering
logs instead of using jbd. but I would never claim that for sure
some other author should be expected to use it.  and something like
changing one's journaling system is not something to do just before a
merge.

Now the question for GFS is still a valid one; there might be reasons to
not use it (which is fair enough) but if there's no real reason then
using jdb sounds a lot better given it's maturity (and it is used by 2
filesystems in -mm already).



-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


  


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Linux On-Demand Network Access (LODNA)

2005-07-13 Thread Hans Reiser
Peter Staubach wrote:

> Hans Reiser wrote:
>
>> Peter, do you agree with his point that mounting should be something
>> ordinary users can do on mountpoints they have write permission for?
>>
>> Do you agree that a systematic review of user friendliness would help
>> NFS?  Do you think that NFS should look at SFS and consider adopting
>> some of its features?
>>
>
> I think that connecting to required data could be more easily done than
> currently. I don't know about allowing file systems to be mounted without
> some form of control or resource utilization controls however.
>
> I do agree that the entire user experience associated with using and
> trying
> to administrate an NFS network could stand a good, long, hard look.
>
> Traditional tools such as the automounter were nice 15 years ago, but
> have
> not evolved with the world, nor have the rest of the system tools for
> monitoring and managing NFS clients and servers.
>
> I could definitely envision better ways to handle things.  In the past,
> many of the arguments against making things better were security related.
> There has been strong (relative term) security available to NFS
> implementations
> since 1997, but many vendors have not implemented it and many
> customers found
> it difficult to deploy because the underlying tools were very
> difficult to
> deploy.  Many of the vendors are now implementing the security
> framework, but
> more work is required on the underlying security mechanisms, making them
> easier to deploy.
>
> With proper security, usable monitoring and management tools, and
> flexible
> resource controls, then I wouldn't see why NFS mounts should be anything
> special.
>
>Thanx...
>
>   ps
>
>
I would encourage you to look at SFS.  it fixes a lot, making adding
what Vlad asks for reasonable.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Linux On-Demand Network Access (LODNA)

2005-07-13 Thread Hans Reiser
Peter Staubach wrote:

> Vlad C. wrote:
>
>> --- Hans Reiser <[EMAIL PROTECTED]> wrote:
>>  
>>
>>> Please treat at greater length how your proposal
>>> differs from NFS.
>>>   
>>
>>
>> I think NFS is not flexible enough because:
>>
>> 1) NFS requires synchronization of passwd files or
>> NIS/LDAP to authenticate users (which themselves
>> require root access on both server and client to
>> install)
>> 2) NFS by definition understands only its own network
>> protocol.
>> 3) NFS requires root privileges on the client to
>> mount. I'm not aware of a way to let normal users
>> mount an NFS partition other than listing it in the
>> client's fstab and adding the 'users' option... but
>> then changing fstab still requires root access.
>> 4) Users have to contact their sysadmin every time
>> they want to mount a different partition, a different
>> subdirectory of the same partition, or if they want to
>> change the local mountpoint, all because the partition
>> and mountpoint are hard-coded in fstab.
>>
>> On the other hand, I envision the following:
>>
>
> Please keep in mind that these are restrictions of the current NFS
> implementation and are not inherent in an NFS solution.
>
> The implied need for flexibility is being addressed by NFSv4 and the
> ability to understand multiple versions of protocols and multiple
> protocols is already resident in the system.  We could do some work
> to make it more transparent if desired, but it already works.
>
>Thanx...
>
>   ps
>
>
Peter, do you agree with his point that mounting should be something
ordinary users can do on mountpoints they have write permission for?

Do you agree that a systematic review of user friendliness would help
NFS?  Do you think that NFS should look at SFS and consider adopting
some of its features?

Hans
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Linux On-Demand Network Access (LODNA)

2005-07-13 Thread Hans Reiser
Peter Staubach wrote:

 Vlad C. wrote:

 --- Hans Reiser [EMAIL PROTECTED] wrote:
  

 Please treat at greater length how your proposal
 differs from NFS.
   


 I think NFS is not flexible enough because:

 1) NFS requires synchronization of passwd files or
 NIS/LDAP to authenticate users (which themselves
 require root access on both server and client to
 install)
 2) NFS by definition understands only its own network
 protocol.
 3) NFS requires root privileges on the client to
 mount. I'm not aware of a way to let normal users
 mount an NFS partition other than listing it in the
 client's fstab and adding the 'users' option... but
 then changing fstab still requires root access.
 4) Users have to contact their sysadmin every time
 they want to mount a different partition, a different
 subdirectory of the same partition, or if they want to
 change the local mountpoint, all because the partition
 and mountpoint are hard-coded in fstab.

 On the other hand, I envision the following:


 Please keep in mind that these are restrictions of the current NFS
 implementation and are not inherent in an NFS solution.

 The implied need for flexibility is being addressed by NFSv4 and the
 ability to understand multiple versions of protocols and multiple
 protocols is already resident in the system.  We could do some work
 to make it more transparent if desired, but it already works.

Thanx...

   ps


Peter, do you agree with his point that mounting should be something
ordinary users can do on mountpoints they have write permission for?

Do you agree that a systematic review of user friendliness would help
NFS?  Do you think that NFS should look at SFS and consider adopting
some of its features?

Hans
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Linux On-Demand Network Access (LODNA)

2005-07-13 Thread Hans Reiser
Peter Staubach wrote:

 Hans Reiser wrote:

 Peter, do you agree with his point that mounting should be something
 ordinary users can do on mountpoints they have write permission for?

 Do you agree that a systematic review of user friendliness would help
 NFS?  Do you think that NFS should look at SFS and consider adopting
 some of its features?


 I think that connecting to required data could be more easily done than
 currently. I don't know about allowing file systems to be mounted without
 some form of control or resource utilization controls however.

 I do agree that the entire user experience associated with using and
 trying
 to administrate an NFS network could stand a good, long, hard look.

 Traditional tools such as the automounter were nice 15 years ago, but
 have
 not evolved with the world, nor have the rest of the system tools for
 monitoring and managing NFS clients and servers.

 I could definitely envision better ways to handle things.  In the past,
 many of the arguments against making things better were security related.
 There has been strong (relative term) security available to NFS
 implementations
 since 1997, but many vendors have not implemented it and many
 customers found
 it difficult to deploy because the underlying tools were very
 difficult to
 deploy.  Many of the vendors are now implementing the security
 framework, but
 more work is required on the underlying security mechanisms, making them
 easier to deploy.

 With proper security, usable monitoring and management tools, and
 flexible
 resource controls, then I wouldn't see why NFS mounts should be anything
 special.

Thanx...

   ps


I would encourage you to look at SFS.  it fixes a lot, making adding
what Vlad asks for reasonable.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-12 Thread Hans Reiser
Neil Brown wrote:

>On Tuesday July 12, [EMAIL PROTECTED] wrote:
>  
>
>>Neil Brown wrote:
>>
>>
>>
>>>Maybe it is worth repeating Al Viro's suggestion at this point.  I
>>>don't have a reference but the idea was basically that if you open
>>>"/foo" and get filedescriptor N, then
>>>  /proc/self/fds/N-meta
>>>is a directory which contains all the meta stuff for "/foo".
>>>Then it is trivial to get the 'meta' stuff given a filedescriptor and
>>>if you have a pathname, you can always get yourself a filedescriptor.
>>> 
>>>
>>>  
>>>
>>This sound like it might be cute, but filedescriptors are too heavy
>>weight for stat data accesses in quantity.
>>
>>In general, the whole file handle paradigm is too heavy for lightweight
>>files.
>>
>>
>
>That may well be true, but is completely orthogonal to filesystem name
>semantics. 
>
>If you find file descriptors too slow, come up with an alternate (I
>suspect you have in the reiser4 syscall, but I haven't looked at
>that yet), implement it in the VFS, and show the world benchmarks of
>real-world applications that go faster with this new interface.
>
>I doubt that you would then have a great deal of trouble in getting
>the interface accepted (some trouble of course as you will need to
>convince a few people, but numbers speak quite loudly).
>
>I suspect that there might need to be a new internal interface into
>filesystems, and filesystems which don't provide that will not get the
>same speed benefit, but that is perfectly acceptable.
>
>NeilBrown
>
>
>  
>
We need time, and then we can demonstrate sys_reiser4, it is not ready
for showing yet.

Hans
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Linux On-Demand Network Access (LODNA)

2005-07-12 Thread Hans Reiser
You might look into SFS by David Mazieres, some concepts in it are
likely to interest you.

Hans

Vlad C. wrote:

>--- Hans Reiser <[EMAIL PROTECTED]> wrote:
>  
>
>>Please treat at greater length how your proposal
>>differs from NFS.
>>
>>
>
>I think NFS is not flexible enough because:
>
>1) NFS requires synchronization of passwd files or
>NIS/LDAP to authenticate users (which themselves
>require root access on both server and client to
>install)
>2) NFS by definition understands only its own network
>protocol.
>3) NFS requires root privileges on the client to
>mount. I'm not aware of a way to let normal users
>mount an NFS partition other than listing it in the
>client's fstab and adding the 'users' option... but
>then changing fstab still requires root access.
>4) Users have to contact their sysadmin every time
>they want to mount a different partition, a different
>subdirectory of the same partition, or if they want to
>change the local mountpoint, all because the partition
>and mountpoint are hard-coded in fstab.
>
>On the other hand, I envision the following:
>
>1) No authentication layer required other than the
>authentication built into the protocol. All the user
>needs is the DNS/IP address of the server, a username,
>a password, a path on the server, and a local
>directory they own to act as a mountpoint. Note that
>the user's identity on the server is not tied to his
>identity on the client, as it is the case with NFS,
>but rather the user can chose which username to
>"Connect As" when he performs the mount.
>2) Support for multiple network protocols.
>3) No need for root privileges when choosing what to
>mount and where to mount. Some may say this is a
>security risk, but I see it as improved usability.
>After all, DE-level implementations like KDE's fish:/
>don't require root privileges either. Nevertheless, I
>think there should be some sort of switch where the
>sysadmin can allow/deny user mounting on a global or
>per user basis  (rather than a per fstab-line basis).
>
>Reasons 3 and 4 for why NFS is not flexible enough
>could also apply to the current Linux implementation
>of smbfs, which leads me to believe that part of the
>problem lies in the fact that users can't mount
>locations that aren't explicitly listed in fstab. I
>guess a per fstab-line basis of allowing mounts makes
>sense when there are a finite number of devices, but
>it doesn't make much sense when there are an infinite
>number of network addresses. I'm just thinking out
>loud here, but would it be possible to specify ranges
>of addresses and directories using wildcards? Such a
>line in fstab would look like:
>*.myhost.com:/home/* /home/* nfs
>rsize=8192,wsize=8192,timeo=14,users
>
>In this case, users could do:
>mount -t nfs host1.myhost.com:/home/username
>~/remote_home
>
>but they couldn't do:
>mount -t nfs host1.myhost.com:/tmp ~/remote_tmp
>
>After receiving several suggestions, it appears that
>FUSE (http://fuse.sourceforge.net/) and the various
>projects that build on it
>(http://fuse.sourceforge.net/filesystems.html) have
>the potential to do a lot of what I had envisioned
>LODNA doing. Therefore, I realize that there's
>probably no need for yet another VFS framework ;)
>Nevertheless, I think there is room for improvement
>when it comes to giving users more flexibility in
>mounting network locations (as described above).
>
>Thanks,
>Vlad
>
>__
>Do You Yahoo!?
>Tired of spam?  Yahoo! Mail has the best spam protection around 
>http://mail.yahoo.com 
>
>
>  
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-12 Thread Hans Reiser
David Masover wrote:

>
> That's why we're trying to find something that people won't actually
> touch, especially since if we design it right, this will be the last
> delimiter introduced at the fs/vfs level.

Uh, no, there needs to be about a dozen or so more.

But not this year.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: realtime-preempt + reiser4?

2005-07-12 Thread Hans Reiser
Lee Revell wrote:

>On Tue, 2005-07-12 at 15:55 -0400, Keenan Pepper wrote:
>  
>
>>Ingo Molnar's realtime-preempt patches used to be based on the -mm 
>>kernels, but now they appear to be based on the mainline kernels, so 
>>they don't support reiser4 (at least until reiser4 is merged into 
>>mainline, which is looking uncertain as I understand it).
>>
>>
>
>It's not uncertain, the reiser4 people just have to address the issues
>that were raised on LKML before it will be merged, just like everyone
>else.
>  
>
Maybe tomorrow the changes will compile.  they have been written.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Linux On-Demand Network Access (LODNA)

2005-07-12 Thread Hans Reiser
Please treat at greater length how your proposal differs from NFS.

Hans

Vlad C. wrote:

>Recent discussion on ReiserFS 4 has focused on the
>advantages and disadvantages of VFS at the kernel
>level versus the Desktop Environment (DE) level. I
>believe network locations should be administered by
>the kernel in a proposed framework called Linux
>On-Demand Network Access (LODNA), which would achieve
>seamless network integration regardless (or even in
>the absence) of DEs, thus increasing usability.
>
>INTRODUCTION:
>
>When VFS is implemented at the  KDE/GNOME level, we
>end up with the unfortunate situation where only
>applications native to that DE can access its VFS
>files. For example, Mozilla and Firefox (which are
>GTK-based) can't access network locations set up under
>KDE (see
>https://bugzilla.mozilla.org/show_bug.cgi?id=298848).
>Making an application aware of non-native VFS requires
>serious amount of work, not only to use the other DE's
>libraries, but also to embed miniature network clients
>for every protocol the application supports.
>
>The same problem appears in OpenOffice: even though it
>can use the KDE filepicker, whenever  it accesses a
>file on an SSH network location, a message pops up
>saying "Protocol 'fish' is supported only partially.
>Local copy of the file will be created."
>
>If Mozilla/Firefox and OpenOffice, which are some of
>the most popular applications and which have a strong
>developer base, haven't yet been able to achieve
>cross-VFS compatibility, you can be certain that other
>applications are in the same or worse situation.
>
>These two examples show why VFS at the DE level is a
>temporary hack that only hides the need for such
>functionality in the kernel. This hassle can be
>completely avoided if the kernel provides standard I/O
>functions for files in network locations
>(ssh/webdav/ftp/smb/...) because opening and saving
>network files would then become completely transparent
>(i.e. no different from accessing a local file) from
>the application's point of view. 
>
>Having this functionality in the kernel would be a
>huge usability plus: we would solve all these problems
>in one swish, save application developers a lot of
>time, and give users the peace of mind to know that
>they can seamlessly access their network files no
>matter what application they use.
>
>PROPOSAL: Linux On-Demand Network Access (LODNA)
>
>Users would be able to mount network locations under
>directories they own. For example, to create a network
>location on my home computer pointing to my work
>computer (via ssh), I would do:
>mount -t ssh [EMAIL PROTECTED]:~ 
>/home/username/net/remote_computer
>
>>From then on, whenever I change directory to
>/home/username/net/remote_computer, I would be able to
>see the files in my computer at work as if they were
>local - no more need for fancy VPN!
>
>Similarly, I would also be able to do:
>mount -t smbfs [EMAIL PROTECTED]:~ 
>/home/username/net/remote_computer
>mount -t webdav [EMAIL PROTECTED]:~ 
>/home/username/net/remote_computer
>mount -t ftp [EMAIL PROTECTED]:~
>/home/username/net/remote_computer
>
>Advantages of LODNA:
>
>1) Network locations would be fixed in the directory
>tree, rather than float around in a DE abstraction
>like fish:/ .
>2) Remote files would be accessible by all
>applications, even the shell.
>3) LODNA would be independent of Desktop Environments
>(although if present, they could provide GUIs for
>things that could otherwise be done from the command
>line). For example, KDE could use its existing "Add a
>Network Folder" wizard to help users mount network
>locations.
>4) The user could give or deny other local users
>access to his remote locations simply by setting the
>permissions of the mount point (eg. chmod 700
>/home/username/net/remote_computer).
>5) LODNA would help users who want to access files on
>their Local Area Network but who don't know the exact
>name or IP address of the destination computer. Such
>users could use KDE's Konqueror File Manager
>(http://www.konqueror.org/) with the Smb4k
>(http://smb4k.berlios.de/) plugin to discover all the
>samba servers on their LAN. They could then simply
>right-click on a  server/share and select "Mount",
>which would take them to the "Add a Network Folder"
>wizard.
>6) LODNA would combine the transparency of NFS with
>the flexibility of SSH/SMB/WebDav/FTP.
>7) LODNA would allow users to build and manage their
>own VPN client.
>
>CONCLUSION:
>
>Linux On-Demand Network Access (LODNA) is a proposed
>kernel-based method for accessing network locations.
>It would provide transparent, unified network access
>to all applications and pave the way for highly
>intuitive GUIs for managing diverse networks. As a
>built-in, multi-protocol VPN client, LODNA would
>greatly help employees who work from home, and be a
>much needed step towards making Linux viable on the
>desktop.
>
>For now, LODNA is only a concept, but the pieces
>needed to make it happen already exist - they just

Re: reiser4 plugins

2005-07-12 Thread Hans Reiser
Neil Brown wrote:

>
>
>Maybe it is worth repeating Al Viro's suggestion at this point.  I
>don't have a reference but the idea was basically that if you open
>"/foo" and get filedescriptor N, then
>   /proc/self/fds/N-meta
>is a directory which contains all the meta stuff for "/foo".
>Then it is trivial to get the 'meta' stuff given a filedescriptor and
>if you have a pathname, you can always get yourself a filedescriptor.
>  
>
This sound like it might be cute, but filedescriptors are too heavy
weight for stat data accesses in quantity.

In general, the whole file handle paradigm is too heavy for lightweight
files.

Hans
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: realtime-preempt + reiser4?

2005-07-12 Thread Hans Reiser
Lee Revell wrote:

On Tue, 2005-07-12 at 15:55 -0400, Keenan Pepper wrote:
  

Ingo Molnar's realtime-preempt patches used to be based on the -mm 
kernels, but now they appear to be based on the mainline kernels, so 
they don't support reiser4 (at least until reiser4 is merged into 
mainline, which is looking uncertain as I understand it).



It's not uncertain, the reiser4 people just have to address the issues
that were raised on LKML before it will be merged, just like everyone
else.
  

Maybe tomorrow the changes will compile.  they have been written.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-12 Thread Hans Reiser
David Masover wrote:


 That's why we're trying to find something that people won't actually
 touch, especially since if we design it right, this will be the last
 delimiter introduced at the fs/vfs level.

Uh, no, there needs to be about a dozen or so more.

But not this year.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Linux On-Demand Network Access (LODNA)

2005-07-12 Thread Hans Reiser
You might look into SFS by David Mazieres, some concepts in it are
likely to interest you.

Hans

Vlad C. wrote:

--- Hans Reiser [EMAIL PROTECTED] wrote:
  

Please treat at greater length how your proposal
differs from NFS.



I think NFS is not flexible enough because:

1) NFS requires synchronization of passwd files or
NIS/LDAP to authenticate users (which themselves
require root access on both server and client to
install)
2) NFS by definition understands only its own network
protocol.
3) NFS requires root privileges on the client to
mount. I'm not aware of a way to let normal users
mount an NFS partition other than listing it in the
client's fstab and adding the 'users' option... but
then changing fstab still requires root access.
4) Users have to contact their sysadmin every time
they want to mount a different partition, a different
subdirectory of the same partition, or if they want to
change the local mountpoint, all because the partition
and mountpoint are hard-coded in fstab.

On the other hand, I envision the following:

1) No authentication layer required other than the
authentication built into the protocol. All the user
needs is the DNS/IP address of the server, a username,
a password, a path on the server, and a local
directory they own to act as a mountpoint. Note that
the user's identity on the server is not tied to his
identity on the client, as it is the case with NFS,
but rather the user can chose which username to
Connect As when he performs the mount.
2) Support for multiple network protocols.
3) No need for root privileges when choosing what to
mount and where to mount. Some may say this is a
security risk, but I see it as improved usability.
After all, DE-level implementations like KDE's fish:/
don't require root privileges either. Nevertheless, I
think there should be some sort of switch where the
sysadmin can allow/deny user mounting on a global or
per user basis  (rather than a per fstab-line basis).

Reasons 3 and 4 for why NFS is not flexible enough
could also apply to the current Linux implementation
of smbfs, which leads me to believe that part of the
problem lies in the fact that users can't mount
locations that aren't explicitly listed in fstab. I
guess a per fstab-line basis of allowing mounts makes
sense when there are a finite number of devices, but
it doesn't make much sense when there are an infinite
number of network addresses. I'm just thinking out
loud here, but would it be possible to specify ranges
of addresses and directories using wildcards? Such a
line in fstab would look like:
*.myhost.com:/home/* /home/* nfs
rsize=8192,wsize=8192,timeo=14,users

In this case, users could do:
mount -t nfs host1.myhost.com:/home/username
~/remote_home

but they couldn't do:
mount -t nfs host1.myhost.com:/tmp ~/remote_tmp

After receiving several suggestions, it appears that
FUSE (http://fuse.sourceforge.net/) and the various
projects that build on it
(http://fuse.sourceforge.net/filesystems.html) have
the potential to do a lot of what I had envisioned
LODNA doing. Therefore, I realize that there's
probably no need for yet another VFS framework ;)
Nevertheless, I think there is room for improvement
when it comes to giving users more flexibility in
mounting network locations (as described above).

Thanks,
Vlad

__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


  


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-12 Thread Hans Reiser
Neil Brown wrote:

On Tuesday July 12, [EMAIL PROTECTED] wrote:
  

Neil Brown wrote:



Maybe it is worth repeating Al Viro's suggestion at this point.  I
don't have a reference but the idea was basically that if you open
/foo and get filedescriptor N, then
  /proc/self/fds/N-meta
is a directory which contains all the meta stuff for /foo.
Then it is trivial to get the 'meta' stuff given a filedescriptor and
if you have a pathname, you can always get yourself a filedescriptor.
 

  

This sound like it might be cute, but filedescriptors are too heavy
weight for stat data accesses in quantity.

In general, the whole file handle paradigm is too heavy for lightweight
files.



That may well be true, but is completely orthogonal to filesystem name
semantics. 

If you find file descriptors too slow, come up with an alternate (I
suspect you have in the reiser4 syscall, but I haven't looked at
that yet), implement it in the VFS, and show the world benchmarks of
real-world applications that go faster with this new interface.

I doubt that you would then have a great deal of trouble in getting
the interface accepted (some trouble of course as you will need to
convince a few people, but numbers speak quite loudly).

I suspect that there might need to be a new internal interface into
filesystems, and filesystems which don't provide that will not get the
same speed benefit, but that is perfectly acceptable.

NeilBrown


  

We need time, and then we can demonstrate sys_reiser4, it is not ready
for showing yet.

Hans
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-12 Thread Hans Reiser
Neil Brown wrote:



Maybe it is worth repeating Al Viro's suggestion at this point.  I
don't have a reference but the idea was basically that if you open
/foo and get filedescriptor N, then
   /proc/self/fds/N-meta
is a directory which contains all the meta stuff for /foo.
Then it is trivial to get the 'meta' stuff given a filedescriptor and
if you have a pathname, you can always get yourself a filedescriptor.
  

This sound like it might be cute, but filedescriptors are too heavy
weight for stat data accesses in quantity.

In general, the whole file handle paradigm is too heavy for lightweight
files.

Hans
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Linux On-Demand Network Access (LODNA)

2005-07-12 Thread Hans Reiser
Please treat at greater length how your proposal differs from NFS.

Hans

Vlad C. wrote:

Recent discussion on ReiserFS 4 has focused on the
advantages and disadvantages of VFS at the kernel
level versus the Desktop Environment (DE) level. I
believe network locations should be administered by
the kernel in a proposed framework called Linux
On-Demand Network Access (LODNA), which would achieve
seamless network integration regardless (or even in
the absence) of DEs, thus increasing usability.

INTRODUCTION:

When VFS is implemented at the  KDE/GNOME level, we
end up with the unfortunate situation where only
applications native to that DE can access its VFS
files. For example, Mozilla and Firefox (which are
GTK-based) can't access network locations set up under
KDE (see
https://bugzilla.mozilla.org/show_bug.cgi?id=298848).
Making an application aware of non-native VFS requires
serious amount of work, not only to use the other DE's
libraries, but also to embed miniature network clients
for every protocol the application supports.

The same problem appears in OpenOffice: even though it
can use the KDE filepicker, whenever  it accesses a
file on an SSH network location, a message pops up
saying Protocol 'fish' is supported only partially.
Local copy of the file will be created.

If Mozilla/Firefox and OpenOffice, which are some of
the most popular applications and which have a strong
developer base, haven't yet been able to achieve
cross-VFS compatibility, you can be certain that other
applications are in the same or worse situation.

These two examples show why VFS at the DE level is a
temporary hack that only hides the need for such
functionality in the kernel. This hassle can be
completely avoided if the kernel provides standard I/O
functions for files in network locations
(ssh/webdav/ftp/smb/...) because opening and saving
network files would then become completely transparent
(i.e. no different from accessing a local file) from
the application's point of view. 

Having this functionality in the kernel would be a
huge usability plus: we would solve all these problems
in one swish, save application developers a lot of
time, and give users the peace of mind to know that
they can seamlessly access their network files no
matter what application they use.

PROPOSAL: Linux On-Demand Network Access (LODNA)

Users would be able to mount network locations under
directories they own. For example, to create a network
location on my home computer pointing to my work
computer (via ssh), I would do:
mount -t ssh [EMAIL PROTECTED]:~ 
/home/username/net/remote_computer

From then on, whenever I change directory to
/home/username/net/remote_computer, I would be able to
see the files in my computer at work as if they were
local - no more need for fancy VPN!

Similarly, I would also be able to do:
mount -t smbfs [EMAIL PROTECTED]:~ 
/home/username/net/remote_computer
mount -t webdav [EMAIL PROTECTED]:~ 
/home/username/net/remote_computer
mount -t ftp [EMAIL PROTECTED]:~
/home/username/net/remote_computer

Advantages of LODNA:

1) Network locations would be fixed in the directory
tree, rather than float around in a DE abstraction
like fish:/ .
2) Remote files would be accessible by all
applications, even the shell.
3) LODNA would be independent of Desktop Environments
(although if present, they could provide GUIs for
things that could otherwise be done from the command
line). For example, KDE could use its existing Add a
Network Folder wizard to help users mount network
locations.
4) The user could give or deny other local users
access to his remote locations simply by setting the
permissions of the mount point (eg. chmod 700
/home/username/net/remote_computer).
5) LODNA would help users who want to access files on
their Local Area Network but who don't know the exact
name or IP address of the destination computer. Such
users could use KDE's Konqueror File Manager
(http://www.konqueror.org/) with the Smb4k
(http://smb4k.berlios.de/) plugin to discover all the
samba servers on their LAN. They could then simply
right-click on a  server/share and select Mount,
which would take them to the Add a Network Folder
wizard.
6) LODNA would combine the transparency of NFS with
the flexibility of SSH/SMB/WebDav/FTP.
7) LODNA would allow users to build and manage their
own VPN client.

CONCLUSION:

Linux On-Demand Network Access (LODNA) is a proposed
kernel-based method for accessing network locations.
It would provide transparent, unified network access
to all applications and pave the way for highly
intuitive GUIs for managing diverse networks. As a
built-in, multi-protocol VPN client, LODNA would
greatly help employees who work from home, and be a
much needed step towards making Linux viable on the
desktop.

For now, LODNA is only a concept, but the pieces
needed to make it happen already exist - they just
need to be integrated into the kernel, perhaps as a
ReiserFS 4 plugin or by another method. I welcome your
suggestions!

Cheers,
Vlad

Re: reiser4 plugins

2005-07-11 Thread Hans Reiser
Horst von Brand wrote:

>Hans Reiser <[EMAIL PROTECTED]> wrote:
>  
>
>>Stefan Smietanowski wrote:
>>
>>
>>>I think "..." and ".meta" both serve as a logical delimiter. However
>>>some programs implement their own "..." which would make it clash with
>>>them. Naturally if some program created a directory called .meta we're
>>>equally screwed.
>>>  
>>>
>
>  
>
>>I chose '' (four dots) because it clashes with less, not three dots.
>>
>>
>
>Is this some kind of "My dots are more than yours" contest?!
>
>/None/ of them is safe. ".meta", "...", "", ".this.has.five.dots." are
>all perfectly legal file (or directory) names, POSIXly. If any one of them
>won't do, none will.
>  
>
There is a long history of encroaching namespaces by creating new
keywords in CS, and it is a survivable problem.

Clearcase (the version control filesystem) is an excellent example. 
They have special meanings for @ and some other common characters, and
you have to learn how to escape those characters if you use them in
Clearcase.

It works, it makes users happy, in practice it is far less of a problem
than one might think.  I think there were two or three times I had to
remember how to escape things in 2 years of using it.

Better to spend one's mind looking for bugs instead of this issue.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-11 Thread Hans Reiser
Stefan Smietanowski wrote:

>
> I think "..." and ".meta" both serve as a logical delimiter. However
> some programs implement their own "..." which would make it clash with
> them. Naturally if some program created a directory called .meta we're
> equally screwed.

I chose '' (four dots) because it clashes with less, not three dots.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 vs politics: linux misses out again

2005-07-11 Thread Hans Reiser
Jim Crilly wrote:

>
>I thought r3 was journaled from the beginning; the Namesys site credits
>Chris with the addition of a relocated and large journal. And yes, a good
>bit of the patches were from him.
>

Chris and I disagree about QA methodology, but I am deeply in debt to
him for his contributions.  R3 did not have a journal at first, that was
his contribution, and a major part of what made reiserfs useful to real
users.

Hans
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 vs politics: linux misses out again

2005-07-11 Thread Hans Reiser
Horst von Brand wrote:

>
>
>  
>
>>  It's not always
>>nescesary to let the demand create the means. Give programmers
>>some powerful tools and wait and see what wonderful things start
>>to evolve.
>>
>>
>
>The sad truth is that if you give a random collection of people powerful
>tools they misuse them more often than not, creating a huge mess in the
>process. That is why it is so hard to design good tools.
>  
>
We are rope makers.  Our job is to make good rope.  If someone might use
it to hang dissidents, that does not mean we should now make the rope
too inflexible to form a noose.  It is important that we know our
place.  Our place is to help users express themselves the way they want
to.  It is not our job to keep them from hanging dissidents.  If they
hang dissidents, we should not change the way we make rope, we should
shoot them.   Most of our users don't hang dissidents, to the contrary,
they do work of value to society, and need their time saved so that they
can do more of it.

The users of reiser4 know a lot more than I do, and are much wiser than
I am.  Because I focus on a narrow little area, I am able to do
something useful to help them express their greater wisdom more
flexibly.  I take pride in that.

The belief expressed above that powerful tools will be misused more than
well used, and the dislike of power for the users it contains, is why we
will never do more than talk past each other.  Perhaps we should just
agree to disagree.

Hans
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 vs politics: linux misses out again

2005-07-11 Thread Hans Reiser
Horst von Brand wrote:



  

  It's not always
nescesary to let the demand create the means. Give programmers
some powerful tools and wait and see what wonderful things start
to evolve.



The sad truth is that if you give a random collection of people powerful
tools they misuse them more often than not, creating a huge mess in the
process. That is why it is so hard to design good tools.
  

We are rope makers.  Our job is to make good rope.  If someone might use
it to hang dissidents, that does not mean we should now make the rope
too inflexible to form a noose.  It is important that we know our
place.  Our place is to help users express themselves the way they want
to.  It is not our job to keep them from hanging dissidents.  If they
hang dissidents, we should not change the way we make rope, we should
shoot them.   Most of our users don't hang dissidents, to the contrary,
they do work of value to society, and need their time saved so that they
can do more of it.

The users of reiser4 know a lot more than I do, and are much wiser than
I am.  Because I focus on a narrow little area, I am able to do
something useful to help them express their greater wisdom more
flexibly.  I take pride in that.

The belief expressed above that powerful tools will be misused more than
well used, and the dislike of power for the users it contains, is why we
will never do more than talk past each other.  Perhaps we should just
agree to disagree.

Hans
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 vs politics: linux misses out again

2005-07-11 Thread Hans Reiser
Jim Crilly wrote:


I thought r3 was journaled from the beginning; the Namesys site credits
Chris with the addition of a relocated and large journal. And yes, a good
bit of the patches were from him.


Chris and I disagree about QA methodology, but I am deeply in debt to
him for his contributions.  R3 did not have a journal at first, that was
his contribution, and a major part of what made reiserfs useful to real
users.

Hans
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-11 Thread Hans Reiser
Stefan Smietanowski wrote:


 I think ... and .meta both serve as a logical delimiter. However
 some programs implement their own ... which would make it clash with
 them. Naturally if some program created a directory called .meta we're
 equally screwed.

I chose '' (four dots) because it clashes with less, not three dots.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-11 Thread Hans Reiser
Horst von Brand wrote:

Hans Reiser [EMAIL PROTECTED] wrote:
  

Stefan Smietanowski wrote:


I think ... and .meta both serve as a logical delimiter. However
some programs implement their own ... which would make it clash with
them. Naturally if some program created a directory called .meta we're
equally screwed.
  


  

I chose '' (four dots) because it clashes with less, not three dots.



Is this some kind of My dots are more than yours contest?!

/None/ of them is safe. .meta, ..., , .this.has.five.dots. are
all perfectly legal file (or directory) names, POSIXly. If any one of them
won't do, none will.
  

There is a long history of encroaching namespaces by creating new
keywords in CS, and it is a survivable problem.

Clearcase (the version control filesystem) is an excellent example. 
They have special meanings for @ and some other common characters, and
you have to learn how to escape those characters if you use them in
Clearcase.

It works, it makes users happy, in practice it is far less of a problem
than one might think.  I think there were two or three times I had to
remember how to escape things in 2 years of using it.

Better to spend one's mind looking for bugs instead of this issue.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 vs politics: linux misses out again

2005-07-10 Thread Hans Reiser
Ed Tomlinson wrote:

>On Sunday 10 July 2005 01:10, Horst von Brand wrote:
>  
>
>>Ed Cogburn <[EMAIL PROTECTED]> wrote:
>>
>>
>>>David Lang wrote:
>>>  
>>>
On Fri, 8 Jul 2005, Ed Tomlinson wrote:


>No Flame from me.  One thing to remember is that Hans and friends
>_have_ supported R3 for years.
>  
>
>>They let it fall into disrepair when they started work on 4.
>>
>>
>
>This is FUD.  Hans do you have figures on how many fixes for R3 have
>been added in the last year or so?
>  
>
No, but I can tell you that > 2/3 were related to features I thought
should have been put in V4 instead, and were added in violation of my
declared code freeze and without my consent.  Naturally, those bugs were
routed to the authors of those features.

There were maybe 2 bugs in the last 18 months in code not related to
code freeze violations, I don't remember exactly.

There is a simple reason why Namesys no longer spends much time on bug
fixes for V3.  The frozen code is too stable to generate bug reports to
work on, and the unfrozen code is not ours.  If the unfrozen code
stopped being maintained, I'd have to do something.

It seems to me that you should all hope that V4 gets to where Namesys
does not spend much time maintaining it.  It means we have no bug reports.

Stable branches, and development branches, and only bug fixes get added
to the stable branch, it is an old paradigm, and broadly speaking it is
still the right paradigm.

Guys, Horst is trolling.He has never used our code, and yet.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 vs politics: linux misses out again

2005-07-10 Thread Hans Reiser
Ed Tomlinson wrote:

On Sunday 10 July 2005 01:10, Horst von Brand wrote:
  

Ed Cogburn [EMAIL PROTECTED] wrote:


David Lang wrote:
  

On Fri, 8 Jul 2005, Ed Tomlinson wrote:


No Flame from me.  One thing to remember is that Hans and friends
_have_ supported R3 for years.
  

They let it fall into disrepair when they started work on 4.



This is FUD.  Hans do you have figures on how many fixes for R3 have
been added in the last year or so?
  

No, but I can tell you that  2/3 were related to features I thought
should have been put in V4 instead, and were added in violation of my
declared code freeze and without my consent.  Naturally, those bugs were
routed to the authors of those features.

There were maybe 2 bugs in the last 18 months in code not related to
code freeze violations, I don't remember exactly.

There is a simple reason why Namesys no longer spends much time on bug
fixes for V3.  The frozen code is too stable to generate bug reports to
work on, and the unfrozen code is not ours.  If the unfrozen code
stopped being maintained, I'd have to do something.

It seems to me that you should all hope that V4 gets to where Namesys
does not spend much time maintaining it.  It means we have no bug reports.

Stable branches, and development branches, and only bug fixes get added
to the stable branch, it is an old paradigm, and broadly speaking it is
still the right paradigm.

Guys, Horst is trolling.He has never used our code, and yet.

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 vs politics: linux misses out again

2005-07-09 Thread Hans Reiser
David Lang wrote:

>
> remember that Hans is on record (over a year ago) arguing that R3
> should not be fixed becouse R4 was replacing it.

No, I said and say that V3 should not have features added to it, because
features should not be added to a stable branch.  Bug fixes are good.

There are a few V3 bug fixes where the fix is so deep that it belongs in
V4, all of the ones that I can think of at the moment are ones requiring
disk format changes.

Note that in V4, disk format changes are no longer deep fixes because of
plugins.

>
> This type of thing is one of the reasons that you see arguments that
> aren't 'purely code-related' becouse the kernel folks realize that
> _they_ will have to maintain the code over time, Hans and company will
> go on and develop R5 (R10, whatever) and consider R4 obsolete and stop
> maintaining it.

No, we will stop adding features to it at some point, only add bug
fixes, and let it become stable enough for mission critical use.  Of
course, with plugins this becomes more complicated of a policy because
smaller releases with more orthogonal features are easier and more
tempting, and it becomes tempting to version and release plugins rather
than the FS, so I am not sure exactly how this will play out yet.  I
think we will have an option to select experimental plugins individually.

>
> David Lang
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 vs politics: linux misses out again

2005-07-09 Thread Hans Reiser
David Lang wrote:


 remember that Hans is on record (over a year ago) arguing that R3
 should not be fixed becouse R4 was replacing it.

No, I said and say that V3 should not have features added to it, because
features should not be added to a stable branch.  Bug fixes are good.

There are a few V3 bug fixes where the fix is so deep that it belongs in
V4, all of the ones that I can think of at the moment are ones requiring
disk format changes.

Note that in V4, disk format changes are no longer deep fixes because of
plugins.


 This type of thing is one of the reasons that you see arguments that
 aren't 'purely code-related' becouse the kernel folks realize that
 _they_ will have to maintain the code over time, Hans and company will
 go on and develop R5 (R10, whatever) and consider R4 obsolete and stop
 maintaining it.

No, we will stop adding features to it at some point, only add bug
fixes, and let it become stable enough for mission critical use.  Of
course, with plugins this becomes more complicated of a policy because
smaller releases with more orthogonal features are easier and more
tempting, and it becomes tempting to version and release plugins rather
than the FS, so I am not sure exactly how this will play out yet.  I
think we will have an option to select experimental plugins individually.


 David Lang


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-07 Thread Hans Reiser
Jonathan Briggs wrote:

>On Tue, 2005-07-05 at 23:44 -0700, Hans Reiser wrote:
>  
>
>>Hubert Chan wrote:
>>
>>
>>>And a question: is it feasible to store, for each inode, its parent(s),
>>>instead of just the hard link count?
>>> 
>>>
>>>  
>>>
>>Ooh, now that is an interesting old idea I haven't considered in 20
>>years makes fsck more robust too
>>
>>
>
>Hey, sounds like the idea I proposed a couple months ago of storing the
>path names in each file, instead of in directories.  Only better, since
>each path component isn't text but a link instead.
>
>It still has the performance and locking problem of having to update
>every child file when moving a directory tree to a new parent.  On the
>other hand, maybe the benefit is worth the cost.
>  
>
Oh no, don't store the whole path, store just the parent list.  This
will make fsck more robust in the event that the directory gets
clobbered by hardware error.

I don't think it affects the cost of detecting cycles though, I think it
only makes fsck more robust.

Hans
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-07 Thread Hans Reiser
Horst von Brand wrote:

>Hans Reiser <[EMAIL PROTECTED]> wrote:
>
>[...]
>
>  
>
>>I think the exokernel approach by Frans is a very interesting approach. 
>>I wish I had the experience with it necessary to know if it was
>>effective.  I do NOT take the position that name resolution should be in
>>the kernel.  I DO take the position that it should be either in the
>>kernel or out of the kernel, and should constitute one cohesive and
>>coherent body of code.
>>
>>
>
>Right.
>
>  
>
>>If someone talks Linus into trying the exokernel
>>approach,
>>
>>
>
>Are you nuts?! Such radical experiments do /not/ belong in the kernel on
>which millions of machines depend!
>  
>
Your response is a flame, and I will not respond to it.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-07 Thread Hans Reiser
Horst von Brand wrote:

Hans Reiser [EMAIL PROTECTED] wrote:

[...]

  

I think the exokernel approach by Frans is a very interesting approach. 
I wish I had the experience with it necessary to know if it was
effective.  I do NOT take the position that name resolution should be in
the kernel.  I DO take the position that it should be either in the
kernel or out of the kernel, and should constitute one cohesive and
coherent body of code.



Right.

  

If someone talks Linus into trying the exokernel
approach,



Are you nuts?! Such radical experiments do /not/ belong in the kernel on
which millions of machines depend!
  

Your response is a flame, and I will not respond to it.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-07 Thread Hans Reiser
Jonathan Briggs wrote:

On Tue, 2005-07-05 at 23:44 -0700, Hans Reiser wrote:
  

Hubert Chan wrote:


And a question: is it feasible to store, for each inode, its parent(s),
instead of just the hard link count?
 

  

Ooh, now that is an interesting old idea I haven't considered in 20
years makes fsck more robust too



Hey, sounds like the idea I proposed a couple months ago of storing the
path names in each file, instead of in directories.  Only better, since
each path component isn't text but a link instead.

It still has the performance and locking problem of having to update
every child file when moving a directory tree to a new parent.  On the
other hand, maybe the benefit is worth the cost.
  

Oh no, don't store the whole path, store just the parent list.  This
will make fsck more robust in the event that the directory gets
clobbered by hardware error.

I don't think it affects the cost of detecting cycles though, I think it
only makes fsck more robust.

Hans
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-06 Thread Hans Reiser
David Masover wrote:

> And, once we start talking about applications, /meta will be more
> readily supported (as in, some apps will go through a pathname and
> stop when they get to a file, and then there's tar).  On apps which
> don't have direct support for /meta, you'd be navigating to the file
> in question and then manually typing '...' into the dialog, so I don't
> see why typing '...' at the end is better than typing '/meta' or
> '/meta/vfs' at the beginning.

Performance.  If you type it at the end, and you already have done the
lookup of the filename, then you can go from the file to one of its
methods, instead of a complete new traversal of another tree under /meta

>
> That said, I'm still not entirely sure how we get /meta/vfs to work
> other than adding a '...' sort of delimiter anyway.
>
>>> And a question: is it feasible to store, for each inode, its parent(s),
>>> instead of just the hard link count?
>>>
>>>
>>
>> Ooh, now that is an interesting old idea I haven't considered in 20
>> years makes fsck more robust too
>
>
> Doesn't it make directory operations slower, too?

Not sure.  It consumes space though.

>
> And, will it require a format change?
>
Yes, but we have plugins now, so.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-06 Thread Hans Reiser
Nate Diller wrote:

>
>
> as an example, if a program were to store some things it needs access
> to in its executable's attributes, it should have the option of
> keeping a hard reference to something, so that it can't be deleted out
> from underneath.  this enables sane sharing of resources without
> ownership tracking problems (see windows DLL hell for details).  the
> attribute space should be indistinguishable from the rest of the
> namespace, and should be able to link (soft or hard) anywhere in the
> FS.  anything less is too much work for too little reward.
>
You already have a problem with hardlinks not crossing mount points, but
I understand your point.  If we can write code for solving the cycle
problem cleanly, it would be best.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-06 Thread Hans Reiser
David Masover wrote:

> So, will the format change happen at mount time?  Will it need a
> special mount flag?  Will I need to use debugfs or some other offline
> tool?


First we make sure we have the right answer.  Have we solved the cycle
problem?  Can we run out of memory as Horst/Nikita suggest?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-06 Thread Hans Reiser
Martin Waitz wrote:

>hoi :)
>
>On Tue, Jul 05, 2005 at 04:32:00PM -0600, Jonathan Briggs wrote:
>  
>
>>You could do filesystems in userspace too and just use the kernel's
>>block layer.
>>
>>
>
>but you can't do that in an library, you have to use a filesystem
>server in order to get access control.
>But you can build a library that handles uniform access to
>files and directories.
>
>Don't get me wrong, I'm all for a uniform interface for files and
>metadata, but I don't think that it has to be in the kernel.
>Gnome and KDE already have their own userspace VFS, something
>like that should be used.
>
>One has to distinguish between the low-level filesystem and
>the storage system which is presented to the user.
>
>  
>
Yes, but to do what you advocate properly, the existing semantics
currently in the kernel should be moved out of it into user space.

I think the exokernel approach by Frans is a very interesting approach. 
I wish I had the experience with it necessary to know if it was
effective.  I do NOT take the position that name resolution should be in
the kernel.  I DO take the position that it should be either in the
kernel or out of the kernel, and should constitute one cohesive and
coherent body of code.  If someone talks Linus into trying the exokernel
approach, I will be happy to educate myself to where I have an opinion
on whether that works.  It is easy to see powerful advantages to the
exokernel approach: I wish I understood the security model for it, and I
wish I was sure that name resolution would not require too many context
switches as one fetches each storage component required by a name
resolution.

Masover's words about HURD earlier in this thread were very well said. 
Context switching is expensive, and I find it easier to be sure my code
will both perform well and be cohesive if it is all done in the kernel
by one body of code.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-06 Thread Hans Reiser
Hubert Chan wrote:

>On Tue, 05 Jul 2005 20:50:08 -0400 EDT, "Alexander G. M. Smith" <[EMAIL 
>PROTECTED]> said:
>
>  
>
>>That sounds equivalent to no hard links (other than the usual parent
>>directory one).  If there's any directory with two links to it, then
>>there will be a cycle somewhere!
>>
>>
>
>What we want is no directed cycles.  That is A is the parent of B is the
>parent of C is the parent of A.  We don't care about A is the parent of
>B is the parent of C; A is the parent of B is the parent of C.
>
>OK, here's a random idea that just popped into my head, and to which
>I've given little thought (read: none whatsoever), and may be the
>stupidest idea ever proposed on LKML, but thought I would just toss it
>out to see if it could stimulate someone to come up with something
>better (read: sane):  Conceptually, foo/ is just a symlink to
>/meta/[filesystem]/[inode of foo].
>  
>
Except that we want the metafiles to go away when the base file goes away.

>And a question: is it feasible to store, for each inode, its parent(s),
>instead of just the hard link count?
>  
>
Ooh, now that is an interesting old idea I haven't considered in 20
years makes fsck more robust too

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-06 Thread Hans Reiser
Hubert Chan wrote:

On Tue, 05 Jul 2005 20:50:08 -0400 EDT, Alexander G. M. Smith [EMAIL 
PROTECTED] said:

  

That sounds equivalent to no hard links (other than the usual parent
directory one).  If there's any directory with two links to it, then
there will be a cycle somewhere!



What we want is no directed cycles.  That is A is the parent of B is the
parent of C is the parent of A.  We don't care about A is the parent of
B is the parent of C; A is the parent of B is the parent of C.

OK, here's a random idea that just popped into my head, and to which
I've given little thought (read: none whatsoever), and may be the
stupidest idea ever proposed on LKML, but thought I would just toss it
out to see if it could stimulate someone to come up with something
better (read: sane):  Conceptually, foo/ is just a symlink to
/meta/[filesystem]/[inode of foo].
  

Except that we want the metafiles to go away when the base file goes away.

And a question: is it feasible to store, for each inode, its parent(s),
instead of just the hard link count?
  

Ooh, now that is an interesting old idea I haven't considered in 20
years makes fsck more robust too

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-06 Thread Hans Reiser
Martin Waitz wrote:

hoi :)

On Tue, Jul 05, 2005 at 04:32:00PM -0600, Jonathan Briggs wrote:
  

You could do filesystems in userspace too and just use the kernel's
block layer.



but you can't do that in an library, you have to use a filesystem
server in order to get access control.
But you can build a library that handles uniform access to
files and directories.

Don't get me wrong, I'm all for a uniform interface for files and
metadata, but I don't think that it has to be in the kernel.
Gnome and KDE already have their own userspace VFS, something
like that should be used.

One has to distinguish between the low-level filesystem and
the storage system which is presented to the user.

  

Yes, but to do what you advocate properly, the existing semantics
currently in the kernel should be moved out of it into user space.

I think the exokernel approach by Frans is a very interesting approach. 
I wish I had the experience with it necessary to know if it was
effective.  I do NOT take the position that name resolution should be in
the kernel.  I DO take the position that it should be either in the
kernel or out of the kernel, and should constitute one cohesive and
coherent body of code.  If someone talks Linus into trying the exokernel
approach, I will be happy to educate myself to where I have an opinion
on whether that works.  It is easy to see powerful advantages to the
exokernel approach: I wish I understood the security model for it, and I
wish I was sure that name resolution would not require too many context
switches as one fetches each storage component required by a name
resolution.

Masover's words about HURD earlier in this thread were very well said. 
Context switching is expensive, and I find it easier to be sure my code
will both perform well and be cohesive if it is all done in the kernel
by one body of code.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-06 Thread Hans Reiser
David Masover wrote:

 So, will the format change happen at mount time?  Will it need a
 special mount flag?  Will I need to use debugfs or some other offline
 tool?


First we make sure we have the right answer.  Have we solved the cycle
problem?  Can we run out of memory as Horst/Nikita suggest?

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-06 Thread Hans Reiser
Nate Diller wrote:



 as an example, if a program were to store some things it needs access
 to in its executable's attributes, it should have the option of
 keeping a hard reference to something, so that it can't be deleted out
 from underneath.  this enables sane sharing of resources without
 ownership tracking problems (see windows DLL hell for details).  the
 attribute space should be indistinguishable from the rest of the
 namespace, and should be able to link (soft or hard) anywhere in the
 FS.  anything less is too much work for too little reward.

You already have a problem with hardlinks not crossing mount points, but
I understand your point.  If we can write code for solving the cycle
problem cleanly, it would be best.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-06 Thread Hans Reiser
David Masover wrote:

 And, once we start talking about applications, /meta will be more
 readily supported (as in, some apps will go through a pathname and
 stop when they get to a file, and then there's tar).  On apps which
 don't have direct support for /meta, you'd be navigating to the file
 in question and then manually typing '...' into the dialog, so I don't
 see why typing '...' at the end is better than typing '/meta' or
 '/meta/vfs' at the beginning.

Performance.  If you type it at the end, and you already have done the
lookup of the filename, then you can go from the file to one of its
methods, instead of a complete new traversal of another tree under /meta


 That said, I'm still not entirely sure how we get /meta/vfs to work
 other than adding a '...' sort of delimiter anyway.

 And a question: is it feasible to store, for each inode, its parent(s),
 instead of just the hard link count?



 Ooh, now that is an interesting old idea I haven't considered in 20
 years makes fsck more robust too


 Doesn't it make directory operations slower, too?

Not sure.  It consumes space though.


 And, will it require a format change?

Yes, but we have plugins now, so.

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-05 Thread Hans Reiser
Jeremy Maitin-Shepard wrote:

>Okay, so you are suggesting that file-as-dir would provide the user
>interface for enabling the encryption or compression.  Alternatively,
>though, an ioctl could be used to control compression and encryption.
>
>  
>
Why is it that /proc does not use an ioctl?  Use of metafiles could
allow eliminating ioctl(), which most folks I know hate as an
interface.  Wouldn't it be cleaner if we could find out what ioctl()s
are supported by a given file using ls filename//ioctl?

Excerpt from the ioctl man page, which lacks a list of what features are
implemented or how to find out.

CONFORMING TO
   No single standard.  Arguments, returns, and semantics of
ioctl(2) vary
   according to the device driver in question  (the  call  is  used 
as  a
   catch-all  for  operations  that  don't cleanly fit the Unix
stream I/O
   model). See ioctl_list(2) for a list of many of the known ioctl 
calls.
   The ioctl function call appeared in Version 7 AT Unix.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-05 Thread Hans Reiser
I got it slightly wrong.

One can have hardlinks to a directory without cycles provided that one
does not have hardlinks from the children of that directory to any file
not a child of that directory.  (Mountpoints currently implement that
restriction.)

Question: can one implement that lesser restriction above with elegant
code?  Is the greater restriction below easier to code?  (If no to the
first and yes to the second is correct, then I can accept the greater
restriction described below.)

One can have hardlinks to directories
without cycles provided that one does not allow any child of the
directory to have a hardlink.

Hans

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-05 Thread Hans Reiser
David Masover wrote:

>Now, can anyone think of a situation where we want user-created
>hardlinks inside metadata?  More importantly, what do we do about it?
>  
>
I think the equivalent of symlinks would be good enough to get by on for
now for most linking of metafiles.  Maybe some years from now somebody
can fault me for saying this and write a patch to fix it to be better,
at which point I will be happy to concede the point.

So the basic principal here is, one can have hardlinks to directories
without cycles provided that one does not allow any child of the
directory to have a hardlink.  The question is, how cleanly can that
relaxed restriction be coded?

Hans
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-05 Thread Hans Reiser
David Masover wrote:

>Hans Reiser wrote:
>  
>
>>Hubert Chan wrote:
>>
>>
>>
>>
>>>On Fri, 01 Jul 2005 03:06:19 -0500, David Masover <[EMAIL PROTECTED]> said:
>>>
>>>
>>>
>>>
>>>  
>>>
>>>>Hubert Chan wrote:
>>>>  
>>>>
>>>>
>>>>
>>>
>>>
>>>  
>>>
>>>>>The main thing blocking file-as-dir is that there are some
>>>>>locking(IIRC?) issues.  And, of course, some people wouldn't want it
>>>>>to be merged into the mainline kernel.  (Of course, the latter
>>>>>doesn't prevent Namesys from maintaining their own patches for people
>>>>>to play around with.)
>>>>>
>>>>>
>>>>>  
>>>>>
>>>
>>>
>>>  
>>>
>>>>What's the locking issue?  I think that was more about transactions...
>>>>  
>>>>
>>>>
>>>>
>>>It was whatever was Al Viro's (technical) complaint about file-as-dir.
>>>I don't remember exactly what it was.  The technical people know what it
>>>is (and the Namesys guys are probably working on it), and the exact
>>>issue doesn't concern us non-technical people that much, so I don't feel
>>>like looking it up.  But if you want to, just look for Al Viro's message
>>>in this thread.
>>>
>>>
>>>
>>>  
>>>
>>Cycle detection when hard links to directories are allowed.  There is a
>>debate over whether cycle detection is feasible that can only be
>>resolved by working code or a formal proof that it is not
>>computationally feasible.
>>
>>
>
>Ah.  But then, one solution was to avoid the issue at all, and have the
>directory inside a file act as a mountpoint.  After all, mount --bind
>doesn't cause problems...
>  
>
Can you explain this idea at greater length?

>Hey!  This sounds like metafs (/meta) already!  I wonder if we can do
>file-as-dir in /meta, and just not support user-created hardlinks there?
> (other than creating brand-new files, of course...)
>
>
>  
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-05 Thread Hans Reiser
Hubert Chan wrote:

>On Fri, 01 Jul 2005 03:06:19 -0500, David Masover <[EMAIL PROTECTED]> said:
>
>  
>
>>Hubert Chan wrote:
>>
>>
>
>  
>
>>>The main thing blocking file-as-dir is that there are some
>>>locking(IIRC?) issues.  And, of course, some people wouldn't want it
>>>to be merged into the mainline kernel.  (Of course, the latter
>>>doesn't prevent Namesys from maintaining their own patches for people
>>>to play around with.)
>>>  
>>>
>
>  
>
>>What's the locking issue?  I think that was more about transactions...
>>
>>
>
>It was whatever was Al Viro's (technical) complaint about file-as-dir.
>I don't remember exactly what it was.  The technical people know what it
>is (and the Namesys guys are probably working on it), and the exact
>issue doesn't concern us non-technical people that much, so I don't feel
>like looking it up.  But if you want to, just look for Al Viro's message
>in this thread.
>
>  
>
Cycle detection when hard links to directories are allowed.  There is a
debate over whether cycle detection is feasible that can only be
resolved by working code or a formal proof that it is not
computationally feasible.

Hans
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-05 Thread Hans Reiser
Hubert Chan wrote:

On Fri, 01 Jul 2005 03:06:19 -0500, David Masover [EMAIL PROTECTED] said:

  

Hubert Chan wrote:



  

The main thing blocking file-as-dir is that there are some
locking(IIRC?) issues.  And, of course, some people wouldn't want it
to be merged into the mainline kernel.  (Of course, the latter
doesn't prevent Namesys from maintaining their own patches for people
to play around with.)
  


  

What's the locking issue?  I think that was more about transactions...



It was whatever was Al Viro's (technical) complaint about file-as-dir.
I don't remember exactly what it was.  The technical people know what it
is (and the Namesys guys are probably working on it), and the exact
issue doesn't concern us non-technical people that much, so I don't feel
like looking it up.  But if you want to, just look for Al Viro's message
in this thread.

  

Cycle detection when hard links to directories are allowed.  There is a
debate over whether cycle detection is feasible that can only be
resolved by working code or a formal proof that it is not
computationally feasible.

Hans
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-05 Thread Hans Reiser
David Masover wrote:

Hans Reiser wrote:
  

Hubert Chan wrote:




On Fri, 01 Jul 2005 03:06:19 -0500, David Masover [EMAIL PROTECTED] said:




  

Hubert Chan wrote:
  





  

The main thing blocking file-as-dir is that there are some
locking(IIRC?) issues.  And, of course, some people wouldn't want it
to be merged into the mainline kernel.  (Of course, the latter
doesn't prevent Namesys from maintaining their own patches for people
to play around with.)


  



  

What's the locking issue?  I think that was more about transactions...
  



It was whatever was Al Viro's (technical) complaint about file-as-dir.
I don't remember exactly what it was.  The technical people know what it
is (and the Namesys guys are probably working on it), and the exact
issue doesn't concern us non-technical people that much, so I don't feel
like looking it up.  But if you want to, just look for Al Viro's message
in this thread.



  

Cycle detection when hard links to directories are allowed.  There is a
debate over whether cycle detection is feasible that can only be
resolved by working code or a formal proof that it is not
computationally feasible.



Ah.  But then, one solution was to avoid the issue at all, and have the
directory inside a file act as a mountpoint.  After all, mount --bind
doesn't cause problems...
  

Can you explain this idea at greater length?

Hey!  This sounds like metafs (/meta) already!  I wonder if we can do
file-as-dir in /meta, and just not support user-created hardlinks there?
 (other than creating brand-new files, of course...)


  


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-05 Thread Hans Reiser
David Masover wrote:

Now, can anyone think of a situation where we want user-created
hardlinks inside metadata?  More importantly, what do we do about it?
  

I think the equivalent of symlinks would be good enough to get by on for
now for most linking of metafiles.  Maybe some years from now somebody
can fault me for saying this and write a patch to fix it to be better,
at which point I will be happy to concede the point.

So the basic principal here is, one can have hardlinks to directories
without cycles provided that one does not allow any child of the
directory to have a hardlink.  The question is, how cleanly can that
relaxed restriction be coded?

Hans
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-05 Thread Hans Reiser
I got it slightly wrong.

One can have hardlinks to a directory without cycles provided that one
does not have hardlinks from the children of that directory to any file
not a child of that directory.  (Mountpoints currently implement that
restriction.)

Question: can one implement that lesser restriction above with elegant
code?  Is the greater restriction below easier to code?  (If no to the
first and yes to the second is correct, then I can accept the greater
restriction described below.)

One can have hardlinks to directories
without cycles provided that one does not allow any child of the
directory to have a hardlink.

Hans

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: reiser4 plugins

2005-07-05 Thread Hans Reiser
Jeremy Maitin-Shepard wrote:

Okay, so you are suggesting that file-as-dir would provide the user
interface for enabling the encryption or compression.  Alternatively,
though, an ioctl could be used to control compression and encryption.

  

Why is it that /proc does not use an ioctl?  Use of metafiles could
allow eliminating ioctl(), which most folks I know hate as an
interface.  Wouldn't it be cleaner if we could find out what ioctl()s
are supported by a given file using ls filename//ioctl?

Excerpt from the ioctl man page, which lacks a list of what features are
implemented or how to find out.

CONFORMING TO
   No single standard.  Arguments, returns, and semantics of
ioctl(2) vary
   according to the device driver in question  (the  call  is  used 
as  a
   catch-all  for  operations  that  don't cleanly fit the Unix
stream I/O
   model). See ioctl_list(2) for a list of many of the known ioctl 
calls.
   The ioctl function call appeared in Version 7 ATT Unix.


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.12-rc1-mm1: REISER4_FS <-> 4KSTACKS

2005-03-22 Thread Hans Reiser
Adrian Bunk wrote:

>On Tue, Mar 22, 2005 at 09:50:14AM -0800, Hans Reiser wrote:
>
>  
>
>>All of my technical arguments on this topic were nicely obliterated by
>>Andrew.  The only real reason remaining (that I know of) is that I want
>>to first eliminate all things which are a barrier to inclusion before
>>dealing with this because it requires man hours to fix it.  If you want
>>to send us a cleanup patch that fixes it, I would be grateful for your
>>time donatioin.
>>
>>
>
>My plan is to send a patch to Andrew that unconditionally enables 
>4KSTACKS for shaking out the last bugs before possibly removing
>8 kB stacks completely.
>
>I don't know whether this is barrier to inclusion, but this will make 
>reiser4 unavailable on i386...
>
>  
>
>>Hans
>>
>>
>
>cu
>Adrian
>
>  
>
Sigh.   Could you wait a few weeks until we have done all the other
things, and then I can have Vladimir work with you on it?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.12-rc1-mm1: REISER4_FS <-> 4KSTACKS

2005-03-22 Thread Hans Reiser
Adrian Bunk wrote:

>Hi Hans,
>
>REISER4_FS is the only option with a dependency on !4KSTACKS which is 
>bad since 8 kB stacks on i386 won't stay forever.
>
>Could fix the problems with 4 kB stacks?
>
>Running
>
>  make checkstacks | grep reiser4
>
>inside te kernel sources after compiling gives you hints where problems 
>might come from.
>
>
>TIA
>Adrian
>
>  
>
All of my technical arguments on this topic were nicely obliterated by
Andrew.  The only real reason remaining (that I know of) is that I want
to first eliminate all things which are a barrier to inclusion before
dealing with this because it requires man hours to fix it.  If you want
to send us a cleanup patch that fixes it, I would be grateful for your
time donatioin.

Hans
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.12-rc1-mm1: REISER4_FS - 4KSTACKS

2005-03-22 Thread Hans Reiser
Adrian Bunk wrote:

Hi Hans,

REISER4_FS is the only option with a dependency on !4KSTACKS which is 
bad since 8 kB stacks on i386 won't stay forever.

Could fix the problems with 4 kB stacks?

Running

  make checkstacks | grep reiser4

inside te kernel sources after compiling gives you hints where problems 
might come from.


TIA
Adrian

  

All of my technical arguments on this topic were nicely obliterated by
Andrew.  The only real reason remaining (that I know of) is that I want
to first eliminate all things which are a barrier to inclusion before
dealing with this because it requires man hours to fix it.  If you want
to send us a cleanup patch that fixes it, I would be grateful for your
time donatioin.

Hans
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.12-rc1-mm1: REISER4_FS - 4KSTACKS

2005-03-22 Thread Hans Reiser
Adrian Bunk wrote:

On Tue, Mar 22, 2005 at 09:50:14AM -0800, Hans Reiser wrote:

  

All of my technical arguments on this topic were nicely obliterated by
Andrew.  The only real reason remaining (that I know of) is that I want
to first eliminate all things which are a barrier to inclusion before
dealing with this because it requires man hours to fix it.  If you want
to send us a cleanup patch that fixes it, I would be grateful for your
time donatioin.



My plan is to send a patch to Andrew that unconditionally enables 
4KSTACKS for shaking out the last bugs before possibly removing
8 kB stacks completely.

I don't know whether this is barrier to inclusion, but this will make 
reiser4 unavailable on i386...

  

Hans



cu
Adrian

  

Sigh.   Could you wait a few weeks until we have done all the other
things, and then I can have Vladimir work with you on it?
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [2.6.11-rc5-mm1 patch] fs/reiser4/: possible cleanups

2005-03-12 Thread Hans Reiser
vs, please review and respond in 2 weeks.  (vs is sick at the moment)

Thanks Adrian,

Hans

Adrian Bunk wrote:

>This patch contains possible cleanups including the following:
>- make needlessly global code static
>- plugin/compress/minilzo.c: many cleanups
>- remove or #if 0 the following unused global functions:
>  - context.c: check_contexts
>  - flush.c: jnode_tostring
>  - flush.c: znode_tostring
>  - flush.c: pos_tostring
>  - flush_queue.c: fq_by_jnode
>  - inode.c: get_reiser4_inode_by_key
>  - lock.c: lock_mode
>  - plugin/cryptcompress.c: set_nrpages_by_inode
>  - file.c: readpages_unix_file
>  - plugin/item/ctail.c: ctail_make_unprepped_cluster
>  - plugin/item/extent_item_ops.c: show_extent
>  - plugin/item/tail.c: show_tail
>  - tree_walk.c: tree_walk
>
>Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>
>
>---
>
>This patch was already sent on:
>- 3 Mar 2005
>
> fs/reiser4/block_alloc.c |2 
> fs/reiser4/cluster.h |3 
> fs/reiser4/context.c |2 
> fs/reiser4/debug.c   |   13 +
> fs/reiser4/debug.h   |2 
> fs/reiser4/flush.c   |6 
> fs/reiser4/flush.h   |4 
> fs/reiser4/flush_queue.c |7 
> fs/reiser4/inode.c   |6 
> fs/reiser4/inode.h   |3 
> fs/reiser4/jnode.c   |8 -
> fs/reiser4/jnode.h   |2 
> fs/reiser4/lock.c|2 
> fs/reiser4/lock.h|1 
> fs/reiser4/page_cache.c  |2 
> fs/reiser4/plugin/compress/lzoconf.h |   23 --
> fs/reiser4/plugin/compress/minilzo.c |  179 +--
> fs/reiser4/plugin/cryptcompress.c|   15 -
> fs/reiser4/plugin/file/file.c|   14 -
> fs/reiser4/plugin/file/funcs.h   |2 
> fs/reiser4/plugin/item/ctail.c   |4 
> fs/reiser4/plugin/item/ctail.h   |1 
> fs/reiser4/plugin/item/extent.h  |1 
> fs/reiser4/plugin/item/extent_item_ops.c |2 
> fs/reiser4/plugin/item/tail.c|5 
> fs/reiser4/plugin/item/tail.h|1 
> fs/reiser4/plugin/object.c   |2 
> fs/reiser4/plugin/object.h   |1 
> fs/reiser4/tree_walk.c   |4 
> fs/reiser4/txnmgr.h  |1 
> fs/reiser4/vfs_ops.c |   14 -
> fs/reiser4/wander.c  |2 
> fs/reiser4/znode.c   |4 
> 33 files changed, 66 insertions(+), 272 deletions(-)
>
>--- linux-2.6.11-rc5-mm1-full/fs/reiser4/block_alloc.c.old 2005-03-01 
>21:18:07.0 +0100
>+++ linux-2.6.11-rc5-mm1-full/fs/reiser4/block_alloc.c 2005-03-01 
>21:18:14.0 +0100
>@@ -932,7 +932,7 @@
> #if REISER4_DEBUG
> 
> /* check "allocated" state of given block range */
>-void
>+static void
> reiser4_check_blocks(const reiser4_block_nr * start, const reiser4_block_nr * 
> len, int desired)
> {
>   sa_check_blocks(start, len, desired);
>--- linux-2.6.11-rc5-mm1-full/fs/reiser4/context.c.old 2005-03-01 
>21:18:31.0 +0100
>+++ linux-2.6.11-rc5-mm1-full/fs/reiser4/context.c 2005-03-01 
>21:19:08.0 +0100
>@@ -47,6 +47,7 @@
> /* lock protecting access to active_contexts. */
> spinlock_t active_contexts_lock;
> 
>+#if 0
> void
> check_contexts(void)
> {
>@@ -58,6 +59,7 @@
>   }
>   spin_unlock(_contexts_lock);
> }
>+#endif  /*  0  */
> 
> #endif /* REISER4_DEBUG */
> 
>--- linux-2.6.11-rc5-mm1-full/fs/reiser4/debug.h.old   2005-03-01 
>21:19:25.0 +0100
>+++ linux-2.6.11-rc5-mm1-full/fs/reiser4/debug.h   2005-03-01 
>21:19:31.0 +0100
>@@ -176,8 +176,6 @@
>   REISER4_CHECK_NODE = 0x0008
> } reiser4_debug_flags;
> 
>-extern int reiser4_is_debugged(struct super_block *super, __u32 flag);
>-
> extern int is_in_reiser4_context(void);
> 
> /*
>--- linux-2.6.11-rc5-mm1-full/fs/reiser4/debug.c.old   2005-03-01 
>21:19:38.0 +0100
>+++ linux-2.6.11-rc5-mm1-full/fs/reiser4/debug.c   2005-03-01 
>22:54:38.0 +0100
>@@ -61,6 +61,11 @@
>  */
> static spinlock_t panic_guard = SPIN_LOCK_UNLOCKED;
> 
>+#if REISER4_DEBUG
>+static int
>+reiser4_is_debugged(struct super_block *super, __u32 flag);
>+#endif
>+
> /* Your best friend. Call it on each occasion.  This is called by
> fs/reiser4/debug.h:reiser4_panic(). */
> reiser4_internal void
>@@ -303,19 +308,19 @@
>   return result;
> }
> 
>-/* REISER4_DEBUG */
>-#endif
>-
> /*
>  * check that some bits specified by @flags are set in ->debug_flags of the
>  * super block.
>  */
>-reiser4_internal int
>+static int
> reiser4_is_debugged(struct super_block *super, __u32 flag)
> {
>   return get_super_private(super)->debug_flags & flag;
> }
> 
>+/* REISER4_DEBUG */
>+#endif
>+
> /* allocate memory. This calls kmalloc(), performs some additional checks, and
>keeps track 

Re: [2.6.11-rc5-mm1 patch] fs/reiser4/: possible cleanups

2005-03-12 Thread Hans Reiser
vs, please review and respond in 2 weeks.  (vs is sick at the moment)

Thanks Adrian,

Hans

Adrian Bunk wrote:

This patch contains possible cleanups including the following:
- make needlessly global code static
- plugin/compress/minilzo.c: many cleanups
- remove or #if 0 the following unused global functions:
  - context.c: check_contexts
  - flush.c: jnode_tostring
  - flush.c: znode_tostring
  - flush.c: pos_tostring
  - flush_queue.c: fq_by_jnode
  - inode.c: get_reiser4_inode_by_key
  - lock.c: lock_mode
  - plugin/cryptcompress.c: set_nrpages_by_inode
  - file.c: readpages_unix_file
  - plugin/item/ctail.c: ctail_make_unprepped_cluster
  - plugin/item/extent_item_ops.c: show_extent
  - plugin/item/tail.c: show_tail
  - tree_walk.c: tree_walk

Signed-off-by: Adrian Bunk [EMAIL PROTECTED]

---

This patch was already sent on:
- 3 Mar 2005

 fs/reiser4/block_alloc.c |2 
 fs/reiser4/cluster.h |3 
 fs/reiser4/context.c |2 
 fs/reiser4/debug.c   |   13 +
 fs/reiser4/debug.h   |2 
 fs/reiser4/flush.c   |6 
 fs/reiser4/flush.h   |4 
 fs/reiser4/flush_queue.c |7 
 fs/reiser4/inode.c   |6 
 fs/reiser4/inode.h   |3 
 fs/reiser4/jnode.c   |8 -
 fs/reiser4/jnode.h   |2 
 fs/reiser4/lock.c|2 
 fs/reiser4/lock.h|1 
 fs/reiser4/page_cache.c  |2 
 fs/reiser4/plugin/compress/lzoconf.h |   23 --
 fs/reiser4/plugin/compress/minilzo.c |  179 +--
 fs/reiser4/plugin/cryptcompress.c|   15 -
 fs/reiser4/plugin/file/file.c|   14 -
 fs/reiser4/plugin/file/funcs.h   |2 
 fs/reiser4/plugin/item/ctail.c   |4 
 fs/reiser4/plugin/item/ctail.h   |1 
 fs/reiser4/plugin/item/extent.h  |1 
 fs/reiser4/plugin/item/extent_item_ops.c |2 
 fs/reiser4/plugin/item/tail.c|5 
 fs/reiser4/plugin/item/tail.h|1 
 fs/reiser4/plugin/object.c   |2 
 fs/reiser4/plugin/object.h   |1 
 fs/reiser4/tree_walk.c   |4 
 fs/reiser4/txnmgr.h  |1 
 fs/reiser4/vfs_ops.c |   14 -
 fs/reiser4/wander.c  |2 
 fs/reiser4/znode.c   |4 
 33 files changed, 66 insertions(+), 272 deletions(-)

--- linux-2.6.11-rc5-mm1-full/fs/reiser4/block_alloc.c.old 2005-03-01 
21:18:07.0 +0100
+++ linux-2.6.11-rc5-mm1-full/fs/reiser4/block_alloc.c 2005-03-01 
21:18:14.0 +0100
@@ -932,7 +932,7 @@
 #if REISER4_DEBUG
 
 /* check allocated state of given block range */
-void
+static void
 reiser4_check_blocks(const reiser4_block_nr * start, const reiser4_block_nr * 
 len, int desired)
 {
   sa_check_blocks(start, len, desired);
--- linux-2.6.11-rc5-mm1-full/fs/reiser4/context.c.old 2005-03-01 
21:18:31.0 +0100
+++ linux-2.6.11-rc5-mm1-full/fs/reiser4/context.c 2005-03-01 
21:19:08.0 +0100
@@ -47,6 +47,7 @@
 /* lock protecting access to active_contexts. */
 spinlock_t active_contexts_lock;
 
+#if 0
 void
 check_contexts(void)
 {
@@ -58,6 +59,7 @@
   }
   spin_unlock(active_contexts_lock);
 }
+#endif  /*  0  */
 
 #endif /* REISER4_DEBUG */
 
--- linux-2.6.11-rc5-mm1-full/fs/reiser4/debug.h.old   2005-03-01 
21:19:25.0 +0100
+++ linux-2.6.11-rc5-mm1-full/fs/reiser4/debug.h   2005-03-01 
21:19:31.0 +0100
@@ -176,8 +176,6 @@
   REISER4_CHECK_NODE = 0x0008
 } reiser4_debug_flags;
 
-extern int reiser4_is_debugged(struct super_block *super, __u32 flag);
-
 extern int is_in_reiser4_context(void);
 
 /*
--- linux-2.6.11-rc5-mm1-full/fs/reiser4/debug.c.old   2005-03-01 
21:19:38.0 +0100
+++ linux-2.6.11-rc5-mm1-full/fs/reiser4/debug.c   2005-03-01 
22:54:38.0 +0100
@@ -61,6 +61,11 @@
  */
 static spinlock_t panic_guard = SPIN_LOCK_UNLOCKED;
 
+#if REISER4_DEBUG
+static int
+reiser4_is_debugged(struct super_block *super, __u32 flag);
+#endif
+
 /* Your best friend. Call it on each occasion.  This is called by
 fs/reiser4/debug.h:reiser4_panic(). */
 reiser4_internal void
@@ -303,19 +308,19 @@
   return result;
 }
 
-/* REISER4_DEBUG */
-#endif
-
 /*
  * check that some bits specified by @flags are set in -debug_flags of the
  * super block.
  */
-reiser4_internal int
+static int
 reiser4_is_debugged(struct super_block *super, __u32 flag)
 {
   return get_super_private(super)-debug_flags  flag;
 }
 
+/* REISER4_DEBUG */
+#endif
+
 /* allocate memory. This calls kmalloc(), performs some additional checks, and
keeps track of how many memory was allocated on behalf of current super
block. */
--- linux-2.6.11-rc5-mm1-full/fs/reiser4/flush.h.old   2005-03-01 

Re: 2.6.11-rc3-mm1 bad scheduling while atomic + lockup

2005-02-07 Thread Hans Reiser
Maciej Soltysiak wrote:
)
Feb  6 17:07:47 dns kernel: hdc: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Feb  6 17:07:47 dns kernel: hdc: dma_intr: error=0x84 { DriveStatusError BadCRC }
 

this means bad hard drive, or at least a bad sector on it.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.11-rc3-mm1 bad scheduling while atomic + lockup

2005-02-07 Thread Hans Reiser
Maciej Soltysiak wrote:
)
Feb  6 17:07:47 dns kernel: hdc: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Feb  6 17:07:47 dns kernel: hdc: dma_intr: error=0x84 { DriveStatusError BadCRC }
 

this means bad hard drive, or at least a bad sector on it.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[reiserfs-list] Re: [reiserfs-dev] Re: Note describing poor dcache utilization under high memory pressure

2002-01-30 Thread Hans Reiser

Oliver Xymoron wrote:

>
>Can we get you to agree that basically all subpage objects are immovable?
>
No.  Certainly not in the general case, and I think Josh found ways to 
handle the dcache case.  If we can simply free the old objects, we don't 
actually have to move the hot ones, as he points out.

>
>And as a consequence that garbage collecting at subpage levels doesn't
>guarantee freeing up any pages that can then be given up to other
>subsystems in response to VM pressure? The GC must think in terms of pages
>to actually make progress.
>
>One of the design goals of slab by the way is that objects of a similar
>type will end up having similar lifetimes, avoiding some of the worst
>cases of sub-page allocations.
>



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



[reiserfs-list] Re: [reiserfs-dev] Re: Note describing poor dcache utilization under high memory pressure

2002-01-30 Thread Hans Reiser

Oliver Xymoron wrote:


Can we get you to agree that basically all subpage objects are immovable?

No.  Certainly not in the general case, and I think Josh found ways to 
handle the dcache case.  If we can simply free the old objects, we don't 
actually have to move the hot ones, as he points out.


And as a consequence that garbage collecting at subpage levels doesn't
guarantee freeing up any pages that can then be given up to other
subsystems in response to VM pressure? The GC must think in terms of pages
to actually make progress.

One of the design goals of slab by the way is that objects of a similar
type will end up having similar lifetimes, avoiding some of the worst
cases of sub-page allocations.




-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: NFS Client patch

2001-07-20 Thread Hans Reiser

Trond Myklebust wrote:
> 
> >>>>> " " == Hans Reiser <[EMAIL PROTECTED]> writes:
> 
>  > The current code does rely on hidden knowledge of the filesytem
>  > on the server, and refuses to operate with any FS that does not
>  > describe a position in a directory as an offset or hash that
>  > fits into 32 or 64 bits.
> 
> I'm not saying that ReiserFS is wrong to question the correctness of
> this. I'm just saying that NFSv2 and v3 are fixed protocols, and that
> it's too late to do anything about them. I read Chris mail as a
> suggestion of creating yet another NQNFS, and this would IMHO be a
> mistake. Better to concentrate on NFSv4 which is meant to be
> extendible.
> 
>  > But be calm, I am not planning on fixing this myself anytime in
>  > the next year, we have an ugly and hideous hack deployed in
>  > ReiserFS that works, for now I am just saying the folks who
>  > designed NFS did a bad job and resolutely continue doing a bad
>  > job, and if someone wanted to fix it, they could fix cookies to
>  > use filenames instead of byte offsets for those filesytems able
>  > to better use filenames than byte offsets to describe a
>  > position within a directory, and for those clients and servers
>  > who are both smart enough to understand filenames instead of
>  > cookies (able to understand the cookie monster protocol).
> 
> This is something which I believe you raised in the NFSv4 group, and
> which could indeed be a candidate for an NFSv4 extension. After all,
> this is in essence a recognition of the method most NFS clients
> implement for recovering from an EBADCOOKIE error. Why was the idea
> dropped?

Lack of desire to do anything, near as I could tell.

> 
> (Note: As I said, under Linux we're currently hampered when
> considering the above alternatives by the fact that glibc requires the
> ability to lseek() on directories. This is a bug that they could
> easily fix, and it affects not only your suggestion, but also all the
> other suggestions in which one implements non-permanent cookies)

I would be quite happy if you (or anyone) could fix it, sometime in the next 3 years.  

> 
> Cheers,
>Trond
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: NFS Client patch

2001-07-20 Thread Hans Reiser

Trond Myklebust wrote:
 
== Hans Reiser [EMAIL PROTECTED] writes:
 
   The current code does rely on hidden knowledge of the filesytem
   on the server, and refuses to operate with any FS that does not
   describe a position in a directory as an offset or hash that
   fits into 32 or 64 bits.
 
 I'm not saying that ReiserFS is wrong to question the correctness of
 this. I'm just saying that NFSv2 and v3 are fixed protocols, and that
 it's too late to do anything about them. I read Chris mail as a
 suggestion of creating yet another NQNFS, and this would IMHO be a
 mistake. Better to concentrate on NFSv4 which is meant to be
 extendible.
 
   But be calm, I am not planning on fixing this myself anytime in
   the next year, we have an ugly and hideous hack deployed in
   ReiserFS that works, for now I am just saying the folks who
   designed NFS did a bad job and resolutely continue doing a bad
   job, and if someone wanted to fix it, they could fix cookies to
   use filenames instead of byte offsets for those filesytems able
   to better use filenames than byte offsets to describe a
   position within a directory, and for those clients and servers
   who are both smart enough to understand filenames instead of
   cookies (able to understand the cookie monster protocol).
 
 This is something which I believe you raised in the NFSv4 group, and
 which could indeed be a candidate for an NFSv4 extension. After all,
 this is in essence a recognition of the method most NFS clients
 implement for recovering from an EBADCOOKIE error. Why was the idea
 dropped?

Lack of desire to do anything, near as I could tell.

 
 (Note: As I said, under Linux we're currently hampered when
 considering the above alternatives by the fact that glibc requires the
 ability to lseek() on directories. This is a bug that they could
 easily fix, and it affects not only your suggestion, but also all the
 other suggestions in which one implements non-permanent cookies)

I would be quite happy if you (or anyone) could fix it, sometime in the next 3 years.  

 
 Cheers,
Trond
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: NFS Client patch

2001-07-19 Thread Hans Reiser

Trond Myklebust wrote:
> 
> > " " == Chris Mason <[EMAIL PROTECTED]> writes:
> 
>  > Well, returning the last filename won't do much for filesystems
>  > that don't have any directory indexes, but that's besides the
>  > point.  Could nfsv4 be better than it is?  probably.  Can we
>  > change older NFS protocols to have a linux specific hack that
>  > makes them more filesystem (or at least reiserfs) friendly?
>  > probably.
> 
> NFSv2 and v3 have a fixed format for readdir calls. There's bugger all
> you can do to change this without making the resulting protocol
> incompatible with NFS.
> 
> If you don't want Reiserfs to be NFS compatible, then fine, but I
> personally don't want to see hacks to the NFS v2/v3 code that rely on
> 'hidden knowledge' of the filesystem on the server.
> 
> Cheers,
>   Trond
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [EMAIL PROTECTED]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

The current code does rely on hidden knowledge of the filesytem on the server, and 
refuses to
operate with any FS that does not describe a position in a directory as an offset or 
hash that fits
into 32 or 64 bits.

But be calm, I am not planning on fixing this myself anytime in the next year, we have 
an ugly and
hideous hack deployed in ReiserFS that works, for now I am just saying the folks who 
designed NFS
did a bad job and resolutely continue doing a bad job, and if someone wanted to fix 
it, they could
fix cookies to use filenames instead of byte offsets for those filesytems able to 
better use
filenames than byte offsets to describe a position within a directory, and for those 
clients and
servers who are both smart enough to understand filenames instead of cookies (able to 
understand the
cookie monster protocol).

Hans
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: NFS Client patch

2001-07-19 Thread Hans Reiser

Trond Myklebust wrote:
 
== Chris Mason [EMAIL PROTECTED] writes:
 
   Well, returning the last filename won't do much for filesystems
   that don't have any directory indexes, but that's besides the
   point.  Could nfsv4 be better than it is?  probably.  Can we
   change older NFS protocols to have a linux specific hack that
   makes them more filesystem (or at least reiserfs) friendly?
   probably.
 
 NFSv2 and v3 have a fixed format for readdir calls. There's bugger all
 you can do to change this without making the resulting protocol
 incompatible with NFS.
 
 If you don't want Reiserfs to be NFS compatible, then fine, but I
 personally don't want to see hacks to the NFS v2/v3 code that rely on
 'hidden knowledge' of the filesystem on the server.
 
 Cheers,
   Trond
 -
 To unsubscribe from this list: send the line unsubscribe linux-kernel in
 the body of a message to [EMAIL PROTECTED]
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 Please read the FAQ at  http://www.tux.org/lkml/

The current code does rely on hidden knowledge of the filesytem on the server, and 
refuses to
operate with any FS that does not describe a position in a directory as an offset or 
hash that fits
into 32 or 64 bits.

But be calm, I am not planning on fixing this myself anytime in the next year, we have 
an ugly and
hideous hack deployed in ReiserFS that works, for now I am just saying the folks who 
designed NFS
did a bad job and resolutely continue doing a bad job, and if someone wanted to fix 
it, they could
fix cookies to use filenames instead of byte offsets for those filesytems able to 
better use
filenames than byte offsets to describe a position within a directory, and for those 
clients and
servers who are both smart enough to understand filenames instead of cookies (able to 
understand the
cookie monster protocol).

Hans
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: Security hooks, "standard linux security" & embedded use

2001-07-12 Thread Hans Reiser

Hi Linda,

This seems very much in line with what Reiser4 is doing for DARPA, and what SE Linux 
is doing for
the NSA.  Or at least what Linus told the SE Linux folks he would like them to 
write.:-)

I am quite supportive of what you advocate generally, and I look forward to 
cooperating with you in
the details.

May I suggest we contact the SE Linux folks, and each of our teams establish a 
point-of-contact to
work on
developing the details of what needs to be done?

We call your security hooks "security plugins" or "secplugs" in Reiser4, mostly to 
identify that
they are a component of the Reiser4 "plugin" approach to extensibility.  Reiser4 is 
getting underway
this month.  We are willing to adapt our terminology and coding to be be consistent 
with yours.  We
don't really have a need to be the leaders in this area.  We just need to get the job 
done, and to
ensure that nothing that is done crimps our ability to accomplish our objectives.  Our 
project
objectives are somewhat describable as "make it easy for folks like the NSA and the 
DoD to add new
security features to Reiser4 by building the infrastructure for them."  We will ship 
one
implementation on top of that infrastructure that will implement ACLs, but we are more 
interested in
enabling others than in doing ourselves.  If the NSA or SGI wants to lead us a bit on 
this, that is
fine with us.  Our main insistence is going to be that the hooks should be very 
general, but I
suspect you and the NSA also want that.  We also need to have coding completed in ~8 
months, so that
it can all be debugged and stable and sent to Linus by Sep. 30th of next year.

Do you have a list of all the hooks, etc., yet?  Do you have anything like a general 
architecture
for, given some vfs operation, and given some pluginid indicating object type, and 
given some
secplugid  (e.g. it might be the id of a secplug implementing an ACL), have the plugin 
check that
the operation is allowable by calling the secplug (security hook) indicated by the 
secplugid?

I think what is needed is an MxN matrix of security checks, where M is the number of 
vfs operations,
and N is the number of secplugs.  I am open to the idea that it should be MxNxO, where 
O is the
number of security policies, though I don't plan to personally implement more than one 
security
policy to ship with Reiser4 by default because I am pretty lazy.  It won't surprise me 
if I end up
shipping only one secplug with reiser4 initially (probably one implementing something 
embodying NT
ACLs and unix permissions), and leave it to others to add the rest of them).  

I am quite supportive of your notion that some users have no need at all for security, 
and that they
should be allowed a lightweight solution for their needs, though I will leave it to 
them to write
that on top of the infrastructure I/we give them.:-)  I envision the VFS operation 
invoking the
plugin which invokes the secplug whose implementation varies with the choice of 
security policy
compiled in.  I don't honestly see the real usage critical need for dynamic loading of 
security
policy modules, but I can yield on this if you see the need and code it since it 
probably isn't
complex to code.  I do like the idea of all of the code implementing a given security 
policy being
isolated into its own single file/directory.

Do you have any ideas on how to export to user space the ability to query what the 
permissions are,
given that the permissions are being abstracted like this?

I got your email, but I wasn't on the to: or cc: list.  This confused me, so I 
invented a to: list
that should reach all those likely to be interested in this.  I am guessing this will 
be okay with
you.

Best,

Hans

LA Walsh wrote:
> 
> Dear Linus et al.,
> 
> Sorry for the 'form' letter instead of individual names, but I
> didn't want to have to send this out separately to every kernel developer
> I know on LKML.
> 
> I am asking for your input on the concept of moving the standard
> Linux security checks into a "Linux Security Module".
> 
> Discussion has come up on the Linux Security Module list
> about whether or not the current linux security (file mode bits, uid
> checking, etc.) should be modularized in the development of an LSM
> framework implementation
> 
> This would entail moving all of the standard checks out of the
> kernel into a "standard security" module that, by default, would be
> the security policy selected and compiled in during kernel configuration
> and build.
> 
> This seems to us (@sgi) to be the best solution to allow a
> completely configurable security policy.  This option allows
> a policy creator complete flexibility in how or whether or not
> existing security is called.  For example, in POSIX 1e style Mandatory
> Access Control, the information in the inode is also part of the
> protected object.  So if a process doesn't have access under MAC, the
> DAC checks wouldn't even be executed since it 

Re: Security hooks, standard linux security embedded use

2001-07-12 Thread Hans Reiser

Hi Linda,

This seems very much in line with what Reiser4 is doing for DARPA, and what SE Linux 
is doing for
the NSA.  Or at least what Linus told the SE Linux folks he would like them to 
write.:-)

I am quite supportive of what you advocate generally, and I look forward to 
cooperating with you in
the details.

May I suggest we contact the SE Linux folks, and each of our teams establish a 
point-of-contact to
work on
developing the details of what needs to be done?

We call your security hooks security plugins or secplugs in Reiser4, mostly to 
identify that
they are a component of the Reiser4 plugin approach to extensibility.  Reiser4 is 
getting underway
this month.  We are willing to adapt our terminology and coding to be be consistent 
with yours.  We
don't really have a need to be the leaders in this area.  We just need to get the job 
done, and to
ensure that nothing that is done crimps our ability to accomplish our objectives.  Our 
project
objectives are somewhat describable as make it easy for folks like the NSA and the 
DoD to add new
security features to Reiser4 by building the infrastructure for them.  We will ship 
one
implementation on top of that infrastructure that will implement ACLs, but we are more 
interested in
enabling others than in doing ourselves.  If the NSA or SGI wants to lead us a bit on 
this, that is
fine with us.  Our main insistence is going to be that the hooks should be very 
general, but I
suspect you and the NSA also want that.  We also need to have coding completed in ~8 
months, so that
it can all be debugged and stable and sent to Linus by Sep. 30th of next year.

Do you have a list of all the hooks, etc., yet?  Do you have anything like a general 
architecture
for, given some vfs operation, and given some pluginid indicating object type, and 
given some
secplugid  (e.g. it might be the id of a secplug implementing an ACL), have the plugin 
check that
the operation is allowable by calling the secplug (security hook) indicated by the 
secplugid?

I think what is needed is an MxN matrix of security checks, where M is the number of 
vfs operations,
and N is the number of secplugs.  I am open to the idea that it should be MxNxO, where 
O is the
number of security policies, though I don't plan to personally implement more than one 
security
policy to ship with Reiser4 by default because I am pretty lazy.  It won't surprise me 
if I end up
shipping only one secplug with reiser4 initially (probably one implementing something 
embodying NT
ACLs and unix permissions), and leave it to others to add the rest of them).  

I am quite supportive of your notion that some users have no need at all for security, 
and that they
should be allowed a lightweight solution for their needs, though I will leave it to 
them to write
that on top of the infrastructure I/we give them.:-)  I envision the VFS operation 
invoking the
plugin which invokes the secplug whose implementation varies with the choice of 
security policy
compiled in.  I don't honestly see the real usage critical need for dynamic loading of 
security
policy modules, but I can yield on this if you see the need and code it since it 
probably isn't
complex to code.  I do like the idea of all of the code implementing a given security 
policy being
isolated into its own single file/directory.

Do you have any ideas on how to export to user space the ability to query what the 
permissions are,
given that the permissions are being abstracted like this?

I got your email, but I wasn't on the to: or cc: list.  This confused me, so I 
invented a to: list
that should reach all those likely to be interested in this.  I am guessing this will 
be okay with
you.

Best,

Hans

LA Walsh wrote:
 
 Dear Linus et al.,
 
 Sorry for the 'form' letter instead of individual names, but I
 didn't want to have to send this out separately to every kernel developer
 I know on LKML.
 
 I am asking for your input on the concept of moving the standard
 Linux security checks into a Linux Security Module.
 
 Discussion has come up on the Linux Security Module list
 about whether or not the current linux security (file mode bits, uid
 checking, etc.) should be modularized in the development of an LSM
 framework implementation
 
 This would entail moving all of the standard checks out of the
 kernel into a standard security module that, by default, would be
 the security policy selected and compiled in during kernel configuration
 and build.
 
 This seems to us (@sgi) to be the best solution to allow a
 completely configurable security policy.  This option allows
 a policy creator complete flexibility in how or whether or not
 existing security is called.  For example, in POSIX 1e style Mandatory
 Access Control, the information in the inode is also part of the
 protected object.  So if a process doesn't have access under MAC, the
 DAC checks wouldn't even be executed since it doesn't have
 access to the permission 

Re: directory order of files

2001-06-29 Thread Hans Reiser

Edmund GRIMLEY EVANS wrote:
> 
> With Linux ext2, and some other systems, when you create files in a
> new directory, the file system remembers their order:
> 
> $ mkdir new
> $ cd new
> $ touch one two three four
> $ ls -U
> one  two  three  four
> 
> (1) Is there any standard that says a system should behave this way?
> Is there any software that depends on this behaviour?

Unix filesystem hierarchies are defined to be a partial ordering, not a full ordering.

> 
> (2) Are there Linux file systems that don't work this way? Maybe
> someone with a mounted writable reiserfs could do a quick check.
> 
> Please copy replies to me as I am not subscribed. Thanks.

bash-2.05# mkdir fu
bash-2.05# cd fu
bash-2.05# touch one two three four
bash-2.05# ls -U
one  two  four  three

Hans
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: directory order of files

2001-06-29 Thread Hans Reiser

Edmund GRIMLEY EVANS wrote:
 
 With Linux ext2, and some other systems, when you create files in a
 new directory, the file system remembers their order:
 
 $ mkdir new
 $ cd new
 $ touch one two three four
 $ ls -U
 one  two  three  four
 
 (1) Is there any standard that says a system should behave this way?
 Is there any software that depends on this behaviour?

Unix filesystem hierarchies are defined to be a partial ordering, not a full ordering.

 
 (2) Are there Linux file systems that don't work this way? Maybe
 someone with a mounted writable reiserfs could do a quick check.
 
 Please copy replies to me as I am not subscribed. Thanks.

bash-2.05# mkdir fu
bash-2.05# cd fu
bash-2.05# touch one two three four
bash-2.05# ls -U
one  two  four  three

Hans
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: Oops while unmounting a reiserfs partition

2001-06-04 Thread Hans Reiser

get patch from www.namesys.com, bug was added and fixed by viro, we just put the
patch up while waiting for 2.4.6 to come out.

Hans

Mathieu Chouquet-Stringer wrote:
> 
> Hello!
> 
> I just mkreiserfsed a new partition (a 50g hardware raid0 array, I know
> this is just a testing machine), mounted it, and then unmounted it, and
> OOPS! My kernel version is plain 2.4.5...
> If you need more information, let me know.
> 
> Jun  4 17:25:03 nynetops03 kernel: reiserfs: checking transaction log (device 08:11) 
>...
> Jun  4 17:25:07 nynetops03 kernel: Using r5 hash to sort names
> Jun  4 17:25:07 nynetops03 kernel: ReiserFS version 3.6.25
> Jun  4 17:26:11 nynetops03 kernel: journal_begin called without kernel lock held
> Jun  4 17:26:11 nynetops03 kernel: kernel BUG at journal.c:423!
> Jun  4 17:26:11 nynetops03 kernel: invalid operand: 
> Jun  4 17:26:11 nynetops03 kernel: CPU:1
> Jun  4 17:26:11 nynetops03 kernel: EIP:0010:[reiserfs_check_lock_depth+56/64]
> Jun  4 17:26:11 nynetops03 kernel: EIP:0010:[]
> Jun  4 17:26:11 nynetops03 kernel: EFLAGS: 00010282
> Jun  4 17:26:11 nynetops03 kernel: eax: 001d   ebx: d8e15f24   ecx: 0001   
>edx: 0001
> Jun  4 17:26:11 nynetops03 kernel: esi: df9c5400   edi:    ebp: 3b1bfcf3   
>esp: d8e15eac
> Jun  4 17:26:11 nynetops03 kernel: ds: 0018   es: 0018   ss: 0018
> Jun  4 17:26:11 nynetops03 kernel: Process umount (pid: 4577, stackpage=d8e15000)
> Jun  4 17:26:11 nynetops03 kernel: Stack: c02678b3 c0267a44 01a7 c018e2cf 
>c0268a61  d7e75250 00e8
> Jun  4 17:26:11 nynetops03 kernel:df731000 40173000 d8e15f60  
>0018 d8e15f24 df9c5400 c02a8620
> Jun  4 17:26:11 nynetops03 kernel:c02a8698 c018e516 d8e15f24 df9c5400 
>000a  c017ffdc d8e15f24
> Jun  4 17:26:11 nynetops03 kernel: Call Trace: [do_journal_begin_r+31/560] 
>[journal_begin+22/32] [reiserfs_put_super+28/224] [iput+63/368] [fsync_super+180/192] 
>[kill_super+162/288] [path_release+41/48]
> Jun  4 17:26:11 nynetops03 kernel: Call Trace: [] [] 
>[] [] [] [] []
> Jun  4 17:26:11 nynetops03 kernel:[sys_umount+301/352] [sys_munmap+51/80] 
>[sys_oldumount+12/16] [system_call+51/56]
> Jun  4 17:26:11 nynetops03 kernel:[] [] [] 
>[]
> Jun  4 17:26:11 nynetops03 kernel:
> Jun  4 17:26:11 nynetops03 kernel: Code: 0f 0b 83 c4 0c c3 89 f6 31 c0 c3 8d b6 00 
>00 00 00 8d bc 27
> 
> And the decoded output:
> ksymoops 2.4.0 on i686 2.4.5.  Options used
>  -V (default)
>  -k /proc/ksyms (default)
>  -l /proc/modules (default)
>  -o /lib/modules/2.4.5/ (default)
>  -m /boot/System.map-2.4.5 (default)
> 
> Warning: You did not tell me where to find symbol information.  I will
> assume that the log matches the kernel and modules that are running
> right now and I'll use the default options above for symbol resolution.
> If the current kernel and/or modules do not match the log, you can get
> more accurate output by telling me the kernel version and where to find
> map, modules, ksyms etc.  ksymoops -h explains the options.
> 
> Warning (compare_maps): ksyms_base symbol __VERSIONED_SYMBOL(shmem_file_setup) not 
>found in System.map.  Ignoring ksyms_base entry
> Warning (compare_maps): ksyms_base symbol 
>machine_real_restart_R__ver_machine_real_restart not found in System.map.  Ignoring 
>ksyms_base entry
> Jun  4 17:26:11 nynetops03 kernel: kernel BUG at journal.c:423!
> Jun  4 17:26:11 nynetops03 kernel: invalid operand: 
> Jun  4 17:26:11 nynetops03 kernel: CPU:1
> Jun  4 17:26:11 nynetops03 kernel: EIP:0010:[reiserfs_check_lock_depth+56/64]
> Jun  4 17:26:11 nynetops03 kernel: EIP:0010:[]
> Using defaults from ksymoops -t elf32-i386 -a i386
> Jun  4 17:26:11 nynetops03 kernel: EFLAGS: 00010282
> Jun  4 17:26:11 nynetops03 kernel: eax: 001d   ebx: d8e15f24   ecx: 0001   
>edx: 0001
> Jun  4 17:26:11 nynetops03 kernel: esi: df9c5400   edi:    ebp: 3b1bfcf3   
>esp: d8e15eac
> Jun  4 17:26:11 nynetops03 kernel: ds: 0018   es: 0018   ss: 0018
> Jun  4 17:26:11 nynetops03 kernel: Process umount (pid: 4577, stackpage=d8e15000)
> Jun  4 17:26:11 nynetops03 kernel: Stack: c02678b3 c0267a44 01a7 c018e2cf 
>c0268a61  d7e75250 00e8
> Jun  4 17:26:11 nynetops03 kernel:df731000 40173000 d8e15f60  
>0018 d8e15f24 df9c5400 c02a8620
> Jun  4 17:26:11 nynetops03 kernel:c02a8698 c018e516 d8e15f24 df9c5400 
>000a  c017ffdc d8e15f24
> Jun  4 17:26:11 nynetops03 kernel: Call Trace: [do_journal_begin_r+31/560] 
>[journal_begin+22/32] [reiserfs_put_super+28/224] [iput+63/368] [fsync_super+180/192] 
>[kill_super+162/288] [path_release+41/48]
> Jun  4 17:26:11 nynetops03 kernel: Call Trace: [] [] 
>[] [] [] [] []
> Jun  4 17:26:11 nynetops03 kernel:[] [] [] 
>[]
> Jun  4 17:26:11 nynetops03 kernel: Code: 0f 0b 83 c4 0c c3 89 f6 31 c0 c3 8d b6 00 
>00 00 00 8d bc 27
> 
> >>EIP; c018bb98<=
> Trace; c018e2cf 
> 

Re: Oops while unmounting a reiserfs partition

2001-06-04 Thread Hans Reiser

get patch from www.namesys.com, bug was added and fixed by viro, we just put the
patch up while waiting for 2.4.6 to come out.

Hans

Mathieu Chouquet-Stringer wrote:
 
 Hello!
 
 I just mkreiserfsed a new partition (a 50g hardware raid0 array, I know
 this is just a testing machine), mounted it, and then unmounted it, and
 OOPS! My kernel version is plain 2.4.5...
 If you need more information, let me know.
 
 Jun  4 17:25:03 nynetops03 kernel: reiserfs: checking transaction log (device 08:11) 
...
 Jun  4 17:25:07 nynetops03 kernel: Using r5 hash to sort names
 Jun  4 17:25:07 nynetops03 kernel: ReiserFS version 3.6.25
 Jun  4 17:26:11 nynetops03 kernel: journal_begin called without kernel lock held
 Jun  4 17:26:11 nynetops03 kernel: kernel BUG at journal.c:423!
 Jun  4 17:26:11 nynetops03 kernel: invalid operand: 
 Jun  4 17:26:11 nynetops03 kernel: CPU:1
 Jun  4 17:26:11 nynetops03 kernel: EIP:0010:[reiserfs_check_lock_depth+56/64]
 Jun  4 17:26:11 nynetops03 kernel: EIP:0010:[c018bb98]
 Jun  4 17:26:11 nynetops03 kernel: EFLAGS: 00010282
 Jun  4 17:26:11 nynetops03 kernel: eax: 001d   ebx: d8e15f24   ecx: 0001   
edx: 0001
 Jun  4 17:26:11 nynetops03 kernel: esi: df9c5400   edi:    ebp: 3b1bfcf3   
esp: d8e15eac
 Jun  4 17:26:11 nynetops03 kernel: ds: 0018   es: 0018   ss: 0018
 Jun  4 17:26:11 nynetops03 kernel: Process umount (pid: 4577, stackpage=d8e15000)
 Jun  4 17:26:11 nynetops03 kernel: Stack: c02678b3 c0267a44 01a7 c018e2cf 
c0268a61  d7e75250 00e8
 Jun  4 17:26:11 nynetops03 kernel:df731000 40173000 d8e15f60  
0018 d8e15f24 df9c5400 c02a8620
 Jun  4 17:26:11 nynetops03 kernel:c02a8698 c018e516 d8e15f24 df9c5400 
000a  c017ffdc d8e15f24
 Jun  4 17:26:11 nynetops03 kernel: Call Trace: [do_journal_begin_r+31/560] 
[journal_begin+22/32] [reiserfs_put_super+28/224] [iput+63/368] [fsync_super+180/192] 
[kill_super+162/288] [path_release+41/48]
 Jun  4 17:26:11 nynetops03 kernel: Call Trace: [c018e2cf] [c018e516] 
[c017ffdc] [c014bf3f] [c0137494] [c013bd72] [c0140e79]
 Jun  4 17:26:11 nynetops03 kernel:[sys_umount+301/352] [sys_munmap+51/80] 
[sys_oldumount+12/16] [system_call+51/56]
 Jun  4 17:26:11 nynetops03 kernel:[c013c22d] [c0126ec3] [c013c26c] 
[c0106e0b]
 Jun  4 17:26:11 nynetops03 kernel:
 Jun  4 17:26:11 nynetops03 kernel: Code: 0f 0b 83 c4 0c c3 89 f6 31 c0 c3 8d b6 00 
00 00 00 8d bc 27
 
 And the decoded output:
 ksymoops 2.4.0 on i686 2.4.5.  Options used
  -V (default)
  -k /proc/ksyms (default)
  -l /proc/modules (default)
  -o /lib/modules/2.4.5/ (default)
  -m /boot/System.map-2.4.5 (default)
 
 Warning: You did not tell me where to find symbol information.  I will
 assume that the log matches the kernel and modules that are running
 right now and I'll use the default options above for symbol resolution.
 If the current kernel and/or modules do not match the log, you can get
 more accurate output by telling me the kernel version and where to find
 map, modules, ksyms etc.  ksymoops -h explains the options.
 
 Warning (compare_maps): ksyms_base symbol __VERSIONED_SYMBOL(shmem_file_setup) not 
found in System.map.  Ignoring ksyms_base entry
 Warning (compare_maps): ksyms_base symbol 
machine_real_restart_R__ver_machine_real_restart not found in System.map.  Ignoring 
ksyms_base entry
 Jun  4 17:26:11 nynetops03 kernel: kernel BUG at journal.c:423!
 Jun  4 17:26:11 nynetops03 kernel: invalid operand: 
 Jun  4 17:26:11 nynetops03 kernel: CPU:1
 Jun  4 17:26:11 nynetops03 kernel: EIP:0010:[reiserfs_check_lock_depth+56/64]
 Jun  4 17:26:11 nynetops03 kernel: EIP:0010:[c018bb98]
 Using defaults from ksymoops -t elf32-i386 -a i386
 Jun  4 17:26:11 nynetops03 kernel: EFLAGS: 00010282
 Jun  4 17:26:11 nynetops03 kernel: eax: 001d   ebx: d8e15f24   ecx: 0001   
edx: 0001
 Jun  4 17:26:11 nynetops03 kernel: esi: df9c5400   edi:    ebp: 3b1bfcf3   
esp: d8e15eac
 Jun  4 17:26:11 nynetops03 kernel: ds: 0018   es: 0018   ss: 0018
 Jun  4 17:26:11 nynetops03 kernel: Process umount (pid: 4577, stackpage=d8e15000)
 Jun  4 17:26:11 nynetops03 kernel: Stack: c02678b3 c0267a44 01a7 c018e2cf 
c0268a61  d7e75250 00e8
 Jun  4 17:26:11 nynetops03 kernel:df731000 40173000 d8e15f60  
0018 d8e15f24 df9c5400 c02a8620
 Jun  4 17:26:11 nynetops03 kernel:c02a8698 c018e516 d8e15f24 df9c5400 
000a  c017ffdc d8e15f24
 Jun  4 17:26:11 nynetops03 kernel: Call Trace: [do_journal_begin_r+31/560] 
[journal_begin+22/32] [reiserfs_put_super+28/224] [iput+63/368] [fsync_super+180/192] 
[kill_super+162/288] [path_release+41/48]
 Jun  4 17:26:11 nynetops03 kernel: Call Trace: [c018e2cf] [c018e516] 
[c017ffdc] [c014bf3f] [c0137494] [c013bd72] [c0140e79]
 Jun  4 17:26:11 nynetops03 kernel:[c013c22d] [c0126ec3] [c013c26c] 
[c0106e0b]
 Jun  4 17:26:11 nynetops03 kernel: Code: 0f 0b 83 c4 0c c3 

Re: [RFC] yet another knfsd-reiserfs patch

2001-06-02 Thread Hans Reiser

Why are people afraid to put Neil Brown's code into 2.4?  It works, we have tons
of users using it, it is the only nfs solution that has a tested reiserfs user
base, don't worry that it isn't tested and shouldn't go into 2.4 because it is
better tested than any of these quick fixes that are floated by people afraid of
Neil's code am I missing something?

Hans

Chris Mason wrote:
> 
> > On Monday, April 23, 2001 10:45:14 AM -0400 Chris Mason <[EMAIL PROTECTED]> wrote:
> >
> >>
> >> Hi guys,
> >>
> >> This patch is not meant to replace Neil Brown's knfsd ops stuff, the
> >> goal was to whip up something that had a chance of getting into 2.4.x,
> >> and that might be usable by the AFS guys too.  Neil's patch tries to
> >> address a bunch of things that I didn't, and looks better for the
> >> long run.
> >>
> >
> 
> Updated to 2.4.5, with the nfs list cc'd this time in hopes of comments
> or flames...
> 
> -chris
> 
> diff -Nru a/fs/nfsd/nfsfh.c b/fs/nfsd/nfsfh.c
> --- a/fs/nfsd/nfsfh.c   Fri Jun  1 16:08:41 2001
> +++ b/fs/nfsd/nfsfh.c   Fri Jun  1 16:08:41 2001
> @@ -116,40 +116,12 @@
> return error;
>  }
> 
> -/* this should be provided by each filesystem in an nfsd_operations interface as
> - * iget isn't really the right interface
> - */
> -static struct dentry *nfsd_iget(struct super_block *sb, unsigned long ino, __u32 
>generation)
> +static struct dentry *dentry_from_inode(struct inode *inode)
>  {
> -
> -   /* iget isn't really right if the inode is currently unallocated!!
> -* This should really all be done inside each filesystem
> -*
> -* ext2fs' read_inode has been strengthed to return a bad_inode if the inode
> -*   had been deleted.
> -*
> -* Currently we don't know the generation for parent directory, so a 
>generation
> -* of 0 means "accept any"
> -*/
> -   struct inode *inode;
> struct list_head *lp;
> struct dentry *result;
> -   inode = iget(sb, ino);
> -   if (is_bad_inode(inode)
> -   || (generation && inode->i_generation != generation)
> -   ) {
> -   /* we didn't find the right inode.. */
> -   dprintk("fh_verify: Inode %lu, Bad count: %d %d or version  %u %u\n",
> -   inode->i_ino,
> -   inode->i_nlink, atomic_read(>i_count),
> -   inode->i_generation,
> -   generation);
> -
> -   iput(inode);
> -   return ERR_PTR(-ESTALE);
> -   }
> -   /* now to find a dentry.
> -* If possible, get a well-connected one
> +   /*
> +* If possible, get a well-connected dentry
>  */
> spin_lock(_lock);
> for (lp = inode->i_dentry.next; lp != >i_dentry ; lp=lp->next) {
> @@ -173,6 +145,92 @@
> return result;
>  }
> 
> +static struct inode *__inode_from_fh(struct super_block *sb, int ino,
> +int generation)
> +{
> +   struct inode *inode ;
> +
> +   inode = iget(sb, ino);
> +   if (is_bad_inode(inode)
> +   || (generation && inode->i_generation != generation)
> +   ) {
> +   /* we didn't find the right inode.. */
> +   dprintk("fh_verify: Inode %lu, Bad count: %d %d or version  %u %u\n",
> +   inode->i_ino,
> +   inode->i_nlink, atomic_read(>i_count),
> +   inode->i_generation,
> +   generation);
> +
> +   iput(inode);
> +   return ERR_PTR(-ESTALE);
> +   }
> +   return inode ;
> +}
> +
> +static struct inode *inode_from_fh(struct super_block *sb,
> +   __u32 *datap,
> +   int len)
> +{
> +   if (sb->s_op->inode_from_fh)
> +   return sb->s_op->inode_from_fh(sb, datap, len) ;
> +   return __inode_from_fh(sb, datap[0], datap[1]) ;
> +}
> +
> +static struct inode *parent_from_fh(struct super_block *sb,
> +   __u32 *datap,
> +   int len)
> +{
> +   if (sb->s_op->parent_from_fh)
> +   return sb->s_op->parent_from_fh(sb, datap, len) ;
> +
> +   if (len >= 3)
> +   return __inode_from_fh(sb, datap[2], 0) ;
> +   return ERR_PTR(-ESTALE);
> +}
> +
> +/*
> + * two iget funcs, one for inode, and one for parent directory
> + *
> + * this should be provided by each filesystem in an nfsd_operations interface as
> + * iget isn't really the right interface
> + *
> + * If the filesystem doesn't provide funcs to get inodes from datap,
> + * it must be: inum, generation, dir inum.  Length of 2 means the
> + * dir inum isn't there.
> + *
> + * iget isn't really right if the inode is currently unallocated!!
> + * This should really all be done inside each filesystem
> + *
> + * ext2fs' 

Re: unmount issues with 2.4.5-ac5, 3ware, and ReiserFS (was: kernel-2.4.5

2001-06-02 Thread Hans Reiser

Alexander Viro wrote:
> 
> On Fri, 1 Jun 2001, Hans Reiser wrote:
> 
> > known VFS bug, ask viro for details, 2.4.5 is not stable because of it, use
> > 2.4.4
> 
> Different issue. Missing lock_kernel()/unlock_kernel() in kill_super()
> appeared in -pre6 and was fixed in -ac2 or so. -ac5 apparently had
> introduced something new, that had been reverted (fixing the problem)
> in -ac6.
thanks for clarification.

Hans
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: unmount issues with 2.4.5-ac5, 3ware, and ReiserFS (was: kernel-2.4.5

2001-06-02 Thread Hans Reiser

Alexander Viro wrote:
 
 On Fri, 1 Jun 2001, Hans Reiser wrote:
 
  known VFS bug, ask viro for details, 2.4.5 is not stable because of it, use
  2.4.4
 
 Different issue. Missing lock_kernel()/unlock_kernel() in kill_super()
 appeared in -pre6 and was fixed in -ac2 or so. -ac5 apparently had
 introduced something new, that had been reverted (fixing the problem)
 in -ac6.
thanks for clarification.

Hans
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: [RFC] yet another knfsd-reiserfs patch

2001-06-02 Thread Hans Reiser

Why are people afraid to put Neil Brown's code into 2.4?  It works, we have tons
of users using it, it is the only nfs solution that has a tested reiserfs user
base, don't worry that it isn't tested and shouldn't go into 2.4 because it is
better tested than any of these quick fixes that are floated by people afraid of
Neil's code am I missing something?

Hans

Chris Mason wrote:
 
  On Monday, April 23, 2001 10:45:14 AM -0400 Chris Mason [EMAIL PROTECTED] wrote:
 
 
  Hi guys,
 
  This patch is not meant to replace Neil Brown's knfsd ops stuff, the
  goal was to whip up something that had a chance of getting into 2.4.x,
  and that might be usable by the AFS guys too.  Neil's patch tries to
  address a bunch of things that I didn't, and looks better for the
  long run.
 
 
 
 Updated to 2.4.5, with the nfs list cc'd this time in hopes of comments
 or flames...
 
 -chris
 
 diff -Nru a/fs/nfsd/nfsfh.c b/fs/nfsd/nfsfh.c
 --- a/fs/nfsd/nfsfh.c   Fri Jun  1 16:08:41 2001
 +++ b/fs/nfsd/nfsfh.c   Fri Jun  1 16:08:41 2001
 @@ -116,40 +116,12 @@
 return error;
  }
 
 -/* this should be provided by each filesystem in an nfsd_operations interface as
 - * iget isn't really the right interface
 - */
 -static struct dentry *nfsd_iget(struct super_block *sb, unsigned long ino, __u32 
generation)
 +static struct dentry *dentry_from_inode(struct inode *inode)
  {
 -
 -   /* iget isn't really right if the inode is currently unallocated!!
 -* This should really all be done inside each filesystem
 -*
 -* ext2fs' read_inode has been strengthed to return a bad_inode if the inode
 -*   had been deleted.
 -*
 -* Currently we don't know the generation for parent directory, so a 
generation
 -* of 0 means accept any
 -*/
 -   struct inode *inode;
 struct list_head *lp;
 struct dentry *result;
 -   inode = iget(sb, ino);
 -   if (is_bad_inode(inode)
 -   || (generation  inode-i_generation != generation)
 -   ) {
 -   /* we didn't find the right inode.. */
 -   dprintk(fh_verify: Inode %lu, Bad count: %d %d or version  %u %u\n,
 -   inode-i_ino,
 -   inode-i_nlink, atomic_read(inode-i_count),
 -   inode-i_generation,
 -   generation);
 -
 -   iput(inode);
 -   return ERR_PTR(-ESTALE);
 -   }
 -   /* now to find a dentry.
 -* If possible, get a well-connected one
 +   /*
 +* If possible, get a well-connected dentry
  */
 spin_lock(dcache_lock);
 for (lp = inode-i_dentry.next; lp != inode-i_dentry ; lp=lp-next) {
 @@ -173,6 +145,92 @@
 return result;
  }
 
 +static struct inode *__inode_from_fh(struct super_block *sb, int ino,
 +int generation)
 +{
 +   struct inode *inode ;
 +
 +   inode = iget(sb, ino);
 +   if (is_bad_inode(inode)
 +   || (generation  inode-i_generation != generation)
 +   ) {
 +   /* we didn't find the right inode.. */
 +   dprintk(fh_verify: Inode %lu, Bad count: %d %d or version  %u %u\n,
 +   inode-i_ino,
 +   inode-i_nlink, atomic_read(inode-i_count),
 +   inode-i_generation,
 +   generation);
 +
 +   iput(inode);
 +   return ERR_PTR(-ESTALE);
 +   }
 +   return inode ;
 +}
 +
 +static struct inode *inode_from_fh(struct super_block *sb,
 +   __u32 *datap,
 +   int len)
 +{
 +   if (sb-s_op-inode_from_fh)
 +   return sb-s_op-inode_from_fh(sb, datap, len) ;
 +   return __inode_from_fh(sb, datap[0], datap[1]) ;
 +}
 +
 +static struct inode *parent_from_fh(struct super_block *sb,
 +   __u32 *datap,
 +   int len)
 +{
 +   if (sb-s_op-parent_from_fh)
 +   return sb-s_op-parent_from_fh(sb, datap, len) ;
 +
 +   if (len = 3)
 +   return __inode_from_fh(sb, datap[2], 0) ;
 +   return ERR_PTR(-ESTALE);
 +}
 +
 +/*
 + * two iget funcs, one for inode, and one for parent directory
 + *
 + * this should be provided by each filesystem in an nfsd_operations interface as
 + * iget isn't really the right interface
 + *
 + * If the filesystem doesn't provide funcs to get inodes from datap,
 + * it must be: inum, generation, dir inum.  Length of 2 means the
 + * dir inum isn't there.
 + *
 + * iget isn't really right if the inode is currently unallocated!!
 + * This should really all be done inside each filesystem
 + *
 + * ext2fs' read_inode has been strengthed to return a bad_inode if the inode
 + *   had been deleted.
 + *
 + * Currently we don't know the generation for parent directory, 

Re: unmount issues with 2.4.5-ac5, 3ware, and ReiserFS (was: kernel-2.4.5

2001-06-01 Thread Hans Reiser

known VFS bug, ask viro for details, 2.4.5 is not stable because of it, use
2.4.4

Hans

[EMAIL PROTECTED] wrote:
> 
> On Thu, May 31, 2001 at 05:04:50PM -0500, Jordan wrote:
> > Alan Cox wrote:
> > >
> > > > I'm staying on 2.4.5-ac5 for whatever it's worth (putting my life on the
> > > > line for the community? kidding...) and will report anything new. I will
> > > > be on the lookout for later ac patches, 2.4.6 ... and hopefully anything
> > > > anybody can share with me about this. I hope we'll see an end to these
> > >
> > > Can you tell me if 2.4.5-ac4 is ok. ac5 has a small 'obviously correct'
> > > reiserfs module unload change that seems the first suspect
> > >
> > > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > > the body of a message to [EMAIL PROTECTED]
> > > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > > Please read the FAQ at  http://www.tux.org/lkml/
> >
> > I have seen this same problem with unmounting in 2.4.5-ac5, it was
> > perfectly fine in 2.4.5-ac3 and ac4.  I would guess the module unload is
> > what did it.
> >
> 2.4.5-ac4 was fine, 2.4.5-ac5:
> 
> /space in /etc/fstab:
> 
> /dev/hda10  /space1 reiserfsdefaults 1 2
> 
> strace umount /space1:
> 
> open("/usr/lib/locale/en_US/LC_TIME", O_RDONLY) = 3
> fstat64(3, {st_mode=S_IFREG|0644, st_size=2441, ...}) = 0
> old_mmap(NULL, 2441, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4001f000
> close(3)= 0
> open("/usr/lib/locale/en_US/LC_NUMERIC", O_RDONLY) = 3
> fstat64(3, {st_mode=S_IFREG|0644, st_size=44, ...}) = 0
> old_mmap(NULL, 44, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4002
> close(3)= 0
> open("/usr/lib/locale/en_US/LC_CTYPE", O_RDONLY) = 3
> fstat64(3, {st_mode=S_IFREG|0644, st_size=104804, ...}) = 0
> old_mmap(NULL, 104804, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40137000
> close(3)= 0
> SYS_199(0x40131ad8, 0, 0x40132760, 0x40130210, 0) = 0
> semop(1074993880, 0x40130210, 0)= 0
> brk(0x8056000)  = 0x8056000
> readlink("/space1", 0xbfffe51c, 4095)   = -1 EINVAL (Invalid argument)
> open("/etc/mtab", O_RDONLY) = 3
> fstat64(3, {st_mode=S_IFREG|0644, st_size=680, ...}) = 0
> old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
>0x40021000
> read(3, "/dev/hde1 / ext2 rw 0 0\nproc /pr"..., 4096) = 680
> read(3, "", 4096)   = 0
> close(3)= 0
> munmap(0x40021000, 4096)= 0
> oldumount("/space1"
> 
> and there it hangs. The kernel doesn't hang, but while 'mount' displays
> /space1 as mounted, ls /space1/ says nothing. df -m reveals:
> 
> Filesystem   1M-blocks  Used Available Use% Mounted on
> /dev/hda102015   907  1005  48% /space1
> 
> Good luck,
> Jurriaan
> --
> The music in my heart I bore long after it was heard no more.
> William Wordsworth
> GNU/Linux 2.4.5-ac5 SMP/ReiserFS 2x1402 bogomips load av: 5.60 2.71 1.16
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [EMAIL PROTECTED]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: unmount issues with 2.4.5-ac5, 3ware, and ReiserFS (was: kernel-2.4.5

2001-06-01 Thread Hans Reiser

known VFS bug, ask viro for details, 2.4.5 is not stable because of it, use
2.4.4

Hans

[EMAIL PROTECTED] wrote:
 
 On Thu, May 31, 2001 at 05:04:50PM -0500, Jordan wrote:
  Alan Cox wrote:
  
I'm staying on 2.4.5-ac5 for whatever it's worth (putting my life on the
line for the community? kidding...) and will report anything new. I will
be on the lookout for later ac patches, 2.4.6 ... and hopefully anything
anybody can share with me about this. I hope we'll see an end to these
  
   Can you tell me if 2.4.5-ac4 is ok. ac5 has a small 'obviously correct'
   reiserfs module unload change that seems the first suspect
  
   To unsubscribe from this list: send the line unsubscribe linux-kernel in
   the body of a message to [EMAIL PROTECTED]
   More majordomo info at  http://vger.kernel.org/majordomo-info.html
   Please read the FAQ at  http://www.tux.org/lkml/
 
  I have seen this same problem with unmounting in 2.4.5-ac5, it was
  perfectly fine in 2.4.5-ac3 and ac4.  I would guess the module unload is
  what did it.
 
 2.4.5-ac4 was fine, 2.4.5-ac5:
 
 /space in /etc/fstab:
 
 /dev/hda10  /space1 reiserfsdefaults 1 2
 
 strace umount /space1:
 
 open(/usr/lib/locale/en_US/LC_TIME, O_RDONLY) = 3
 fstat64(3, {st_mode=S_IFREG|0644, st_size=2441, ...}) = 0
 old_mmap(NULL, 2441, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4001f000
 close(3)= 0
 open(/usr/lib/locale/en_US/LC_NUMERIC, O_RDONLY) = 3
 fstat64(3, {st_mode=S_IFREG|0644, st_size=44, ...}) = 0
 old_mmap(NULL, 44, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4002
 close(3)= 0
 open(/usr/lib/locale/en_US/LC_CTYPE, O_RDONLY) = 3
 fstat64(3, {st_mode=S_IFREG|0644, st_size=104804, ...}) = 0
 old_mmap(NULL, 104804, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40137000
 close(3)= 0
 SYS_199(0x40131ad8, 0, 0x40132760, 0x40130210, 0) = 0
 semop(1074993880, 0x40130210, 0)= 0
 brk(0x8056000)  = 0x8056000
 readlink(/space1, 0xbfffe51c, 4095)   = -1 EINVAL (Invalid argument)
 open(/etc/mtab, O_RDONLY) = 3
 fstat64(3, {st_mode=S_IFREG|0644, st_size=680, ...}) = 0
 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x40021000
 read(3, /dev/hde1 / ext2 rw 0 0\nproc /pr..., 4096) = 680
 read(3, , 4096)   = 0
 close(3)= 0
 munmap(0x40021000, 4096)= 0
 oldumount(/space1
 
 and there it hangs. The kernel doesn't hang, but while 'mount' displays
 /space1 as mounted, ls /space1/ says nothing. df -m reveals:
 
 Filesystem   1M-blocks  Used Available Use% Mounted on
 /dev/hda102015   907  1005  48% /space1
 
 Good luck,
 Jurriaan
 --
 The music in my heart I bore long after it was heard no more.
 William Wordsworth
 GNU/Linux 2.4.5-ac5 SMP/ReiserFS 2x1402 bogomips load av: 5.60 2.71 1.16
 -
 To unsubscribe from this list: send the line unsubscribe linux-kernel in
 the body of a message to [EMAIL PROTECTED]
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 Please read the FAQ at  http://www.tux.org/lkml/
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: [reiserfs-list] Re: Why side-effects on open(2) are evil. (was Re: [RFD w/info-PATCH]device arguments from lookup)

2001-05-31 Thread Hans Reiser

Daniel Phillips wrote:

> Graciously accepted.  Coming up with something sensible in a mere 6
> months would be a minor miracle. ;-)
> 
> - what happens if the user forgets to close the transaction?

then the user has branched into his own version, or at least that would be my
take on it.  Another possible method is to expire transactions by persons who
lack permission to keep them open indefinitely.  I suppose one could expire them
to abort, or expire them to commit, both being valid under some circumstances.  


> 
>I plan to set a checkpoint there (because the transaction got
>too big) and log the fact that it's open.
> 
> - issues of lock/transaction duration
> 
>Once again relying on checkpoints, when the transaction gets
>uncomfortably big for cache, set a checkpoint.  I haven't thought
>about locks
> 
> - transaction batching
> 
>1) Explicit transaction batch close 2) Cache gets past a certain
>fullness.  In both cases, no new transactions are allowed to start
>and as soon as all current ones are closed we close the batch.re6;
> 
> - of levels of isolation
> - concurrent transactions modifying global fs metadata
>and some but not all of those concurrent transactions receiving a
>rollback
> 
>First I was going to write 'huh?' here, then I realized you're
>talking about real database ops, not just filesystem ops.  I had
>in mind something more modest: transactions are 'mv', 'read/write'
>(if the 'atomic read/write' is set), other filesystem operations I've
>forgotten, and anything the user puts between open_xact and
>close_xact.  You are raising the ante a little ;-)
> 
>In my case (Tux2) I could do an efficient rollback to the beginning
>   of the batch (phase), then I would have had to have kept an
>in-memory log of the transactions for selective replay.  With a
>journal log you can obviously do the same thing, but perhaps more
>efficiently if your journal design supports undo/redo.
> 
>The above is a pure flight of fancy, we won't be seeing anything
>so fancy as an API across filesystems.

It is just a matter of time, and we will.  I think that the major release AFTER
2.6 will see it.  First we have to get a prototype done in time for 2.6

> 
> - permissions relating to keeping transactions open.
>We can see this one in the light of a simple filesystem
>transaction: what happens if we are in the middle of a mv and
>someone changes the permissions?  Go with the starting or
>ending permissions?
> 
> Well, the database side of this is really interesting, but to get
> something generic across filesystems, the scope pretty well has to be
> limited to journal-type transactions, don't you think?

don't know what a journal-type transaction is and how it differs from a database
transaction.

> 
> --
> Daniel
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: NULL characters in file on ReiserFS again.

2001-05-31 Thread Hans Reiser

Andrej Borsenkow wrote:
> 
> This happened to me yesterday on kernel-2.4.4-6mdk (Mandrake cooker, based
> on 2.4.4-ac14), single reiser root filesystem, mounted with default options.
> Hardware - ASUS CUSL2 (i815e chipset), Fujitsu UDMA-4 drive.
> 
> I tried to change hostname and did not have the corresponding entry in
> /etc/hosts (or anywhere). As a tesult, startx hung starting X server; it was
> not possible to switch to alpha console or kill X server. I pressed reset
> and after reboot looked into /var/log/XFree86*log - and there were a bunch
> of ^@ there.
> 
> I then run fsck from another system (installed on another partition) but
> there was no errors (well, new errors - there was off-by-one free blocks
> bitmap mismatch but it was always there, I do not know how to correct it). I
> tried the above once more but this time XFree log was O.K.
> 
> So, I really do not know how to reproduce it, but I wanted to give a warning
> that a problem still exists (albeit in emergency situation). As Reiser does
> not do any fsck after crash, the problem is serious enough IMHO.
> 
> -andrej
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [EMAIL PROTECTED]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
this is the nature of metadata journaling filesystems.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: NULL characters in file on ReiserFS again.

2001-05-31 Thread Hans Reiser

Andrej Borsenkow wrote:
 
 This happened to me yesterday on kernel-2.4.4-6mdk (Mandrake cooker, based
 on 2.4.4-ac14), single reiser root filesystem, mounted with default options.
 Hardware - ASUS CUSL2 (i815e chipset), Fujitsu UDMA-4 drive.
 
 I tried to change hostname and did not have the corresponding entry in
 /etc/hosts (or anywhere). As a tesult, startx hung starting X server; it was
 not possible to switch to alpha console or kill X server. I pressed reset
 and after reboot looked into /var/log/XFree86*log - and there were a bunch
 of ^@ there.
 
 I then run fsck from another system (installed on another partition) but
 there was no errors (well, new errors - there was off-by-one free blocks
 bitmap mismatch but it was always there, I do not know how to correct it). I
 tried the above once more but this time XFree log was O.K.
 
 So, I really do not know how to reproduce it, but I wanted to give a warning
 that a problem still exists (albeit in emergency situation). As Reiser does
 not do any fsck after crash, the problem is serious enough IMHO.
 
 -andrej
 
 -
 To unsubscribe from this list: send the line unsubscribe linux-kernel in
 the body of a message to [EMAIL PROTECTED]
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 Please read the FAQ at  http://www.tux.org/lkml/
this is the nature of metadata journaling filesystems.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: [reiserfs-list] Re: Why side-effects on open(2) are evil. (was Re: [RFD w/info-PATCH]device arguments from lookup)

2001-05-31 Thread Hans Reiser

Daniel Phillips wrote:

 Graciously accepted.  Coming up with something sensible in a mere 6
 months would be a minor miracle. ;-)
 
 - what happens if the user forgets to close the transaction?

then the user has branched into his own version, or at least that would be my
take on it.  Another possible method is to expire transactions by persons who
lack permission to keep them open indefinitely.  I suppose one could expire them
to abort, or expire them to commit, both being valid under some circumstances.  


 
I plan to set a checkpoint there (because the transaction got
too big) and log the fact that it's open.
 
 - issues of lock/transaction duration
 
Once again relying on checkpoints, when the transaction gets
uncomfortably big for cache, set a checkpoint.  I haven't thought
about locks
 
 - transaction batching
 
1) Explicit transaction batch close 2) Cache gets past a certain
fullness.  In both cases, no new transactions are allowed to start
and as soon as all current ones are closed we close the batch.re6;
 
 - of levels of isolation
 - concurrent transactions modifying global fs metadata
and some but not all of those concurrent transactions receiving a
rollback
 
First I was going to write 'huh?' here, then I realized you're
talking about real database ops, not just filesystem ops.  I had
in mind something more modest: transactions are 'mv', 'read/write'
(if the 'atomic read/write' is set), other filesystem operations I've
forgotten, and anything the user puts between open_xact and
close_xact.  You are raising the ante a little ;-)
 
In my case (Tux2) I could do an efficient rollback to the beginning
   of the batch (phase), then I would have had to have kept an
in-memory log of the transactions for selective replay.  With a
journal log you can obviously do the same thing, but perhaps more
efficiently if your journal design supports undo/redo.
 
The above is a pure flight of fancy, we won't be seeing anything
so fancy as an API across filesystems.

It is just a matter of time, and we will.  I think that the major release AFTER
2.6 will see it.  First we have to get a prototype done in time for 2.6

 
 - permissions relating to keeping transactions open.
We can see this one in the light of a simple filesystem
transaction: what happens if we are in the middle of a mv and
someone changes the permissions?  Go with the starting or
ending permissions?
 
 Well, the database side of this is really interesting, but to get
 something generic across filesystems, the scope pretty well has to be
 limited to journal-type transactions, don't you think?

don't know what a journal-type transaction is and how it differs from a database
transaction.

 
 --
 Daniel
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: Why side-effects on open(2) are evil. (was Re: [RFD w/info-PATCH]device arguments from lookup)

2001-05-24 Thread Hans Reiser

Daniel Phillips wrote:
> 
> On Tuesday 22 May 2001 22:10, Andreas Dilger wrote:
> > Peter Braam writes:
> > > File system journal recovery can corrupt a snapshot, because it
> > > copies data that needs to be preserved in a snapshot. During
> > > journal replay such data may be copied again, but the source can
> > > have new data already.
> >
> > The way it is implemented in reiserfs is to wait for existing
> > transactions to complete, entirely flush the journal and block all
> > new transactions from starting.  Stephen implemented a journal flush
> > API to do this for ext3, but the hooks to call it from LVM are not in
> > place yet.  This way the journal is totally empty at the time the
> > snapshot is done, so the read-only copy does not need to do journal
> > recovery, so no problems can arise.
> 
> I suppose I'm just reiterating the obvious, but we should eventually
> have a generic filesystem transaction API at the VFS level, once we
> have enough data points to know what the One True API should be.
> 
> --
> Daniel
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [EMAIL PROTECTED]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/


Daniel, implementing transactions is not a trivial thing as you probably know. 
It requires that you resolve such issues as, what happens if the user forgets to
close the transaction, issues of lock/transaction duration, of transaction
batching, of levels of isolation, of concurrent transactions modifying global fs
metadata and some but not all of those concurrent transactions receiving a
rollback, and of permissions relating to keeping transactions open.  I would
encourage you to participate in the reiser4 design discussion we will be having
over the next 6 months, and give us your opinions.  Josh will be leading that
design effort for the ReiserFS team.

Hans
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: Dying disk and filesystem choice.

2001-05-24 Thread Hans Reiser

Erik Mouw wrote:
> 
> On Thu, May 24, 2001 at 09:53:45AM -0700, Hans Reiser wrote:
> > No, reiserfs does have badblock support
> >
> > You just have to get it as a separate patch from us because it was
> > written after code freeze.
> 
> IMHO we are not that deep into code freeze anymore. Freevxfs got added
> in linux-2.4.5-pre*, so I think that a patch that adds a useful feature
> like badblock support would be OK.
> 
> Erik
> 
> --
> J.A.K. (Erik) Mouw, Information and Communication Theory Group, Department
> of Electrical Engineering, Faculty of Information Technology and Systems,
> Delft University of Technology, PO BOX 5031,  2600 GA Delft, The Netherlands
> Phone: +31-15-2783635  Fax: +31-15-2781843  Email: [EMAIL PROTECTED]
> WWW: http://www-ict.its.tudelft.nl/~erik/
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [EMAIL PROTECTED]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

vxfs is probably a completely separate fs that won't destabilize other
filesystems, or at least I hope so.  ReiserFS is stable code now, we aren't
going to change that by adding features unless they go into the ac series for
six weeks or so first.  ReiserFS is the SuSE recommended FS, and we can't go
destabilizing it.  I am told by sistina.com (maintainers of LVM) that in their
surveys of the users of LVM, 90% use ReiserFS, and the users of LVM tend very
much to be persons with mission critical servers.  We sent Linus a patch to mark
us as stable not experimental.  When we say stable, it means something.  Right
now it means zero (yes, zero) new bug reports that are not user error or old
versions or fsck, since 2.4.4 came out.  

fsck is improving dramatically in stability every week.  I used it myself last
week, and got my data back minus the root directory after trashing the front of
my partition accidentally.  (Which gave me a chance to review its end user
usability, which is also improving.)  We aren't yet ready to pass the zero a
random block and see it recover always excepting what was zero'd test, but we
will be before long.  One of the things we realized recently is that if the user
knows what got trashed, and he can tell this to the FS, it can be very useful
for bitmap blocks.  Sorry, I wander here.

Hans
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: Dying disk and filesystem choice.

2001-05-24 Thread Hans Reiser

J Sloan wrote:
> 
> Excellent!
> 
> Will this be in resierfs 4.0 then?
> 
> cu
> 
> jjs
> 
> Hans Reiser schrieb:
> 
> > No, reiserfs does have badblock support
> >
> > You just have to get it as a separate patch from us because it was written after
> > code freeze.


No, version 4 won't ship until september 2002, these features are all v3.7,
which will be sent to Linus as soon as 2.5.1 opens up.

Hans
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: Dying disk and filesystem choice.

2001-05-24 Thread Hans Reiser

Andi Kleen wrote:
> 
> On Thu, May 24, 2001 at 12:58:14AM -0600, Andreas Dilger wrote:
> > Well reiserfs is probably a very bad choice at this point.  It
> > does not have any bad blocks support (yet), so as soon as you have
> > a bad block you are stuck.
> 
> reiserfs doesn't, but the HD usually has transparently in its firmware.
> So it hits a bad block; you see an IO error and the next time you hit
> the block the firmware has mapped in a fresh one from its internal
> reserves.
> 
> -Andi
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [EMAIL PROTECTED]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/


No, reiserfs does have badblock support

You just have to get it as a separate patch from us because it was written after
code freeze.

Hans
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: Dying disk and filesystem choice.

2001-05-24 Thread Hans Reiser

Andi Kleen wrote:
 
 On Thu, May 24, 2001 at 12:58:14AM -0600, Andreas Dilger wrote:
  Well reiserfs is probably a very bad choice at this point.  It
  does not have any bad blocks support (yet), so as soon as you have
  a bad block you are stuck.
 
 reiserfs doesn't, but the HD usually has transparently in its firmware.
 So it hits a bad block; you see an IO error and the next time you hit
 the block the firmware has mapped in a fresh one from its internal
 reserves.
 
 -Andi
 -
 To unsubscribe from this list: send the line unsubscribe linux-kernel in
 the body of a message to [EMAIL PROTECTED]
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 Please read the FAQ at  http://www.tux.org/lkml/


No, reiserfs does have badblock support

You just have to get it as a separate patch from us because it was written after
code freeze.

Hans
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: Dying disk and filesystem choice.

2001-05-24 Thread Hans Reiser

J Sloan wrote:
 
 Excellent!
 
 Will this be in resierfs 4.0 then?
 
 cu
 
 jjs
 
 Hans Reiser schrieb:
 
  No, reiserfs does have badblock support
 
  You just have to get it as a separate patch from us because it was written after
  code freeze.


No, version 4 won't ship until september 2002, these features are all v3.7,
which will be sent to Linus as soon as 2.5.1 opens up.

Hans
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



  1   2   3   >