Re: Why is there no JFS?

2003-02-13 Thread Terry Lambert
David Schultz wrote:
  The easy way to fix this is to insert a new dependency for the
  completion of the allocation.  Basically, this would put in a
  stall barrier that would cause the outstanding I/O to drain before
  the new I/O was attempted.  All other operations behind the one
  that caused the stall would b held off, which would avoid the
  starvation deadlock you describe.  Most likely, all this would
  require some minor code to maintain a running tally of virtual vs.
  real free block count.
 
 It really isn't a big deal.  You're saying you can fix the problem
 where allocations can sometimes fail on a busy 99% full
 filesystem, but on such a filesystem, you're just as likely to hit
 it when it's 100% full.  Kirk's solution is simple and has the
 advantage of not requiring additional dependency tracking for the
 common case.

No, actually it should work for 100% full, as well, as long as
that 100% full is the real disk vs. the real disk, after all
pending updates have been applied.

In other words, if it would have worked with soft updates turned
off, then it will work with soft updates turned on.

I agree that it's not that big a deal, but if that's truly the
current excuse for not having soft updates on for the root FS,
this removes all pretense for that excuse.

IMO, this is not the reason for them being off on /; the real
reason is as I've stated: sysinstall expects the common case to
be an initial install, not operations after the initial install,
and so does not turn it on by default.

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Re: Why is there no JFS?

2003-02-13 Thread David Schultz
Thus spake Terry Lambert [EMAIL PROTECTED]:
 David Schultz wrote:
   The easy way to fix this is to insert a new dependency for the
   completion of the allocation.  Basically, this would put in a
   stall barrier that would cause the outstanding I/O to drain before
   the new I/O was attempted.  All other operations behind the one
   that caused the stall would b held off, which would avoid the
   starvation deadlock you describe.  Most likely, all this would
   require some minor code to maintain a running tally of virtual vs.
   real free block count.
  
  It really isn't a big deal.  You're saying you can fix the problem
  where allocations can sometimes fail on a busy 99% full
  filesystem, but on such a filesystem, you're just as likely to hit
  it when it's 100% full.  Kirk's solution is simple and has the
  advantage of not requiring additional dependency tracking for the
  common case.
 
 No, actually it should work for 100% full, as well, as long as
 that 100% full is the real disk vs. the real disk, after all
 pending updates have been applied.
 
 In other words, if it would have worked with soft updates turned
 off, then it will work with soft updates turned on.

My point was that a busy disk that is nearly 100% full will
probably experience intermitted ``disk full'' errors anyway,
so it suffices to simply deal with cases such as
'rm -rf foo  immediately create lots more files', which
softupdates does handle in -CURRENT.

 IMO, this is not the reason for them being off on /; the real
 reason is as I've stated: sysinstall expects the common case to
 be an initial install, not operations after the initial install,
 and so does not turn it on by default.

The original reason was due to the possibility of installworld
failing, due to the case described above not being handled
particularly well in FreeBSD 4.X.  Sysinstall is perfectly happy
with creating a root FS with softupdates enabled.  If someone
wants to bother changing the default for what little difference it
might make in installworld/installkernel times, I would support it.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Re: Why is there no JFS?

2003-02-13 Thread Darren Pilgrim
David Schultz wrote:

Thus spake Terry Lambert [EMAIL PROTECTED]:


David Schultz wrote:


The easy way to fix this is to insert a new dependency for the
completion of the allocation.  Basically, this would put in a
stall barrier that would cause the outstanding I/O to drain before
the new I/O was attempted.  All other operations behind the one
that caused the stall would b held off, which would avoid the
starvation deadlock you describe.  Most likely, all this would
require some minor code to maintain a running tally of virtual vs.
real free block count.


It really isn't a big deal.  You're saying you can fix the problem
where allocations can sometimes fail on a busy 99% full
filesystem, but on such a filesystem, you're just as likely to hit
it when it's 100% full.  Kirk's solution is simple and has the
advantage of not requiring additional dependency tracking for the
common case.


No, actually it should work for 100% full, as well, as long as
that 100% full is the real disk vs. the real disk, after all
pending updates have been applied.

In other words, if it would have worked with soft updates turned
off, then it will work with soft updates turned on.



My point was that a busy disk that is nearly 100% full will
probably experience intermitted ``disk full'' errors anyway,
so it suffices to simply deal with cases such as
'rm -rf foo  immediately create lots more files', which
softupdates does handle in -CURRENT.



IMO, this is not the reason for them being off on /; the real
reason is as I've stated: sysinstall expects the common case to
be an initial install, not operations after the initial install,
and so does not turn it on by default.



The original reason was due to the possibility of installworld
failing, due to the case described above not being handled
particularly well in FreeBSD 4.X.  Sysinstall is perfectly happy
with creating a root FS with softupdates enabled.  If someone
wants to bother changing the default for what little difference it
might make in installworld/installkernel times, I would support it.


For what its worth, I think all that's needed is to change line 339 in 
usr.sbin/sysinstall/label.c:

--- label.c Mon Dec 30 21:19:15 2002
+++ label.c.new Thu Feb 13 11:50:44 2003
@@ -336,7 +336,7 @@
 strcpy(pi-newfs_data.newfs_ufs.user_options, );
 pi-newfs_data.newfs_ufs.acls = FALSE;
 pi-newfs_data.newfs_ufs.multilabel = FALSE;
-pi-newfs_data.newfs_ufs.softupdates = strcmp(mpoint, /);
+pi-newfs_data.newfs_ufs.softupdates = TRUE;
 pi-newfs_data.newfs_ufs.ufs2 = FALSE;

 return pi;

The patch is against the 5.0-R tagged version, but it should still apply 
to the current version.

I think softupdates is still (viewed as) riskier than synchronous 
writes, at least for large numbers of writes (like installworld) to a 
filesystem of limited size, so someone is going to inevitably ask if 
FreeBSD should be loading the bullets as well.  Personally, if it's a 
matter of choosing overall safety or a performance gain for something 
you really shouldn't be doing to a live machine anyway, I'll take the 
safe route and option the performance gain.

P.S., thanks everyone for the discussion, it was enlightening.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message


Re: Why is there no JFS?

2003-02-13 Thread David Schultz
Thus spake Darren Pilgrim [EMAIL PROTECTED]:
 David Schultz wrote:
 Thus spake Terry Lambert [EMAIL PROTECTED]:
 IMO, this is not the reason for them being off on /; the real
 reason is as I've stated: sysinstall expects the common case to
 be an initial install, not operations after the initial install,
 and so does not turn it on by default.
 
 
 The original reason was due to the possibility of installworld
 failing, due to the case described above not being handled
 particularly well in FreeBSD 4.X.  Sysinstall is perfectly happy
 with creating a root FS with softupdates enabled.  If someone
 wants to bother changing the default for what little difference it
 might make in installworld/installkernel times, I would support it.
 
 For what its worth, I think all that's needed is to change line 339 in 
 usr.sbin/sysinstall/label.c:
...
 I think softupdates is still (viewed as) riskier than synchronous 
 writes, at least for large numbers of writes (like installworld) to a 
 filesystem of limited size, so someone is going to inevitably ask if 
 FreeBSD should be loading the bullets as well.  Personally, if it's a 
 matter of choosing overall safety or a performance gain for something 
 you really shouldn't be doing to a live machine anyway, I'll take the 
 safe route and option the performance gain.

I've heard that argument, and while I think it has *some* validity
in general, I don't buy it for installworld/installkernel in
particular.  Softupdates guarantees metadata consistency (modulo
hardware issues that have been discussed on this list before), but
it can reorder writes and delay the amount of time it takes your
data to hit the disk.  For an installworld, this means that the
window during which you have a partially installed world is
slightly larger, but installworld takes a while, so the window is
already pretty darn big.  The whole rationale for doing
installworld/installkernel in a particular sequence is that with
any luck, you can boot to single-user mode after something goes
wrong and finish the job (or revert to the old kernel.)

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Re: Why is there no JFS?

2003-02-13 Thread Alfred Perlstein
This thread should be on -questions.

As far as safe updating, one can always take a snapshot before
installworld and restore from that if something goes awry.

thank you,
-Alfred

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Re: Why is there no JFS?

2003-02-13 Thread Terry Lambert
David Schultz wrote:
 Thus spake Terry Lambert [EMAIL PROTECTED]:
  In other words, if it would have worked with soft updates turned
  off, then it will work with soft updates turned on.
 
 My point was that a busy disk that is nearly 100% full will
 probably experience intermitted ``disk full'' errors anyway,
 so it suffices to simply deal with cases such as
 'rm -rf foo  immediately create lots more files', which
 softupdates does handle in -CURRENT.

I think the problem that was specifically mentioned, with regard
to / (after a lot of assumptions) was a file replacement which had
to delete an old file and make room for a new one.

I do this all the time, by replacing the kernel and all modules,
and keeping one behind, e.g. rm x.old; mv x x.old; cp blah x.


This fails on a soft updates system because the deletion is not
actually done to the point of the space having been recovered,
before the copies are started.


  IMO, this is not the reason for them being off on /; the real
  reason is as I've stated: sysinstall expects the common case to
  be an initial install, not operations after the initial install,
  and so does not turn it on by default.
 
 The original reason was due to the possibility of installworld
 failing, due to the case described above not being handled
 particularly well in FreeBSD 4.X.  Sysinstall is perfectly happy
 with creating a root FS with softupdates enabled.  If someone
 wants to bother changing the default for what little difference it
 might make in installworld/installkernel times, I would support it.

Eh.  I don't think it's that useful, but sysinstall in any mode
other than create the FS in the first place/new install is not
really going to have a lot of opportunity to do that bit flip.

The most common way I use sysinstall is to NFS mount a CDROM image
off some machine, get the sysinstall image that matches the CDROM
image, and copy it to /tmp (this is a bitch; the sysinstall image
should be made available by itself on distribution CDROMs; as it
is, you have to vnconfig, copy a file off it, and vnconfig again,
and copy a file off that, to get the sysinstall program).

It's about the only way you can upgrade a rackmount machine with
a serial console and no floppy or CDROM drive on it (you need a
non-serial console to use the Intel PXE crap to netboot).

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Re: Why is there no JFS?

2003-02-13 Thread Terry Lambert
David Schultz wrote:
  I think softupdates is still (viewed as) riskier than synchronous
  writes, at least for large numbers of writes (like installworld) to a

NB: An initial system install is done with async mounts.  You can't
use async mounts if you use soft updates, because the dependencies
for already outstanding pending writes won't be there after a
mount -u.  Same is true of sync mounts, but install doesn't
use that, or try to use mount -u.

 I've heard that argument, and while I think it has *some* validity
 in general, I don't buy it for installworld/installkernel in
 particular.  Softupdates guarantees metadata consistency (modulo
 hardware issues that have been discussed on this list before), but
 it can reorder writes and delay the amount of time it takes your
 data to hit the disk.  For an installworld, this means that the
 window during which you have a partially installed world is
 slightly larger, but installworld takes a while, so the window is
 already pretty darn big.  The whole rationale for doing
 installworld/installkernel in a particular sequence is that with
 any luck, you can boot to single-user mode after something goes
 wrong and finish the job (or revert to the old kernel.)

Heh.

This is the Lightning is less likely to hit me if I play golf
very fast, even though I'm doing it in a thunderstorm argument.

It's based on a false understanding of statistics, and it's the
same argument Linux FS people used to use, back before they had
an FS that ordered metadata writes, to justify not ordering
metadata writes (e.g. use async, the failure window is smaller).

And we all know that's really bogus.  8-) 8-).

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Why is there no JFS?

2003-02-12 Thread Daxbert
The inspiration for this email was from a thread in 
-questions: Re: fsck takes very long after crash/reset

Is anybody currently working on or does there exist
a JFS for FreeBSD?

I've read in the archives, the discussion about 
not really needing JFS because of the benefits of
softupdates. As well as some talk about BSD / GPL
license issues.

Is there not a JFS for FreeBSD becuase, Softupdates 
do the job just fine and nobody has the 
time or interest to work on this?

I'm not running FreeBSD 5.x. So I'm not able to take 
advantage of the background fsck. Can anybody comment 
on their success w/ the background fsck?

If a JFS were to be ported and/or developed for FreeBSD
what should it be based on? XFS, JFS, ReiserFS???

Who would be considered the maintainer for this type of
work?


--daxbert

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Re: Why is there no JFS?

2003-02-12 Thread Kevin Golding
Someone, quite probably Daxbert, once wrote:
The inspiration for this email was from a thread in 
-questions: Re: fsck takes very long after crash/reset

Is anybody currently working on or does there exist
a JFS for FreeBSD?

http://jfs4bsd.sourceforge.net/

Kevin
-- 
[EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Re: Why is there no JFS?

2003-02-12 Thread Mike Meyer
In 045401c2d2db$f9d45c30$[EMAIL PROTECTED], Daxbert 
[EMAIL PROTECTED] typed:
 Is anybody currently working on or does there exist
 a JFS for FreeBSD?

To the best of my knowledge, there is no JFS, and nobody is working on
one.

 I've read in the archives, the discussion about 
 not really needing JFS because of the benefits of
 softupdates. As well as some talk about BSD / GPL
 license issues.

That should have answered most of your questions. Possibly you need
the -current and/or -hackers archives as well.

 Is there not a JFS for FreeBSD becuase, Softupdates 
 do the job just fine and nobody has the 
 time or interest to work on this?

Softupdates with a background fsck solve the problem of wanting to
come back up quickly after a crash, which is the most common reason
people ask for a JFS.

 I'm not running FreeBSD 5.x. So I'm not able to take 
 advantage of the background fsck. Can anybody comment 
 on their success w/ the background fsck?

Someone in the archives indicated that there limited testing things
worked fine. I assume Kirk has tested this as well.

 If a JFS were to be ported and/or developed for FreeBSD
 what should it be based on? XFS, JFS, ReiserFS???

One with a license that will let it be distributed in the core. That
lets out GPL'ed code, and I believe it lets out XFS as well, though
I'm not positive on that.

 Who would be considered the maintainer for this type of
 work?

Whoever did the work, of course.

mike
-- 
Mike Meyer [EMAIL PROTECTED]  http://www.mired.org/consulting.html
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Re: Why is there no JFS?

2003-02-12 Thread northern snowfall


One with a license that will let it be distributed in the core. That
lets out GPL'ed code, and I believe it lets out XFS as well, though
I'm not positive on that.


Just FYI, IBM's JFS is GPL'd, IIRC, according 2 the WWW site for JFS.
Hah, yay for acronyms.
http://www-124.ibm.com/developerworks/oss/jfs/index.html
Don



To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Re: Why is there no JFS?

2003-02-12 Thread David Schultz
Thus spake Daxbert [EMAIL PROTECTED]:
 The inspiration for this email was from a thread in 
 -questions: Re: fsck takes very long after crash/reset
 
 Is anybody currently working on or does there exist
 a JFS for FreeBSD?
...
 Is there not a JFS for FreeBSD becuase, Softupdates 
 do the job just fine and nobody has the 
 time or interest to work on this?

Various people have indicated that they might try to implement
them, but there really isn't a lot of support for the idea.
People already have softupdates, so there's substantially less
incentive to support another technology for ensuring metadata
consistency.  (As Terry will surely point out if I don't,
Softupdates and journalling don't solve *exactly* the same set of
problems.)

 I'm not running FreeBSD 5.x. So I'm not able to take 
 advantage of the background fsck. Can anybody comment 
 on their success w/ the background fsck?

Problems have been reported for very large (60 GB+) drives, but
otherwise it seems to work well.  It is only appropriate to use if
the reason you need to fsck is a crash or power failure.  If a
hardware or software bug messes up part of your FS, you need to
run a foreground fsck.

 If a JFS were to be ported and/or developed for FreeBSD
 what should it be based on? XFS, JFS, ReiserFS???

It would be easier to add journalling to FFS than to port one of
the above filesystems, and the licensing would be problematic.  It
is less problematic for ReiserFS because Hans Reiser is willing to
make exceptions to the GPL as long as e.g. Apple can't build OS X
on top of FreeBSD and thereby get ReiserFS without sharing the
profits with him.  But you still have to find someone for whom
softupdates isn't good enough who is willing to do the work.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Re: Why is there no JFS?

2003-02-12 Thread Matthew Emmerton
 Thus spake Daxbert [EMAIL PROTECTED]:
  The inspiration for this email was from a thread in
  -questions: Re: fsck takes very long after crash/reset
 
  Is anybody currently working on or does there exist
  a JFS for FreeBSD?

Various people (including myself and Hiten Pandya) have done work to port
the GPL'd JFS implementation, but there's one ugly problem -- the GPL.

We can make JFS into a kernel module (avoiding the static-link policy of the
GPL), but then it can only (legally) be used on non-root filesystems, as the
code to read the root filesystem must be statically linked into the kernel.
This in itself makes JFS support somewhat pointless.

This is the same reason why XFS and ReiserFS haven't been ported -- the GPL
prevents us from statically linking the code into the kernel, hence we can't
support booting from any XFS/JFS/ResierFS filesystems.

--
Matt Emmerton


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Re: Why is there no JFS?

2003-02-12 Thread Darren Pilgrim
Matthew Emmerton wrote:

Thus spake Daxbert [EMAIL PROTECTED]:


The inspiration for this email was from a thread in
-questions: Re: fsck takes very long after crash/reset

Is anybody currently working on or does there exist
a JFS for FreeBSD?



Various people (including myself and Hiten Pandya) have done work to port
the GPL'd JFS implementation, but there's one ugly problem -- the GPL.

We can make JFS into a kernel module (avoiding the static-link policy of the
GPL), but then it can only (legally) be used on non-root filesystems, as the
code to read the root filesystem must be statically linked into the kernel.
This in itself makes JFS support somewhat pointless.


Not really.  A properly laid-out filesystem hierarchy will result in no 
writes to / (except for installworld/kernel).  That removes the problem 
that journalling addresses, and is probably why softupdates is disabled 
by default for /.  For large, active filesystems, journalling would be a 
big improvement when you had to run a foreground fsck.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message


Re: Why is there no JFS?

2003-02-12 Thread Terry Lambert
northern snowfall wrote:
 Just FYI, IBM's JFS is GPL'd, IIRC, according 2 the WWW site for JFS.
 Hah, yay for acronyms.

And the IBM JFS is actually the OS/2 JFS, not the AIX JFS.

-- TRL

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Re: Why is there no JFS?

2003-02-12 Thread Cliff Sarginson
On Wed, Feb 12, 2003 at 07:40:00PM -0800, Terry Lambert wrote:
 Darren Pilgrim wrote:
  Not really.  A properly laid-out filesystem hierarchy will result in no
  writes to / (except for installworld/kernel).  That removes the problem
  that journalling addresses, and is probably why softupdates is disabled
  by default for /.  For large, active filesystems, journalling would be a
  big improvement when you had to run a foreground fsck.
 
From what I understand, since I use Linux as well, is that EXT3 is
really a sort of journalling layer above EXT2, since you can mount EXT3
systems as EXT2 - just without the journalling. Since FreeBSD does have
some support for EXT2 already, would it not be a possibility ..shortest
road to Rome -- to extend EXT3 functionality into it ? 
But then I guess the Stallman factor comes into the equation.

But I do agree it would be nice to have journalling available somehow.
Rebooting an incorrectly shutdown (crashed) Linux FS using EXT3 or
Reiser you miss the repairs going on if you blink.
There is of course the operational consideration of speed of disk i/o. I
have read conflicting reports on reiser as to whether it is
significantly slower or faster than EXT2 -- seems to be dependent on
number and size of files on the system.

-- 
Regards
   Cliff Sarginson 
   The Netherlands

[ This mail has been checked as virus-free ]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Re: Why is there no JFS?

2003-02-12 Thread Darren Pilgrim
Terry Lambert wrote:

Darren Pilgrim wrote:


Not really.  A properly laid-out filesystem hierarchy will result in no
writes to / (except for installworld/kernel).  That removes the problem
that journalling addresses, and is probably why softupdates is disabled
by default for /.  For large, active filesystems, journalling would be a
big improvement when you had to run a foreground fsck.



Soft updates are disable on / by default because of the chicken
and egg problem of runing tunefs on /.


If that's the problem, then why doesn't sysinstall enable it by default 
when partitioning for a new install?


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message


Re: Why is there no JFS?

2003-02-12 Thread Michael Sierchio
Darren Pilgrim wrote:


Soft updates are disable on / by default because of the chicken
and egg problem of runing tunefs on /.



If that's the problem, then why doesn't sysinstall enable it by default 
when partitioning for a new install?

You can certainly change the options in sysinstall to force Softupdates
on /

In general, there's little to be gained from it -- on most systems, / is
essentially a read-only filesystem, with very little metadata changed except
for atime.

BTW, IIRC you can certainly 'tunefs -n enable /' while in single-user mode.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Re: Why is there no JFS?

2003-02-12 Thread Brooks Davis
On Wed, Feb 12, 2003 at 07:40:00PM -0800, Terry Lambert wrote:
 Darren Pilgrim wrote:
  Not really.  A properly laid-out filesystem hierarchy will result in no
  writes to / (except for installworld/kernel).  That removes the problem
  that journalling addresses, and is probably why softupdates is disabled
  by default for /.  For large, active filesystems, journalling would be a
  big improvement when you had to run a foreground fsck.
 
 Soft updates are disable on / by default because of the chicken
 and egg problem of runing tunefs on /.

There's no chicken and egg problem when you're booting off install
media or for that matter from single user mode.  The problem was that
softupdates means you don't get space back from deleted files immediatly
so previously / tended to fillup during installworld or installkernel.
I know some fixes have been implemented in that area, but I'm not sure
if then mean you can always write to the space occupied by unlinked
files or just that you have a better chance.

-- Brooks

-- 
Any statement of the form X is the one, true Y is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4



msg19142/pgp0.pgp
Description: PGP signature


Re: Why is there no JFS?

2003-02-12 Thread David Schultz
Thus spake Brooks Davis [EMAIL PROTECTED]:
 On Wed, Feb 12, 2003 at 07:40:00PM -0800, Terry Lambert wrote:
  Darren Pilgrim wrote:
   Not really.  A properly laid-out filesystem hierarchy will result in no
   writes to / (except for installworld/kernel).  That removes the problem
   that journalling addresses, and is probably why softupdates is disabled
   by default for /.  For large, active filesystems, journalling would be a
   big improvement when you had to run a foreground fsck.
  
  Soft updates are disable on / by default because of the chicken
  and egg problem of runing tunefs on /.
 
 There's no chicken and egg problem when you're booting off install
 media or for that matter from single user mode.  The problem was that
 softupdates means you don't get space back from deleted files immediatly
 so previously / tended to fillup during installworld or installkernel.
 I know some fixes have been implemented in that area, but I'm not sure
 if then mean you can always write to the space occupied by unlinked
 files or just that you have a better chance.

The problem is effectively fixed in 5.0.  Basically, when no space
can be found, the syncer is accelerated to try to speed up frees.
Technically it's possible to run into a livelock, where you keep
freeing space and it keeps getting snatched up before you can grab
it, so you wait forever.  So IIRC, there is a point where it just
gives up on finding the space.  However, that won't happen with an
install, so the free space problem isn't a reason not to use
softupdates on the root FS.  I think the default hasn't been
changed just because nobody has bothered.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Re: Why is there no JFS?

2003-02-12 Thread Terry Lambert
Darren Pilgrim wrote:
 Terry Lambert wrote:
  Soft updates are disable on / by default because of the chicken
  and egg problem of runing tunefs on /.
 
 If that's the problem, then why doesn't sysinstall enable it by default
 when partitioning for a new install?

Oliver Stone said it was because there's a conspiracy.

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Re: Why is there no JFS?

2003-02-12 Thread Randy Bush
 Soft updates are disable on / by default because of the chicken
 and egg problem of runing tunefs on /.
 If that's the problem, then why doesn't sysinstall enable it by default
 when partitioning for a new install?
 Oliver Stone said it was because there's a conspiracy.

it's the downdraft from the black helicopters


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Re: Why is there no JFS?

2003-02-12 Thread Terry Lambert
Michael Sierchio wrote:
 Darren Pilgrim wrote:
  Soft updates are disable on / by default because of the chicken
  and egg problem of runing tunefs on /.
 
  If that's the problem, then why doesn't sysinstall enable it by default
  when partitioning for a new install?
 
 You can certainly change the options in sysinstall to force Softupdates
 on /
 
 In general, there's little to be gained from it -- on most systems, / is
 essentially a read-only filesystem, with very little metadata changed except
 for atime.
 
 BTW, IIRC you can certainly 'tunefs -n enable /' while in single-user mode.

If it's mounted read-only, which requires no other mounts, then you
can do it.

I believe the reason it's not on in sysinstall is that sysinstall
tries to mount things async on the initial install, so that doing
things like unpacking ports doesn't take forever.  If it fails, you
can just restart, and having to do that a couple of times is still
faster than waiting for ordered metadata.

The technical reason that it doesn't do it is that the mount update
is not logically an unmount without destroying vnodes(inodes) in
core, with a remount with the new options.  The main reason for
that is that the dependencies go all the way to the buffer cache,
and the backing vnode (e.g. the raw device) that's mounted does
not necessarily get its buffers flushed.  Basically, you'd have to
put a little more work into the mount update code.

This was discussed a long time ago on -arch, when soft updates
first came into FreeBSD, and then again every 18 months or so,
ever after.  See Kirk's postings on the subject, if you don't
want to take mine for it.

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Re: Why is there no JFS?

2003-02-12 Thread Terry Lambert
David Schultz wrote:
  There's no chicken and egg problem when you're booting off install
  media or for that matter from single user mode.  The problem was that
  softupdates means you don't get space back from deleted files immediatly
  so previously / tended to fillup during installworld or installkernel.
  I know some fixes have been implemented in that area, but I'm not sure
  if then mean you can always write to the space occupied by unlinked
  files or just that you have a better chance.
 
 The problem is effectively fixed in 5.0.  Basically, when no space
 can be found, the syncer is accelerated to try to speed up frees.
 Technically it's possible to run into a livelock, where you keep
 freeing space and it keeps getting snatched up before you can grab
 it, so you wait forever.  So IIRC, there is a point where it just
 gives up on finding the space.  However, that won't happen with an
 install, so the free space problem isn't a reason not to use
 softupdates on the root FS.  I think the default hasn't been
 changed just because nobody has bothered.

The easy way to fix this is to insert a new dependency for the
completion of the allocation.  Basically, this would put in a
stall barrier that would cause the outstanding I/O to drain before
the new I/O was attempted.  All other operations behind the one
that caused the stall would b held off, which would avoid the
starvation deadlock you describe.  Most likely, all this would
require some minor code to maintain a running tally of virtual vs.
real free block count.

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message



Re: Why is there no JFS?

2003-02-12 Thread Christoph Hellwig
On Wed, Feb 12, 2003 at 06:41:56PM -0800, Terry Lambert wrote:
 northern snowfall wrote:
  Just FYI, IBM's JFS is GPL'd, IIRC, according 2 the WWW site for JFS.
  Hah, yay for acronyms.
 
 And the IBM JFS is actually the OS/2 JFS, not the AIX JFS.

Or AIX JFS2 :)

(In fact both AIX JFS2 (j2) and JFS/Linux are pretty different from
 JFS for OS/2 now, both code-wise and due to additions to the ondisk
 format.  Unfortunately the AIX JFS2 group doesn't even publish
 documentation on their changes so that the Linux driver uses e.g.
 a different way of storing ACLs.)


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-questions in the body of the message