Re: Tricky subversion import, what to do?

2010-11-07 Thread Tony Finch
 this is about importing unifdef 2.4, which has no significant code
 changes, but that's not the point.

I maintain unifdef and I haven't imported 2.4 because there are no code
changes. Please leave it alone.

Tony.
-- 
f.anthony.n.finch  d...@dotat.at  http://dotat.at/
HUMBER THAMES DOVER WIGHT PORTLAND: NORTH BACKING WEST OR NORTHWEST, 5 TO 7,
DECREASING 4 OR 5, OCCASIONALLY 6 LATER IN HUMBER AND THAMES. MODERATE OR
ROUGH. RAIN THEN FAIR. GOOD.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Tricky subversion import, what to do?

2010-11-07 Thread Tony Finch
On 7 Nov 2010, at 21:29, Ulrich Spörlein u...@spoerlein.net wrote:
 
 As I wrote, that's beside the point and not the question at hand. How/where 
 should it end up in our tree? Is it vendor code? Is it contrib code? And if 
 so how to bootstrap the correct subversion history ...

It is FreeBSD code so it is already in the right place in the tree. My git 
repository started life as a personal scratch repository which I used for 
maintaining the in-tree unifdef. It has grown its own release infrastructure 
for the convenience of its Linux users (there have been a lot of contributions 
from Debian). Because of this a lot of the changes are irrelevant to FreeBSD so 
I have not kept the FreeBSD version strictly in sync.

Please don't mess around with it because you'll just make my maintenance job 
harder.

Tony.
--
f.anthony.n.finch  d...@dotat.at  
http://dotat.at/___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Unfortunate dynamic linking for everything

2003-11-25 Thread Tony Finch
Matthew D. Fuller [EMAIL PROTECTED] wrote:

Not just the startup scripts, but ANY script.  I dare say there's a long,
long list of scripts that use ~-expansion, to say nothing of the
homegrown ones we all have working quietly and forgotten for years.

It's required for POSIX compliance.

Tony.
-- 
f.a.n.finch  [EMAIL PROTECTED]  http://dotat.at/
IRISH SEA: SOUTHWESTERLY 5 OR 6. SHOWERS. GOOD.
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Unfortunate dynamic linking for everything

2003-11-25 Thread Tony Finch
Robert Watson [EMAIL PROTECTED] wrote:

Someone must be using /bin/sh as a shell, because apparently someone
spent a lot of time adding things like character input editing, filename
completion, etc.  We even use sh as the default in adduser(8).

Command-line editing is required for POSIX compliance.

Tony.
-- 
f.a.n.finch  [EMAIL PROTECTED]  http://dotat.at/
FAIR ISLE: SOUTHWESTERLY BACKING EASTERLY 5 TO 7, PERHAPS GALE 8 LATER.
SHOWERS THEN RAIN. MODERATE OR GOOD.
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Unfortunate dynamic linking for everything

2003-11-20 Thread Tony Finch
Jacques A. Vidrine [EMAIL PROTECTED] wrote:

Finally, if we could call `dlopen' from statically-linked binaries,
this wouldn't be an issue.

One of the performance problems that John Dyson mentioned (the sparse
dirtying of libc's data section) would still remain, because the whole
of libc has to be linked into programs that use NSS.

Tony.
-- 
f.a.n.finch  [EMAIL PROTECTED]  http://dotat.at/
THE WASH TO NORTH FORELAND: SOUTHWEST 4 OR 5, PERHAPS 6 FOR A TIME IN EVENING
IN THAMES, VEERS NORTH TO NORTHEAST 2 OR 3 FROM NORTH, BACKS NORTHWEST LATER.
OCCASIONAL RAIN, CLEARS ERRATICALLY FROM NORTH, EXCEPT FAR SOUTH. MODERATE OR
GOOD, LOCALLY POOR IN SOUTH. SLIGHT , LOCALLY MODERATE IN SOUTH.
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: HEADS UP: /bin and /sbin are now dynamically linked

2003-11-17 Thread Tony Finch
Erik Trulsson [EMAIL PROTECTED] wrote:
On Sun, Nov 16, 2003 at 07:24:00PM -0700, Brent Jones wrote:
 
 This is just a case of OS evolution.  /sbin used to be the place where 
 the statically linked recovery things would be placed, in case the 
 shared libraries got hosed.  The only things that needed to be 
 statically linked though, were system utilities, which is why people 
 probably started to associate the s with system, rather than static.

Do you have any references for this?  Every single place that I can
find explains /sbin as system binaries.  I have also never heard of
there ever being duplicates in /bin of the files in /sbin.

That's the way things work in Solaris. It's more a difference between
System V and BSD, rather than one scheme evolving into another.

Tony.
-- 
f.a.n.finch  [EMAIL PROTECTED]  http://dotat.at/
ARDNAMURCHAN POINT TO CAPE WRATH INCLUDING THE OUTER HEBRIDES: WEST 5 OR 6
BACKING SOUTH 4 OR 5, VEERING SOUTHWEST LATER, AND INCREASING 6 LATER IN THE
SOUTH. OCCASIONAL RAIN. MODERATE OR GOOD. MODERATE OR ROUGH, OCCASIONALLY
SLIGHT IN SHELTERED EASTERN WATERS.
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: STEP 2, fixing dhclient behaviour with multiple interfaces

2003-07-30 Thread Tony Finch
Terry Lambert [EMAIL PROTECTED] wrote:

I can't wait for IPv6 stateless autoconfiguration plus SLPv2 so
we can get rid of all this DHCP crap once and for all.  8-(.
SLPv2 is used to find the gateway and DNS server, and after that,
everything magically works.

I thought that the gateway address is (already) set up using
RFC 2461 router and prefix discovery.

Tony.
-- 
f.a.n.finch  [EMAIL PROTECTED]  http://dotat.at/
CAPE WRATH TO RATTRAY HEAD INCLUDING ORKNEY: NORTHWEST 3 OR 4 FALLING VARIABLE
2 OR 3 FOR A TIME THEN GRADUALLY INCREASING SOUTH OR SOUTHEAST 3 OR 4. SHOWERS
WITH A RISK OF SOME FOG PATCHES AT FIRST, BECOMING FAIR FOR A TIME BUT FURTHER
RAIN LATER. GOOD OCCASIONALLY MODERATE IN RAIN AND SHOWERS, LOCALLY POOR IN
ANY FOG PATCHES. SLIGHT BECOMING SLIGHT OR MODERATE.
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


HEADS UP: sed breakage

2003-06-06 Thread Tony Finch
I managed to break sed in the course of fixing a bug yesterday. If you
are having problems with buildworld breakage, ensure that you have the
most recent version of sed by updating your source and rebuilding it
manually. You need:
$FreeBSD: src/usr.bin/sed/process.c,v 1.31 2003/06/05 12:10:19 fanf Exp $

The broken revision is:
$FreeBSD: src/usr.bin/sed/process.c,v 1.30 2003/06/04 15:31:55 fanf Exp $

Tony.
-- 
f.a.n.finch  [EMAIL PROTECTED]  http://dotat.at/
HUMBER THAMES DOVER: SOUTHWESTERLY 4 OR 5, OCCASIONALLY 6. RAIN LATER.
MODERATE OR GOOD.
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Removal of netns - politically correct version

2003-03-05 Thread Tony Finch
Terry Lambert [EMAIL PROTECTED] wrote:

Given that the current TCP/IP stack no longer matches the Stevens
books, and given that Stevens is too dead to update the books to
the new FreeBSD stack, even if he wanted to, it's useful to have
a relatively simple set of code that can be understood without a
book that's not getting written.

Actually the Stevens books are still useful as a guide to the FreeBSD
IP stack because they give the important overview and description of
how the parts fit together. The details might be different but not
enough to confuse a competent programmer.

Tony.
-- 
f.a.n.finch  [EMAIL PROTECTED]  http://dotat.at/
ROCKALL MALIN HEBRIDES: CYCLONIC BECOMING WEST OR SOUTHWEST 6 TO GALE 8,
OCCASIONALLY SEVERE GALE 9 IN MALIN AND HEBRIDES AT FIRST. SQUALLY SHOWERS.
GOOD.

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


Re: rand() is broken

2003-02-02 Thread Tony Finch
Mark Murray [EMAIL PROTECTED] wrote:

3) int random(void) which returns a number statistically
   random in all bits.

We have most of this, and RC4 can deliver. RC4's licence is
fine. Call it ArCFour and there is no problem. The code is
small, fast and repeatable, and meets conditions 1-4 above.

Note that POSIX 2001 states that random() uses a non-linear additive
feedback random-number generator, and strongly implies that rand()
uses the traditional brain-dead algorithm.

Tony.
--
f.a.n.finch  [EMAIL PROTECTED]  http://dotat.at/
SOLE LUNDY FASTNET: WEST VEERING NORTHWEST 6 OR 7, OCCASIONALLY GALE 8. RAIN
OR SQUALLY SHOWERS. MODERATE OR GOOD.

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



Re: rand() is broken

2003-02-02 Thread Tony Finch
Doug Barton [EMAIL PROTECTED] wrote:

I can think of one significant benefit... I had noticed that my perl
script to pick random windowmaker themes (which uses rand()) seemed to be
picking the same themes over and over again.

That's a bug in perl's compile-time configuration. It can be told to use
something better. See PR 25794.

Tony.
-- 
f.a.n.finch  [EMAIL PROTECTED]  http://dotat.at/
LANDS END TO ST DAVIDS HEAD INCLUDING THE BRISTOL CHANNEL: WEST 6 TO GALE 8.
EASING WEST 5 OR 6 MONDAY MORNING. WEST OR NORTHWEST 6 OR 7 AGAIN LATER. RAIN
OR SHOWERS, MAINLY FAIR PERHAPS MORE ISOLATED SHOWERS MONDAY. MAINLY GOOD.
ROUGH OR VERY ROUGH.

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



Re: alpha tinderbox failure

2003-01-06 Thread Tony Finch
On Sun, Jan 05, 2003 at 01:33:14AM -0800, David O'Brien wrote:
 
 Agreed.  I'd love to hear from fanf what the changes are to unifdef that
 causes this change in exit code.

I accidentally cocked up the exit codes in my first major revision of
unifdef. It so happens that a few days later markm ripped out the Perl
and Tcl support from vi, which meant that it started using unifdef in
its build. The incorrect exit value happened to be 0 instead of 1 so
things were happy until I restored the odd documented behaviour in my
second major revision.

Apologies for the disruption. I did check the uses of unifdef in the
tree (including vi and telnet), but I didn't realise that ignored errors
would cause problems.

Tony.
-- 
f.a.n.finch  [EMAIL PROTECTED]  http://dotat.at/
CAPE WRATH TO RATTRAY HEAD INCLUDING ORKNEY: WIND: VARIABLE OR NORTHEAST 2 OR
3. FAIR. GOOD. MODERATE.

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



Re: alpha tinderbox failure

2003-01-06 Thread Tony Finch
Gerhard Sittig [EMAIL PROTECTED] wrote:

Although the above case is special from what I learnt in another
message in this thread (I managed to delete it after seeing it so
I cannot quote it here).  ISTR that the non zero exit status comes
from a tool with the following convention:  0 is absolutely OK,
1 is not perfect but still plausible enough to get accepted most
of the time, and 2 is a real error, never OK.

I believe that unifdef got its exit status values from diff.  (The use
of the word trouble in the DIAGNOSTICS section is indicative.)

Tony.
-- 
f.a.n.finch  [EMAIL PROTECTED]  http://dotat.at/
CAPE WRATH TO RATTRAY HEAD INCLUDING ORKNEY: VARIABLE 1 OR 2 LOCALLY 3 OR 4.
ISOLATED WINTRY SHOWERS. MAINLY GOOD. MODERATE DECAYING SLIGHT.

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



Re: src/games bikeshed time.

2002-10-09 Thread Tony Finch

There's an open PR about factor(6) not working on 64bit arches; I'm
preparing to import NetBSD's version which uses the OpenSSL bignum
library. There are associated stylistic improvements to primes(6) --
they share a table of primes up to about 2^16.

Tony.
-- 
f.a.n.finch [EMAIL PROTECTED] http://dotat.at/
EAST SOLE: CYCLONIC 4 OR 5. RAIN OR SHOWERS. MODERATE OR GOOD.

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



Re: src/games bikeshed time.

2002-10-09 Thread Tony Finch

Below is my proposed patch to primes(6) and factor(6) which I plan
to commit in one go since the changes are somewhat inter-dependent.
Feedback is welcomed. I'm in the process of fixing the manual.

Merge changes from NetBSD and perform some cleaning up.

primes:
  const-correctness and removal of wacky casting (from NetBSD);
  move declarations of external tables into primes.h instead
  of repeating them in primes.c and factor.c. Still limited to
  ULONG_MAX though.

factor:
  style fixes (#include ordering, ANSI functions, const-correctness,
  staticisation -- all but the latter from NetBSD); remove bogus comment;
  fix usage() exit value; and the biggie: if OpenSSL is available,
  use bignums using clever code from NetBSD. I have cleaned the latter
  up somewhat so that it supports FreeBSD's -h feature and doesn't
  introduce regressions for N = 2^31 in the non-OpenSSL case.

Tony.
-- 
f.a.n.finch [EMAIL PROTECTED] http://dotat.at/
PORTLAND: EAST OR SOUTHEAST BACKING NORTHEAST 5 OR 6, OCCASIONALLY 7.
OCCASIONAL RAIN. GOOD.



--- factor/Makefile 26 Mar 2001 14:20:55 -  1.4
+++ factor/Makefile 8 Oct 2002 19:31:03 -
@@ -4,6 +4,13 @@
 PROG=  factor
 SRCS=  factor.c pr_tbl.c
 CFLAGS+=-I${.CURDIR}/../primes
+
+.if !defined(NO_OPENSSL)
+CFLAGS+=-DHAVE_OPENSSL
+LDADD+=-lcrypto
+DPADD+=${LIBCRYPTO}
+.endif
+
 MAN=   factor.6
 MLINKS+=factor.6 primes.6
 .PATH: ${.CURDIR}/../primes
--- factor/factor.c 18 Feb 2002 05:15:15 -  1.11
+++ factor/factor.c 9 Oct 2002 15:28:21 -
@@ -43,6 +43,7 @@
 #ifndef lint
 #if 0
 static char sccsid[] = @(#)factor.c   8.4 (Berkeley) 5/4/95;
+__RCSID($NetBSD: factor.c,v 1.13 2002/06/18 23:07:36 simonb Exp $);
 #endif
 static const char rcsid[] =
  $FreeBSD: src/games/factor/factor.c,v 1.11 2002/02/18 05:15:15 imp Exp $;
@@ -67,8 +68,8 @@
  * If no args are given, the list of numbers are read from stdin.
  */
 
-#include err.h
 #include ctype.h
+#include err.h
 #include errno.h
 #include limits.h
 #include stdio.h
@@ -77,28 +78,53 @@
 
 #include primes.h
 
-/*
- * prime[i] is the (i-1)th prime.
- *
- * We are able to sieve 2^32-1 because this byte table yields all primes
- * up to 65537 and 65537^2  2^32-1.
- */
-extern ubig prime[];
-extern ubig *pr_limit; /* largest prime in the prime array */
+#ifdef HAVE_OPENSSL
+
+#include openssl/bn.h
+
+#definePRIME_CHECKS5
+
+static voidpollard_pminus1(BIGNUM *); /* print factors for big numbers */
+
+#else
+
+typedef ubig   BIGNUM;
+typedef u_long BN_ULONG;
+
+#define BN_CTX int
+#define BN_CTX_new()   NULL
+#define BN_new()   ((BIGNUM *)calloc(sizeof(BIGNUM), 1))
+#define BN_is_zero(v)  (*(v) == 0)
+#define BN_is_one(v)   (*(v) == 1)
+#define BN_mod_word(a, b)  (*(a) % (b))
+
+static int BN_dec2bn(BIGNUM **a, const char *str);
+static int BN_hex2bn(BIGNUM **a, const char *str);
+static BN_ULONG BN_div_word(BIGNUM *, BN_ULONG);
+static voidBN_print_fp(FILE *, const BIGNUM *);
+
+#endif
+
+static voidBN_print_dec_fp(FILE *, const BIGNUM *);
 
-inthflag;
+static voidpr_fact(BIGNUM *);  /* print factors of a value */
+static voidpr_print(BIGNUM *); /* print a prime */
+static voidusage(void);
 
-void   pr_fact(ubig);  /* print factors of a value */
-void   usage(void);
+static BN_CTX  *ctx;   /* just use a global context */
+static int hflag;
 
 int
-main(argc, argv)
-   int argc;
-   char *argv[];
+main(int argc, char *argv[])
 {
-   ubig val;
+   BIGNUM *val;
int ch;
-   char *p, buf[100];  /*  max number of digits. */
+   char *p, buf[LINE_MAX]; /*  max number of digits. */
+
+   ctx = BN_CTX_new();
+   val = BN_new();
+   if (val == NULL)
+   errx(1, can't initialise bignum);
 
while ((ch = getopt(argc, argv, h)) != -1)
switch (ch) {
@@ -125,12 +151,9 @@
continue;
if (*p == '-')
errx(1, negative numbers aren't permitted.);
-   errno = 0;
-   val = strtoul(buf, p, 0);
-   if (errno)
-   err(1, %s, buf);
-   if (*p != '\n')
-   errx(1, %s: illegal numeric format., buf);
+   if (BN_dec2bn(val, buf) == 0 
+   BN_hex2bn(val, buf) == 0)
+   errx(1, %s: illegal numeric format., argv[0]);
pr_fact(val);
}
/* Factor the arguments. */
@@ -138,11 +161,8 @@
for (; *argv != NULL; ++argv) {
if (argv[0][0] == '-')
errx(1, negative numbers aren't permitted.);
-   errno = 0;
-   val = strtoul(argv[0], p, 0);
-

Re: src/games bikeshed time.

2002-10-09 Thread Tony Finch

On Wed, Oct 09, 2002 at 10:08:24AM -0700, Kris Kennaway wrote:
 On Wed, Oct 09, 2002 at 05:00:21PM +0100, Tony Finch wrote:
 
  +.if !defined(NO_OPENSSL)
  +CFLAGS+=-DHAVE_OPENSSL
  +LDADD+=-lcrypto
  +DPADD+=${LIBCRYPTO}
  +.endif
 
 You also need to check that the crypto sources are installed.

Would this be correct (based on stuff in src/etc)?

.if exists(${.CURDIR}/../../crypto)  !defined(NO_OPENSSL)

Tony.
-- 
f.a.n.finch [EMAIL PROTECTED] http://dotat.at/
FISHER: EASTERLY 5 OR 6. SHOWERS. GOOD.

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



Re: src/games bikeshed time.

2002-10-09 Thread Tony Finch

Mark suggested I might want to frob primes(6) so that it uses uintmax_t,
which I have done (see below) but it uses rather too much C99 goodness
for -STABLE. Are things like strtoumax likely to be MFCed?

Tony.
-- 
f.a.n.finch [EMAIL PROTECTED] http://dotat.at/
BAILEY: SOUTHEASTERLY 5 TO 7. RAIN. MODERATE OR GOOD.


--- factor/factor.c 9 Oct 2002 19:55:04 -   1.13
+++ factor/factor.c 9 Oct 2002 20:59:22 -
@@ -71,6 +71,7 @@
 #include ctype.h
 #include err.h
 #include errno.h
+#include inttypes.h
 #include limits.h
 #include stdio.h
 #include stdlib.h
@@ -89,7 +90,7 @@
 #else
 
 typedef ubig   BIGNUM;
-typedef u_long BN_ULONG;
+typedef ubig   BN_ULONG;
 
 #define BN_CTX int
 #define BN_CTX_new()   NULL
@@ -226,7 +227,7 @@
 
/* Divide factor out until none are left. */
do {
-   printf(hflag ?  0x%lx :  %lu, *fact);
+   printf(hflag ?  0x%jx :  %ju, *fact);
BN_div_word(val, (BN_ULONG)*fact);
} while (BN_mod_word(val, (BN_ULONG)*fact) == 0);
 
@@ -321,13 +322,13 @@
 static void
 BN_print_fp(FILE *fp, const BIGNUM *num)
 {
-   fprintf(fp, %lx, (unsigned long)*num);
+   fprintf(fp, %jx, *num);
 }
 
 static void
 BN_print_dec_fp(FILE *fp, const BIGNUM *num)
 {
-   fprintf(fp, %lu, (unsigned long)*num);
+   fprintf(fp, %ju, *num);
 }
 
 static int
@@ -336,7 +337,7 @@
char *p;
 
errno = 0;
-   **a = strtoul(str, p, 10);
+   **a = strtoumax(str, p, 10);
return (errno == 0  (*p == '\n' || *p == '\0'));
 }
 
@@ -346,7 +347,7 @@
char *p;
 
errno = 0;
-   **a = strtoul(str, p, 16);
+   **a = strtoumax(str, p, 16);
return (errno == 0  (*p == '\n' || *p == '\0'));
 }
 
--- primes/pattern.c9 Oct 2002 19:38:55 -   1.5
+++ primes/pattern.c9 Oct 2002 20:59:22 -
@@ -54,6 +54,7 @@
  * with 1.  All non-zero elements are factors of 3, 5, 7, 11 and 13.
  */
 
+#include inttypes.h
 #include stddef.h
 
 #include primes.h
--- primes/pr_tbl.c 9 Oct 2002 19:38:55 -   1.5
+++ primes/pr_tbl.c 9 Oct 2002 20:59:22 -
@@ -53,6 +53,7 @@
  * and 65537^2  2^32-1.
  */
 
+#include inttypes.h
 #include stddef.h
 
 #include primes.h
--- primes/primes.c 9 Oct 2002 20:42:40 -   1.21
+++ primes/primes.c 9 Oct 2002 20:59:22 -
@@ -68,6 +68,7 @@
 #include ctype.h
 #include err.h
 #include errno.h
+#include inttypes.h
 #include limits.h
 #include math.h
 #include stdio.h
@@ -118,7 +119,7 @@
stop = BIG;
 
/*
-* Convert low and high args.  Strtoul(3) sets errno to
+* Convert low and high args.  Strtou*(3) sets errno to
 * ERANGE if the number is too large, but, if there's
 * a leading minus sign it returns the negation of the
 * result of the conversion, which we'd rather disallow.
@@ -130,14 +131,14 @@
errx(1, negative numbers aren't permitted.);
 
errno = 0;
-   start = strtoul(argv[0], p, 0);
+   start = strtoumax(argv[0], p, 0);
if (errno)
err(1, %s, argv[0]);
if (*p != '\0')
errx(1, %s: illegal numeric format., argv[0]);
 
errno = 0;
-   stop = strtoul(argv[1], p, 0);
+   stop = strtoumax(argv[1], p, 0);
if (errno)
err(1, %s, argv[1]);
if (*p != '\0')
@@ -149,7 +150,7 @@
errx(1, negative numbers aren't permitted.);
 
errno = 0;
-   start = strtoul(argv[0], p, 0);
+   start = strtoumax(argv[0], p, 0);
if (errno)
err(1, %s, argv[0]);
if (*p != '\0')
@@ -190,7 +191,7 @@
if (*p == '-')
errx(1, negative numbers aren't permitted.);
errno = 0;
-   val = strtoul(buf, p, 0);
+   val = strtoumax(buf, p, 0);
if (errno)
err(1, %s, buf);
if (*p != '\n')
@@ -245,7 +246,7 @@
for (p = prime[0], factor = prime[0];
factor  stop  p = pr_limit; factor = *(++p)) {
if (factor = start) {
-   printf(hflag ? 0x%lx\n : %lu\n, factor);
+   printf(hflag ? 0x%jx\n : %ju\n, factor);
}
}
/* return early if we are done */
@@ -308,7 +309,7 @@
 */
for (q = table; q  tab_lim; ++q, start+=2) {
if (*q) {
-   printf(hflag ? 0x%lx\n : %lu\n, start);
+   printf(hflag ? 0x%jx\n : %ju\n, start);
}
}
}
--- primes/primes.h 9 Oct 2002 

Re: Journaled filesystem in CURRENT

2002-09-27 Thread Tony Finch

Terry Lambert [EMAIL PROTECTED] wrote:
Claus Assmann wrote:
[ ... out of order answer, not related to main topic ... ]
 Per domain doesn't work easily if you have multiple recipients.
 Anyway, the new design clearly distinguishes between the content
 files and the data that is necessary for delivery.

Actually, it works fine, since it performs queue entry splitting,
in the case of multiple recipients.  That yields a 100% hit rate
for per domain queue traversals, since they contain only messages
destined for the domain in question.  But back to JFS...

Exim doesn't do per-domain queue runs; when it successfully delivers
mail to a host it checks its hints database for any queued mail that
can go to the same place and shoves them down the same connection --
no scanning of multiple files involved.

Tony (exim bigot).
-- 
f.a.n.finch [EMAIL PROTECTED] http://dotat.at/
ROCKALL: SOUTHWEST BACKING SOUTH 3 OR 4, OCCASIONALLY 5 IN NORTH. MAINLY FAIR.
MODERATE OR GOOD.

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



Re: Journaled filesystem in CURRENT

2002-09-27 Thread Tony Finch

Terry Lambert [EMAIL PROTECTED] wrote:
Tony Finch wrote:
 Exim doesn't do per-domain queue runs; when it successfully delivers
 mail to a host it checks its hints database for any queued mail that
 can go to the same place and shoves them down the same connection --
 no scanning of multiple files involved.

So how does it implement ETRN and ATRN?

They're both sufficiently unimportant not to make it worth complicating
the MTA to optimise them. Exim lets you specify a shell command that is
run in order to implement these SMTP commands, so it's up to you whether
this involves a queue run (with exim -R) or not. For example, you might
route incoming mail to a dial-up host and use the appendfile transport
to dump it in a directory with use_bsmtp, and cause ETRN commands to
run over that directory. (Although the latter requires extra code.)

I'm interested that you think ETRN is important, because to me it seems
the wrong solution given POP with the *ENV extension, or decent IMAP.

Tony.
-- 
f.a.n.finch [EMAIL PROTECTED] http://dotat.at/
FASTNET: SOUTHEASTERLY 3 OR 4 INCREASING 5, OCCASIONALLY 6 LATER. MAINLY FAIR.
MODERATE OR GOOD.

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



Re: OT: Debian GNU/FreeBSD???

2002-08-14 Thread Tony Finch

Brooks Davis [EMAIL PROTECTED] wrote:
On Thu, Aug 15, 2002 at 12:51:49AM +0200, Mario Goebbels wrote:
 I'm slightly offtopic with this, but what the heck is that:
 http://www.debian.org/ports/freebsd/index
 I was slightly irritated when a pal showed me that!

It's Debian people being silly.  Someone decided they liked the FreeBSD
kernel and the Debian way of doing userland and combined the two.  As
you can see from the webpage, it's not exactly popular (the site hasn't
been updated in four months.)

There are a couple of Debian/BSD efforts going on at the moment, one
based on FreeBSD and the other on NetBSD. There's only a couple of
people working on each of them, and the principal FreeBSD guy is
currently lacking development resources so not much progress is being
made there. Both groups are having trouble reconciling the different
functionality of glibc and BSD libc.

They're planning to make both a part of the next major release of
Debian, so it will be ported to N+3 kernels (Linux, Hurd, NetBSD,
FreeBSD). Given the effectiveness of their release engineering,
don't expect it to get anywhere near general usability for at
least a year, and probably getting on for two.

Tony.
-- 
f.a.n.finch [EMAIL PROTECTED] http://dotat.at/
HUMBER THAMES DOVER: SOUTH OR SOUTHEAST 3 OR 4, OCCASIONALLY 5 IN HUMBER,
BECOMING VARIABLE 3 LATER. MAINLY FAIR. MODERATE OR GOOD WITH FOG PATCHES.

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



Re: cp MAKEDEV /dev - on a system with devfs

2001-03-13 Thread Tony Finch

Brian Somers [EMAIL PROTECTED] wrote:

I thought only sysv kept non-startup executables in /etc.

There's one real oddity in FreeBSD:

[EMAIL PROTECTED]:/etc
:; ll rmt
lrwxrwxrwx   1 root wheel  13 Jan 28 13:42 rmt - /usr/sbin/rmt*

Plus the rc scripts, dhclient-exit-hooks, pccard_ether, and netstart.

Tony.
-- 
f.a.n.finch  [EMAIL PROTECTED]  [EMAIL PROTECTED]
"I never wanted to be a weather forecaster -- I wanted to be... a lumberjack!
Leaping from tree to tree as they float down the mighty rivers of British
Columbia! The giant redwood! The larch! The The mighty scots pine! ..."

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



Re: New entropy harvesting sysctl's enabled in rc

2001-03-01 Thread Tony Finch

Doug Barton [EMAIL PROTECTED] wrote:

The goal is to turn on the appropriate harvesters for ethernet,
and/or ppp/slip/tun based on the presence of a configured device of
that nature. So, the ethernet bits check to see if there is an
ethernet card configured, and turns on that harvester if so.

What about ethernet devices that aren't present at boot time but which
turn up later?

Tony.
-- 
f.a.n.finch[EMAIL PROTECTED][EMAIL PROTECTED]
FINISTERRE: EAST OR SOUTHEAST 4 OR 5 INCREASING 6 OR 7, BUT CYCLONIC BECOMING
SOUTHWESTERLY IN FAR SOUTH. SHOWERS THEN RAIN. GOOD BECOMING MODERATE.

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



Re: od driver for -CURRENT

2001-02-12 Thread Tony Finch

"Justin T. Gibbs" [EMAIL PROTECTED] wrote:

It is not necessarily sufficient since the media may be changed after
open on certain types of devices that don't have a media lock.

But don't you risk a panic if you do that?

Tony.
-- 
f.a.n.finch[EMAIL PROTECTED][EMAIL PROTECTED]
THAMES DOVER: SOUTHWEST VEERING NORTH 5 TO 7, VEERING NORTHEAST 4 LATER. RAIN
CLEARING. MODERATE BECOMING GOOD.


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



Re: RE: __asm help..

2000-12-11 Thread Tony Finch

Matt Dillon [EMAIL PROTECTED] wrote:
:As long as gcc uses %ebp to address local variables and functoin parameters
:rather than %esp you should be fine.  %esp will be preserved, but if %esp is
:for some odd reason used to address a variable during the C code, you are hosed.

I strongly recommend against making assumptions about GCC's use of %ebp vs
%esp... not if you want the __asm code to survive the GCC optimizer!

But if gcc breaks that assumption, that implies it would break
alloca(), and presumably they wouldn't do that.

Tony.
-- 
f.a.n.finch[EMAIL PROTECTED][EMAIL PROTECTED]
"Dead! And yet there he stands!"


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



Re: mergemaster and $FreeBSD$

2000-11-09 Thread Tony Finch

Archie Cobbs [EMAIL PROTECTED] wrote:

So.. what stuff in /home/cvs/CVSROOT can I change so that sources
in freebsd/* get $FreeBSD$ substitution, but other sources get the
normal $Id$ substitution? Surely someone has solved this already.. ?

If you are using the FreeBSD version of CVS (which has been patched to
support this feature) then the magic file is called "options" and
contains:

tag=FreeBSD=CVSHeader
tagexpand=iFreeBSD

Tony.
-- 
en oeccget g mtcaaf.a.n.finch
v spdlkishrhtewe y[EMAIL PROTECTED]
eatp o v eiti i d.[EMAIL PROTECTED]


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



Re: new idle_proc() makes my laptop very hot

2000-09-21 Thread Tony Finch

Warner Losh [EMAIL PROTECTED] wrote:
Mike Smith writes:

 If I remember from a discussion with John Baldwin, the reason we
 don't do this (yet) is that HLT only wakes up when you take an
 interrupt, and there are cases where we can't guarantee that we'll
 take an interrupt in order to get us out of the HLT.

I thought that's what the timer interrupts were for...  We can't
guarantee that we'll get one?  That seems very serious to me.

The problem is that one cpu may wich to schedule a process to run on
the idle cpu, but it can't because the idle cpu is halted and won't
wake up until the next irq.

Tony.
-- 
en oeccget g mtcaaf.a.n.finch
v spdlkishrhtewe y[EMAIL PROTECTED]
eatp o v eiti i d.[EMAIL PROTECTED]


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



Re: rc.d startup scripts

2000-05-09 Thread Tony Finch

Doug Barton [EMAIL PROTECTED] wrote:

   Point well taken. If anyone has references to this work, or an easy
introduction to netbsd's version I'd love to look at them.

There's useful stuff in the rc(8) and rcorder(8) manual pages, but I
can't find any more convenient copies of them other than by extracting
NetBSD tar files. The scripts themselves look fairly easy to
understand from just browsing around http://cvsweb.netbsd.org/.

Tony.
-- 
f.a.n.finch[EMAIL PROTECTED][EMAIL PROTECTED]
421 manifold mosaic of the mundane


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



Re: rc.d startup scripts

2000-05-08 Thread Tony Finch

Kris Kennaway [EMAIL PROTECTED] wrote:
On Sun, 7 May 2000, Doug Barton wrote:

  I'm going to reply to the system part of this too, replies to this
 thread should split off to -current. I have a design in mind for a new
 rc system that uses scripts with "start, stop, status" operators to both
 upgrade and downgrade services, where "services" are defined as groups
 of daemons/programs that work together. For example, "nfs" would be an
 example of a service, which would be subdivided into client and server,
 etc. 

Eivind Eklund made a prototype some time back which addressed this issue -
you'd do well to take a look at that one first before reinventing the
wheel :)

Or you could use the system that NetBSD already has working.

Tony.
-- 
f.a.n.finch[EMAIL PROTECTED][EMAIL PROTECTED]
381 plastic fruit for a starving nation


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



Re: Overwhelming messages from /sys/netinet/if_ether.c

2000-04-07 Thread Tony Finch

"Rodney W. Grimes" [EMAIL PROTECTED] wrote:
David Holloway [EMAIL PROTECTED] wrote:
Mathew Kanner wrote:
I haven't tried this but how about changing the
/sbin/dhclient-script to not use 0.0.0.0 as the address that wakes
up the interface.

 No...

Yes...  that is just the type of thing the link local RFC reserved address
space is for.

No... IP address 0 is reserved for "me" so its use in DHCP makes sense.

Tony.
-- 
f.a.n.finch[EMAIL PROTECTED][EMAIL PROTECTED]
393 dirt clods in your fuel rods


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



Re: cpp change breaks ipfw

2000-02-28 Thread Tony Finch

Jim Bloom [EMAIL PROTECTED] wrote:

That small test works fine, but doesn't solve the problem I was having.  Try
this small test case to see my problem:

#define addr 192.186.2.5
#define mask 255.255.240.0

#define rule(ADDR,MASK) add pass tcp from ADDR ## : ## MASK to any 25 setup
rule(addr,mask)

This also does not work if addr and mask are defined on the command line.  The
problem arises from using another defined value as the string being
concatenated.  The concatenation works for constants though.

You need to use a two-macro trick similar to the one for stringizing
in KR2:

$ gcc -E -
#define addr 1.2.3.4
#define mask 5.6.7.8
#define cat_helper(a,b) a ## : ## b
#define cat(a,b) cat_helper(a,b)
cat(addr,mask)
# 1 ""




  1.2.3.4:5.6.7.8 
$

Tony.
-- 
f.a.n.finch[EMAIL PROTECTED][EMAIL PROTECTED]
455 wetness and warmth for wussies


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



Re: lots of ad_timeouts

2000-02-13 Thread Tony Finch

Soren Schmidt [EMAIL PROTECTED] wrote:
It seems Don Croyle wrote:
 
 Assuming that this isn't something that's readily fixable, where would
 the best place to put the sysctl command so I don't have to remember
 it every time I reboot?

/etc/rc.local

Surely /etc/sysctl.conf

Tony.
-- 
   * * *   * * *   * * *   * * *
  * * * * * * * * * * * * * * * *   
 * * *   **  * * *   **  * * *   **  * * *   ** 
* * *   * * *   * * *   * * *   


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



Re: {a}sync updates (was Re: make install trick)

1999-10-10 Thread Tony Finch

I have noticed similarly odd behaviour from softupdates during heavy
IO load, where something is creating lots of little files or
directories and not much else is happening. Using `vmstat 1` I can see
that softupdates isn't very good at evening out the IO rate over time:
there's a roughly sinusoidal back-and-forth between frantic disk
thrashing (lots of TPS) and lots of syscall activity. Visible progress
is correspondingly uneven.

For example, the `vmstat 1` output while the script
for i in `jot 256`
do
for j in `jot 256`
do
mkdir -p $i/$j
done
done
is running is appended below. Behaviour is much smoother during an
`rm -r *` of the resulting directory tree.

Tony.
-- 
f.a.n.finch[EMAIL PROTECTED][EMAIL PROTECTED]
  Apache Software Foundation Member

 procs  memory page   disksfaults  cpu
 r b w avm   fre  flt  re  pi  po  fr  sr da0 fd0 pa0   in   sy  cs us sy id
 2 1 0 4183836 11172 3389   0   0   0 3188   0 273   0   0  512 6015 1210 71 29  0
 1 1 0 4183836 11172  447   0   0   0 444   0 427   0   0  667 3198 1128 93  7  0
 1 1 0 4183836 11172  411   0   0   0 408   0 459   0   0  699 3424 1039 89 11  0
 1 1 0 4183836 11172  428   0   0   0 425   0 469   0   0  713 3430 1039 96  4  0
 2 0 0 4183832 2 3544   0   0   0 3285   0 296   0   0  535 6820 990 67 32  1
 3 0 0 4184036 11084 10155   0   0   0 9427   0  60   0   0  298 14837 1026 45 55  0
 2 0 0 4184044 11092 7856   0   0   0 7292   0   0   0   0  242 12077 1013 52 48  0
 3 0 0 4183588 11216 13700   0   0   0 12718   0   0   0   0  239 18826 960 26 74  0
 3 0 0 4184056 6 12824   0   0   0 11880   0   5   0   0  245 17635 977 35 65  0
 2 0 0 4183836 11164 8604   0   0   0 8011   0   1   0   0  242 12450 1008 55 45  0
 2 1 0 4183900 11168 5770   0   0   0 5386   0 189   0   0  428 9073 1241 57 43  0
 1 1 0 4183836 11168  497   0   0   0 489   0 472   0   0  712 3006 1107 91  9  0
 1 2 0 4183496 11136  502   0   0   0 483   0 577   0   0  829 3449 1059 88 12  0
 1 1 0 4183496 11156 1444   0   0   0 1365   0 538   0   0  779 4620 1049 86 14  0
 3 0 0 4183248 11120 11937   0   0   0 11068   0 107   0   0  344 16580 892 22 78  0
 2 0 0 4183308 11132 15356   0   0   0 14213   0   1   0   0  241 20742 979 18 82  0
 3 0 0 4183704 11048 12665   0   0   0 11713   0   0   0   0  239 17461 990 28 72  0
 2 0 0 4183492 11092 10878   0   0   0 10126   0  21   0   0  259 15238 986 45 55  0
 2 0 0 4183496 2 12151   0   0   0 11276   0  50   0   0  289 16767 982 28 72  0
 2 1 0 4183496 11144  422   0   0   0 425   0 510   0   0  756 2444 1217 84 16  0
 1 1 0 4183496 11100  475   0   0   0 462   0 575   0   0  820 3299 1131 87 13  0
 1 1 0 4183496 11092 1024   0   0   0 976   0 550   0   0  792 4130 1049 88 12  0
 3 0 0 4183648 11104 7254   0   0   0 6747   0 291   0   0  530 11196 949 53 47  0
 2 1 0 4183768 11140 12570   0   0   0 11678   0   5   0   0  249 17381 1002 33 67  0
 2 0 0 4183832 11028 13877   0   0   0 12846   0   7   0   0  249 18952 986 25 75  0
 2 0 0 4183648 11028 12263   0   0   0 11400   0  16   0   0  259 16964 1015 38 62  0
 3 0 0 4183768 11036 11108   0   0   0 10353   0   5   0   0  244 15567 1017 32 68  0
 3 0 0 4183836 10952 5932   0   0   0 5539   0 190   0   0  429 9087 1153 55 45  0
 2 1 0 4183836 10900  475   0   0   0 459   0 542   0   0  782 2865 1257 91  9  0
 1 2 0 4183768 10936  766   0   0   0 749   0 562   0   0  809 3732 1219 87 13  0
 1 1 0 4184312 10900  853   0   0   0 803   0 557   0   0  799 4189 1142 90 10  0
 2 0 0 4184124 10812 11847   0   0   0 10971   0 101   0   0  340 16642 969 29 71  0
 2 0 0 4184520 10720 8599   0   0   0 7976   0   6   0   0  244 13098 1065 48 52  0
 2 0 0 4184312 10732 7968   0   0   0 7410   0   5   0   0  242 12228 1034 50 49  1


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



Re: SMP and threads...

1999-08-06 Thread Tony Finch

"David E. Cross" [EMAIL PROTECTED] wrote:
I have a threaded appilcation that is only running on one processor.  
I remember there was discussion about this in the past, and there was a
solution, I think it involved a patch.

Any pointers?

http://lt.tar.com

Tony.
-- 
f.a.n.finch[EMAIL PROTECTED][EMAIL PROTECTED]e pluribus unix


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



Re: GNU patch gone stale

1999-06-10 Thread Tony Finch
Julian Elischer writes:

 TONY
 
 they just showed your obfuscated C entry in the COmpetitionhere..
 Your'e crazy you know..
 there were soma amazing entries but you came in near the top..

Wow. That's the first news I've had about this since submitting
it. Now I can sit back and look smug.

 there was the 2K obfuscated X11 flight simulator that actually worked..
 the 1500 byte program that produced gzip'd postscript of a 3 maze,

!

 and your 2k program that produces an 800K program that actually works..

Don't use -O unless you can cope with gigabyte-sized compiler
processes (I never could get it to work).

 as I said..
 you're crazy (but wear it with pride!)

:-)

Tony.
-- 
f.a.n.finchd...@dotat.atf...@demon.net
Winner of the International Obfuscated C Code Competition 1999


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: GNU patch gone stale

1999-06-09 Thread Tony Finch
John Baldwin jobal...@vt.edu wrote:

So it would seem that patch and cvs don't interact at all, unless it's a
question of patch 2.5 being able to apply diffs generated by cvs diff.

That is the main problem I have with patch 2.5 -- it completely fails
to apply patches from `cvs diff` unless you have a really new cvs, and
I usually don't.

Tony.
-- 
f.a.n.finch   d...@dotat.at   f...@demon.net   black dog


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: Any action on PR 10570 ? getting closer to 65K :-(

1999-05-05 Thread Tony Finch
Matthew Dillon dil...@apollo.backplane.com wrote:

I think the worst case you might see is on the order of 50,000 or so
route entries.

If you read the PR you'll see that we have over 70,000 routes on some
interfaces in our network, and we aren't doing multipath routeing.
(We have c. 20,000 modems and our customers have static IP addresses.)

It take a phenominally stupid network setup to create more then that.

:-)

Tony.
-- 
f.a.n.finch   d...@dotat.at   f...@demon.net
Arthur: Oh, that sounds better, have you worked out the controls?
Ford:   No, we just stopped playing with them.


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: NFS Patch #8 for current available - new TCP fixes

1999-05-04 Thread Tony Finch
Matthew Dillon dil...@apollo.backplane.com wrote:

(fanfair!)

:-)

NFS attempts to realign packet buffers and trods all over the underlying
mbufs.  For TCP connections, several RPC's may be present in an mbuf 
chain.  The realignment of one of them may destroy the others.  This does
not occur with UDP because each UDP packet contains only a single rpc.

Packet buffers may be unaligned for a number of reasons.  The main reason
is due to the 14 byte MAC header on the ethernet frame.  This causes the
remainder of the packet - the ip payload - to NOT be 4-byte aligned.

We're planning to try replacing some Solaris web servers with FreeBSD
machines in the near future. The documents are on a read-only NFS
filestore connected to the web servers with CDDI. (Updates will stay
on a Sun box.) Are we going to have nfs_realign problems if we use TCP
in this situation or should we stick with UDP?

Tony.
-- 
f.a.n.finch   d...@dotat.at   f...@demon.net
Arthur: Oh, that sounds better, have you worked out the controls?
Ford:   No, we just stopped playing with them.


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: Any action on PR 10570 ? getting closer to 65K :-(

1999-04-30 Thread Tony Finch
Pierre Beyssac beys...@enst.fr wrote:
On Fri, Apr 30, 1999 at 07:28:26PM +0800, adr...@freebsd.org wrote:
 I didn't say you shouldn't make world again, I was just pointing out that
 there shouldn't be a need to modify anything else in userland.

Uh, not directly anyway, but it seems that at least netstat
displays the reference count as a signed short.

It actually does
printf(%6d %8ld , rt-rt_refcnt, rt-rt_use);
so changing rt_refcnt to an int doesn't cause problems here, at least.

Only two other things do need to be changed:
src/share/doc/smm/18.net/a.t
src/share/man/man9/rtentry.9
(they contain copies of the declaration)

Tony.
-- 
f.a.n.finch   d...@dotat.at   f...@demon.net
Arthur: Oh, that sounds better, have you worked out the controls?
Ford:   No, we just stopped playing with them.


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: swap-related problems

1999-04-15 Thread Tony Finch
Jim Bloom bl...@acm.org wrote:

A signal handler is not guaranteed to work.  It must be written such that it
does not require a new page of memory.  Some possible problems here are the
stack growing, writing on a new page in the data segment, etc.

man sigaltstack

Tony.
-- 
f.a.n.finch   d...@dotat.at   f...@demon.net
Arthur: Oh, that sounds better, have you worked out the controls?
Ford:   No, we just stopped playing with them.


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: swap-related problems

1999-04-15 Thread Tony Finch
Mike Smith writes:
  Jim Bloom bl...@acm.org wrote:
  
  A signal handler is not guaranteed to work.  It must be written such that 
  it
  does not require a new page of memory.  Some possible problems here are the
  stack growing, writing on a new page in the data segment, etc.
  
  man sigaltstack
 
 That doesn't help; there is no guarantee that your stack or your 
 alternate stack have been mapped.

I assumed that the alternate stack had been forcibly allocated by
touching the pages; I suppose things go pear-shaped if they have been
swapped out and there's no space to swap out other pages so that the
stack can be swapped in. Bummer.

Tony.
-- 
f.a.n.finch  d...@dotat.at  f...@demon.net


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: booting systems with lots of memory

1999-04-01 Thread Tony Finch
Mike Smith m...@smith.net.au wrote:
Tony Finch d...@dotat.at wrote:
[serial console problems]
 We suspect a BIOS that's being too damn clever for its own good.

That sounds about right.  If your BIOS on the Intel box is set for a
serial console, you could try poking it again to make sure that it's set
for 9600 bps and that the various 'magic' options relating to remote 
health monitoring are all off.

That did turn out to be the problem. The memory has finally followed
the box from here to the Docklands and we now have a machine with the
following dmesg. We'll be trying it out under load in the near future.

Tony.
-- 
f.a.n.finch  d...@dotat.at  f...@demon.net


Copyright (c) 1992-1999 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
FreeBSD 3.1-STABLE #25: Mon Mar 29 14:38:45 BST 1999
r...@discord.news.demon.net:/usr/src/sys/compile/NCRXEON
Timecounter i8254  frequency 1193182 Hz
CPU: Pentium II/Xeon/Celeron (686-class CPU)
  Origin = GenuineIntel  Id = 0x653  Stepping=3
  
Features=0x183fbffFPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,b24
real memory  = 3221225472 (3145728K bytes)
avail memory = 3133857792 (3060408K bytes)
Programming 64 pins in IOAPIC #0
IOAPIC #0 intpint 38 - irq 17
IOAPIC #0 intpint 40 - irq 18
IOAPIC #0 intpint 41 - irq 15
IOAPIC #0 intpint 42 - irq 10
IOAPIC #0 intpint 44 - irq 7
IOAPIC #0 intpint 48 - irq 11
IOAPIC #0 intpint 49 - irq 16
IOAPIC #0 intpint 58 - irq 14
FreeBSD/SMP: Multiprocessor motherboard
 cpu0 (BSP): apic id:  3, version: 0x00040011, at 0xfee0
 cpu1 (AP):  apic id:  0, version: 0x00040011, at 0xfee0
 cpu2 (AP):  apic id:  1, version: 0x00040011, at 0xfee0
 cpu3 (AP):  apic id:  2, version: 0x00040011, at 0xfee0
 io0 (APIC): apic id:  4, version: 0x003f0013, at 0xfec1
Preloaded elf kernel kernel at 0xc02ea000.
Probing for devices on PCI bus 0:
ahc0: Adaptec aic7880 Ultra SCSI adapter rev 0x01 int a irq 14 on pci0.10.0
ahc0: Using left over BIOS settings
ahc0: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs
vga0: Cirrus Logic GD5446 SVGA controller rev 0x00 int a irq 11 on pci0.12.0
chip0: Intel 82371AB PCI to ISA bridge rev 0x02 on pci0.15.0
No driver for device 0x71118086 at pci0:15:1
No driver for device 0x71128086 at pci0:15:2
chip1: Intel 82371AB Power management controller rev 0x02 on pci0.15.3
chip2: Intel 82451NX Memory and I/O Controller rev 0x03 on pci0.16.0
chip3: Intel 82454NX PCI Expander Bridge rev 0x02 on pci0.18.0
chip4: Intel 82454NX PCI Expander Bridge rev 0x02 on pci0.19.0
chip5: Intel 82454NX PCI Expander Bridge rev 0x02 on pci0.20.0
Probing for devices on PCI bus 1:
ahc1: Adaptec 2940 Ultra SCSI adapter rev 0x00 int a irq 17 on pci1.4.0
ahc1: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs
fxp0: Intel EtherExpress Pro 10/100B Ethernet rev 0x04 int a irq 18 on 
pci1.5.0
fxp0: Ethernet address 00:a0:c9:a4:85:bd
chip6: DEC 21152 PCI-PCI bridge rev 0x03 on pci1.6.0
fpa0: Digital DEFPA PCI FDDI Controller rev 0x01 int a irq 7 on pci1.7.0
fpa0: DEC DEFPA PCI FDDI SAS Controller
fpa0: FDDI address 00:00:f8:c9:91:56, FW=3.10, HW=0, SMT V7.2
fpa0: FDDI Port = S (PMD = Unshielded Twisted Pair)
No driver for device 0x123d8086 at pci1:9:0
Probing for devices on PCI bus 2:
de0: Digital 21140A Fast Ethernet rev 0x22 int a irq 10 on pci2.4.0
de0: SMC 9332BDT 21140A [10-100Mb/s] pass 2.2
de0: address 00:e0:29:26:53:71
de1: Digital 21140A Fast Ethernet rev 0x22 int a irq 15 on pci2.5.0
de1: SMC 9332BDT 21140A [10-100Mb/s] pass 2.2
de1: address 00:e0:29:26:53:70
Probing for devices on PCI bus 3:
Probing for devices on the ISA bus:
sc0 on isa
sc0: VGA color 16 virtual consoles, flags=0x0
atkbdc0 at 0x60-0x6f on motherboard
atkbd0 irq 1 on isa
psm0 not found
sio0 at 0x3f8-0x3ff irq 4 flags 0x10 on isa
sio0: type 16550A, console
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
lpt0 not found
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
fdc0: FIFO enabled, 8 bytes threshold
fd0: 1.44MB 3.5in
vga0 at 0x3b0-0x3df maddr 0xa msize 131072 on isa
npx0 on motherboard
npx0: INT 16 interface
APIC_IO: Testing 8254 interrupt delivery
APIC_IO: routing 8254 via pin 2
IP packet filtering initialized, divert disabled, rule-based forwarding 
disabled, default to accept, unlimited logging
Waiting 2 seconds for SCSI devices to settle
SMP: AP CPU #1 Launched!
SMP: AP CPU #2 Launched!
SMP: AP CPU #3 Launched!
de0: enabling 10baseT port
de1: autosense failed: cable problem?
pass2 at ahc0 bus 0 target 6 lun 0
pass2: ESG-SHV SCA HSBP M4 0.62 Fixed Processor SCSI-2 device
pass2: 3.300MB/s transfers
pass5 at ahc1 bus 0 target 6 lun 0
pass5: ESG-SHV SCA HSBP M4 0.62 Fixed Processor SCSI-2 device
pass5: 3.300MB/s transfers
da0 at ahc0 bus 0 target 0 lun 0
da0: SEAGATE ST39102LC 0005 Fixed Direct Access SCSI-2 device
da0: 10.000MB/s transfers (10.000MHz, offset 15), Tagged Queueing Enabled
da0: 8683MB (17783240 512 byte sectors: 64H 32S/T 8683C)
da2 at ahc1 bus

booting systems with lots of memory

1999-03-29 Thread Tony Finch
We have a Quad 400MHz Xeon on evaluation here and we're trying to get
a large memory configuration working. The machine is running a recent
3.1-STABLE with the kva patch from -CURRENT (appended below). When we
have a working system with 1GB of RAM we'll increase it to 3GB of RAM
and see how it runs.

The boot blocks are from 3.0-RELEASE and they will boot the old a.out
kernel via /boot/loader quite happily. We haven't yet managed to boot
an ELF kernel, though (but we haven't tried to boot an unpatched one).
It's also somewhat painful to debug because the machine is miles away
and its serial console is causing trouble.

Are there any obvious things we have missed? I assume the kernel load
address is read by /boot/loader from the kernel's ELF header, so that
a recent loader can cope. I also assume that the patch included below
tweaks all of the required knobs.

Tony.
-- 
f.a.n.finch  d...@dotat.at  f...@demon.net


===
RCS file: /home/ncvs/src/sys/i386/conf/Makefile.i386,v
retrieving revision 1.140
retrieving revision 1.141
diff -p -u -r1.140 -r1.141
--- src/sys/i386/conf/Makefile.i386 1999/03/01 09:54:51 1.140
+++ /home/ncvs/src/sys/i386/conf/Makefile.i386  1999/03/11 18:28:41 1.141
@@ -1,7 +1,7 @@
 # Makefile.i386 -- with config changes.
 # Copyright 1990 W. Jolitz
 #  from: @(#)Makefile.i386 7.1 5/10/91
-#  $Id: Makefile.i386,v 1.140 1999/03/01 09:54:51 dt Exp $
+#  $Id: Makefile.i386,v 1.141 1999/03/11 18:28:41 dg Exp $
 #
 # Makefile for FreeBSD
 #
@@ -56,7 +56,7 @@ CFLAGS+=  -elf
 CFLAGS+=   -aout
 .endif
 
-LOAD_ADDRESS?= F010
+LOAD_ADDRESS?= C010
 DEFINED_PROF=  ${PROF}
 .if defined(PROF)
 CFLAGS+=   -malign-functions=4
===
RCS file: /home/ncvs/src/sys/i386/conf/kernel.script,v
retrieving revision 1.1
retrieving revision 1.2
diff -p -u -r1.1 -r1.2
--- src/sys/i386/conf/kernel.script 1998/09/30 12:14:39 1.1
+++ /home/ncvs/src/sys/i386/conf/kernel.script  1999/03/11 18:28:42 1.2
@@ -5,7 +5,7 @@ SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/ob
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
-  . = 0xf010 + SIZEOF_HEADERS;
+  . = 0xc010 + SIZEOF_HEADERS;
   .interp : { *(.interp)   }
   .hash  : { *(.hash)  }
   .dynsym: { *(.dynsym)}
===
RCS file: /home/ncvs/src/sys/i386/include/pmap.h,v
retrieving revision 1.58
retrieving revision 1.59
diff -p -u -r1.58 -r1.59
--- src/sys/i386/include/pmap.h 1999/03/02 16:20:39 1.58
+++ /home/ncvs/src/sys/i386/include/pmap.h  1999/03/11 18:28:46 1.59
@@ -42,7 +42,7 @@
  *
  * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90
  * from: @(#)pmap.h7.4 (Berkeley) 5/12/91
- * $Id: pmap.h,v 1.58 1999/03/02 16:20:39 dg Exp $
+ * $Id: pmap.h,v 1.59 1999/03/11 18:28:46 dg Exp $
  */
 
 #ifndef _MACHINE_PMAP_H_
@@ -88,13 +88,13 @@
 #define VADDR(pdi, pti) ((vm_offset_t)(((pdi)PDRSHIFT)|((pti)PAGE_SHIFT)))
 
 #ifndef NKPT
-#defineNKPT9   /* actual number of kernel page 
tables */
+#defineNKPT17  /* actual number of kernel page 
tables */
 #endif
 #ifndef NKPDE
 #ifdef SMP
-#define NKPDE  62  /* addressable number of page 
tables/pde's */
+#define NKPDE  254 /* addressable number of page 
tables/pde's */
 #else
-#define NKPDE  63  /* addressable number of page 
tables/pde's */
+#define NKPDE  255 /* addressable number of page 
tables/pde's */
 #endif /* SMP */
 #endif


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: booting systems with lots of memory

1999-03-29 Thread Tony Finch
Jan B. Koum  j...@best.com wrote:
Tony Finch d...@dotat.at wrote:
 
 Are there any obvious things we have missed? I assume the kernel load
 address is read by /boot/loader from the kernel's ELF header, so that
 a recent loader can cope. I also assume that the patch included below
 tweaks all of the required knobs.

   Yes, you need to patch load_elf.c

Excellent! Thanks for the quick reply. Will /boot/loader still be able
to boot old kernels after this patch? (I'm reluctant to completely
hose the machine...)

Also, w.r.t. the serial console problems, can I set the baud rate
early in the boot sequence, and if so, how? The console works once
getty puts up a login prompt but not before then, and I get a whole
lot of garbage that I guess is baud barf (I wouldn't know for sure --
too much of a newbie).

Tony.
-- 
f.a.n.finch  d...@dotat.at  f...@demon.net


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: booting systems with lots of memory

1999-03-29 Thread Tony Finch
Jan B. Koum  writes:
 Tony Finch d...@dotat.at wrote:
  
  Excellent! Thanks for the quick reply. Will /boot/loader still be able
  to boot old kernels after this patch? (I'm reluctant to completely
  hose the machine...)
 
 AFAIK it should. Not sure myself to be honest :(

Well, I took the plunge and booted with the new loader and the box
came back fine, so I'm less worried about booting old kernels.
Tomorrow we try it with 3GB of RAM :-)

  Also, w.r.t. the serial console problems, can I set the baud rate
  early in the boot sequence, and if so, how? The console works once
  getty puts up a login prompt but not before then, and I get a whole
  lot of garbage that I guess is baud barf (I wouldn't know for sure --
  too much of a newbie).
 
 Don't know. I don't use serial console. Did you check
 http://www.freebsd.org/~msmith/FTL/bootstrap.txt for any info?

I did, yes. Most of that is now in the loader(8) manual. I tried
changing /boot.config to contain /boot/loader -h which improved
matters. There's still some garbage but it's fine after  FreeBSD
BOOT @ 0x1: 634/15360 k of memory, serial console. We suspect a
BIOS that's being too damn clever for its own good.

Tony.
-- 
f.a.n.finch  f...@demon.net  d...@dotat.at


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: mount -o union broken recently?

1999-02-27 Thread Tony Finch
Julian Elischer jul...@whistle.com wrote:
On Fri, 26 Feb 1999, John Polstra wrote:
 Julian Elischer wrote:
  you want to commit?
  
  (after you sir...)
 
 No, really, after you ... :-)

Done
in 3.1 and 4

I just remembered that MNT_UNION occurs in another file which on
investigation turned out to be amongst the unionfs code that was
moved. It should be removed so that the code isn't run twice when
unionfs is enabled. Sorry for missing it the first time round! I also
tidied up the vfs_syscalls patch a bit.

Tony.
-- 
f.a.n.finch  d...@dotat.at  f...@demon.net


--- miscfs/union/union_subr.c.3.1   Sat Feb 27 20:44:14 1999
+++ miscfs/union/union_subr.c   Sat Feb 27 20:47:28 1999
@@ -1183,15 +1183,6 @@
return -1;  /* goto unionread */
}
}
-   if (((*vp)-v_flag  VROOT)  ((*vp)-v_mount-mnt_flag  MNT_UNION)) {
-   struct vnode *tvp = *vp;
-   *vp = (*vp)-v_mount-mnt_vnodecovered;
-   VREF(*vp);
-   fp-f_data = (caddr_t) *vp;
-   fp-f_offset = 0;
-   vrele(tvp);
-   return -1;  /* goto unionread */
-   }
return error;
 }
 
--- kern/vfs_syscalls.c.3.2 Sat Feb 27 20:55:32 1999
+++ kern/vfs_syscalls.c Sat Feb 27 21:00:26 1999
@@ -2756,23 +2756,24 @@
VOP_UNLOCK(vp, 0, p);
if (error)
return (error);
-   if (union_dircheckp  SCARG(uap, count) == auio.uio_resid) {
-   error = union_dircheckp(p, vp, fp);
-   if (error == -1)
+   if (SCARG(uap, count) == auio.uio_resid) {
+   if (union_dircheckp) {
+   error = union_dircheckp(p, vp, fp);
+   if (error == -1)
+   goto unionread;
+   if (error)
+   return (error);
+   }
+   if ((vp-v_flag  VROOT) 
+   (vp-v_mount-mnt_flag  MNT_UNION)) {
+   struct vnode *tvp = vp;
+   vp = vp-v_mount-mnt_vnodecovered;
+   VREF(vp);
+   fp-f_data = (caddr_t) vp;
+   fp-f_offset = 0;
+   vrele(tvp);
goto unionread;
-   if (error)
-   return (error);
-   }
-   if ((SCARG(uap, count) == auio.uio_resid) 
-   (vp-v_flag  VROOT) 
-   (vp-v_mount-mnt_flag  MNT_UNION)) {
-   struct vnode *tvp = vp;
-   vp = vp-v_mount-mnt_vnodecovered;
-   VREF(vp);
-   fp-f_data = (caddr_t) vp;
-   fp-f_offset = 0;
-   vrele(tvp);
-   goto unionread;
+   }
}
error = copyout((caddr_t)loff, (caddr_t)SCARG(uap, basep),
sizeof(long));
@@ -2833,23 +2834,24 @@
VOP_UNLOCK(vp, 0, p);
if (error)
return (error);
-   if (union_dircheckp  SCARG(uap, count) == auio.uio_resid) {
-   error = union_dircheckp(p, vp, fp);
-   if (error == -1)
+   if (SCARG(uap, count) == auio.uio_resid) {
+   if (union_dircheckp) {
+   error = union_dircheckp(p, vp, fp);
+   if (error == -1)
+   goto unionread;
+   if (error)
+   return (error);
+   }
+   if ((vp-v_flag  VROOT) 
+   (vp-v_mount-mnt_flag  MNT_UNION)) {
+   struct vnode *tvp = vp;
+   vp = vp-v_mount-mnt_vnodecovered;
+   VREF(vp);
+   fp-f_data = (caddr_t) vp;
+   fp-f_offset = 0;
+   vrele(tvp);
goto unionread;
-   if (error)
-   return (error);
-   }
-   if ((SCARG(uap, count) == auio.uio_resid) 
-   (vp-v_flag  VROOT) 
-   (vp-v_mount-mnt_flag  MNT_UNION)) {
-   struct vnode *tvp = vp;
-   vp = vp-v_mount-mnt_vnodecovered;
-   VREF(vp);
-   fp-f_data = (caddr_t) vp;
-   fp-f_offset = 0;
-   vrele(tvp);
-   goto unionread;
+   }
}
if (SCARG(uap, basep) != NULL) {
error = copyout((caddr_t)loff, (caddr_t)SCARG(uap, basep),


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: mount -o union broken recently?

1999-02-26 Thread Tony Finch
Julian Elischer jul...@whistle.com wrote:
On Thu, 25 Feb 1999, John Polstra wrote:

[...]
 
 Here, you did the union mount on top of an existing mount point (da1).
 I don't know for sure, but I suspect that this is the only case in
 which union mounts are designed to work.

I was led to believe (last time I read the code) that any directory should
be ok for a union mount

I was led to believe the same by the manual:

   union   Causes the namespace at the mount point to appear as the
   union of the mounted filesystem root and the existing di-
   rectory.  Lookups will be done in the mounted filesystem
   first.  If those operations fail due to a non-existent
   file the underlying directory is then accessed.  All cre-
   ates are done in the mounted filesystem.

I did a brief experiment on the 3.0-RELEASE machine as follows:

# mount
/dev/da0s1a on / (local, writes: sync 1163 async 18438)
procfs on /proc (local)
/dev/da0s1e on /usr (local, writes: sync 363 async 41653)
/dev/da1s1e on /www/da1 (local, writes: sync 12 async 38)
# ls da1/subdir
this_is_da1
# mount -o union /dev/da2s1e da1/subdir
# ls da1/subdir
this_is_da1  this_is_da2
#

So that machine is happy enough with union nounts on top of subdirectories.

On the 3.1-STABLE machine, I tried union mounting on top of a mount
point:

# mount
/dev/da0s1a on / (local, writes: sync 9824 async 55852)
/dev/da0s1e on /www (local, writes: sync 5484 async 10400)
procfs on /proc (local)
/dev/da0s1f on /srcdelta (local, writes: sync 2569 async 2659)
# ls /srcdelta
thing
# ls /www
apache  obj
# umount /srcdelta
# mount -o union /dev/da0s1f /www
# ls /www
thing
#

Still no joy.

Is it sorrect that this magic is implemented in sys/kern/vfs_lookup.c?
The odd thing is that AFAICS no-one has made significant changes to
this code.

Tony.
-- 
f.a.n.finch  d...@dotat.at  f...@demon.net


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: mount -o union broken recently?

1999-02-26 Thread Tony Finch
Luigi Rizzo lu...@labinfo.iet.unipi.it wrote:

(about union mounts on 3.1 not returning all files with an 'ls' in
3.1 while it did in 3.0)

 Is it sorrect that this magic is implemented in sys/kern/vfs_lookup.c?
 The odd thing is that AFAICS no-one has made significant changes to
 this code.

i just experienced the above today while trying diskless, and while
ls only seems to return the entries for the topmost directory, files
are accessible if you know the name. no idea if this is of any help.

This is exactly the right pointer, thanks! The problem appears to be
the change between revs 1.108 and 1.109 of sys/kern/vfs_syscalls.c. A
couple of (very similar) blocks of code related to `mount -o union`
seem to have been mixed up with some code related to `mount -t union`
and therefore removed. It's a shame that the two things get confused
so much. I originally missed vfs_syscalls.c because a `find
/usr/src/sys | xargs grep MNT_UNION` on 3.1 didn't show it. Replacing
the errant code fixes the problem. Here's a patch against 1.112.2.1.

Tony.
--
f.a.n.finch  d...@dotat.at  f...@demon.net


--- vfs_syscalls.c.3.1  Sat Feb 27 02:15:13 1999
+++ vfs_syscalls.c  Sat Feb 27 02:30:42 1999
@@ -2763,6 +2763,17 @@
if (error)
return (error);
}
+   if ((SCARG(uap, count) == auio.uio_resid) 
+   (vp-v_flag  VROOT) 
+   (vp-v_mount-mnt_flag  MNT_UNION)) {
+   struct vnode *tvp = vp;
+   vp = vp-v_mount-mnt_vnodecovered;
+   VREF(vp);
+   fp-f_data = (caddr_t) vp;
+   fp-f_offset = 0;
+   vrele(tvp);
+   goto unionread;
+   }
error = copyout((caddr_t)loff, (caddr_t)SCARG(uap, basep),
sizeof(long));
p-p_retval[0] = SCARG(uap, count) - auio.uio_resid;
@@ -2828,6 +2839,17 @@
goto unionread;
if (error)
return (error);
+   }
+   if ((SCARG(uap, count) == auio.uio_resid) 
+   (vp-v_flag  VROOT) 
+   (vp-v_mount-mnt_flag  MNT_UNION)) {
+   struct vnode *tvp = vp;
+   vp = vp-v_mount-mnt_vnodecovered;
+   VREF(vp);
+   fp-f_data = (caddr_t) vp;
+   fp-f_offset = 0;
+   vrele(tvp);
+   goto unionread;
}
if (SCARG(uap, basep) != NULL) {
error = copyout((caddr_t)loff, (caddr_t)SCARG(uap, basep),


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



mount -o union broken recently?

1999-02-24 Thread Tony Finch
I have been experimenting with union mounts today with a recent
-stable (cvsupped yesterday), and I haven't had much luck.

Because cvsup likes to obliterate local changes, I thought it would be
convenient to keep the altered files on a separate filesystem and use
a union mount to overlay them on the upstream source when I compile
things. So:

# mount
/dev/da0s1a on / (local, writes: sync 420 async 3185)
procfs on /proc (local)
/dev/da0s1e on /www (local, writes: sync 2 async 0)
# mount /dev/da0s1f /srcdelta
# ls -l /srcdelta
total 1
drwxr-xr-x   6 root wheel 512 Feb 18 10:32 sys
# umount /srcdelta
# ls /usr/src
COPYRIGHT UPDATING  include   share
CVS   bin   kerberosIVsys
Makefile  contrib   lib   tools
Makefile.inc0 cryptolibexec   usr.bin
Makefile.inc1 etc   release   usr.sbin
Makefile.upgrade  games sbin
READMEgnu   secure
# mount -o union /dev/da0s1f /usr/src
# ls -l /usr/src
total 1
drwxr-xr-x   6 root wheel 512 Feb 18 10:32 sys
# umount /usr/src
# uname -a
FreeBSD shirt.www.demon.net 3.1-STABLE FreeBSD 3.1-STABLE #6: Thu Feb 18 
02:26:59 GMT 1999 r...@shirt.www.demon.net:/usr/src/sys/compile/SHIRT  i386
#

However, on another machine running 3.0-RELEASE mount -o union works
as expected:

# ls -l
total 6
drwxr-xr-x   2 root wheel 512 Feb 18 16:36 da1
drwxr-xr-x   2 root wheel 512 Dec 11 11:06 da2
# mount /dev/da1s1e da1
# mount /dev/da2s1e da2
# ls -l da?/*
-rw-r--r--   1 root wheel   0 Feb 18 16:36 da1/this_is_da1
-rw-r--r--   1 root wheel   0 Feb 18 16:36 da2/this_is_da2
# umount da2
# mount -o union /dev/da2s1e /www/da1
# ls -l da?/*
-rw-r--r--   1 root wheel   0 Feb 18 16:36 da1/this_is_da1
-rw-r--r--   1 root wheel   0 Feb 18 16:36 da1/this_is_da2
#

Shirt's kernel configuration is below.

Tony.
-- 
f.a.n.finch  d...@dotat.at  f...@demon.net


machine i386
cpu I686_CPU
ident   SHIRT
maxusers64

options INET#InterNETworking
options FFS #Berkeley Fast Filesystem
options FFS_ROOT#FFS usable as root device [keep this!]
options MFS #Memory Filesystem
#optionsMFS_ROOT#MFS usable as root device, MFS req'ed
options NFS #Network Filesystem
options NFS_NOSERVER
#optionsNFS_ROOT#NFS usable as root device, NFS req'ed
options MSDOSFS #MSDOS Filesystem
#optionsCD9660#ISO 9660 Filesystem
#optionsCD9660_ROOT   #CD-ROM usable as root. CD9660 req'ed
options PROCFS  #Process filesystem
options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]
options SCSI_DELAY=1000 #Be pessimistic about Joe SCSI device
options UCONSOLE#Allow users to grab the console
options USERCONFIG  #boot -c editor
options VISUAL_USERCONFIG   #visual boot -c editor

options NETALIAS
options NETBIND
options SOFTUPDATES

options MAXMEM=(64*1024)
options PQ_MEDIUMCACHE
options INCLUDE_CONFIG_FILE
options PERFMON

options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_DEFAULT_TO_ACCEPT

options ICMP_BANDLIM

options DUMMYNET

config  kernel  root on wd0

controller  isa0
controller  eisa0
controller  pci0

controller  fdc0at isa? port IO_FD1 bio irq 6 drq 2
diskfd0 at fdc0 drive 0
#disk   fd1 at fdc0 drive 1

options CMD640# work around CMD640 chip deficiency
controller  wdc0at isa? port IO_WD1 bio irq 14
diskwd0 at wdc0 drive 0

options ATAPI   #Enable ATAPI support for IDE bus
options ATAPI_STATIC#Don't do it as an LKM
device  acd0#IDE CD-ROM

controller  ncr0

controller  scbus0

device  da0

device  pass0

device  cd0 #Only need one of these, the code dynamically grows

# atkbdc0 controlls both the keyboard and the PS/2 mouse
controller  atkbdc0 at isa? port IO_KBD tty
device  atkbd0  at isa? tty irq 1
device  psm0at isa? tty irq 12

device  vga0at isa? port ? conflicts

# splash screen/screen saver
#pseudo-device  splash
#optionsVM86
#optionsVESA

# syscons is the default console driver, resembling an SCO console
device  sc0 at isa? tty

device  npx0at isa? port IO_NPX irq 13

# Laptop support (see LINT for more options)
#
device  apm0at isa? disable flags 0x31 # Advanced Power Management

# serial port
device

Re: adding DHCP client to src/contrib/

1999-02-09 Thread Tony Finch
Mike Smith m...@smith.net.au wrote:

 I've got a machine on the DHCP required network with two NICs.  Currently
 I'm only using one of them and thus don't have it listed in
 ``network_interfaces''.  So it just happily sits there.  IMHO we
 shouldn't try to dhcp configure it.  It will just fill up logs as it
 continues to try to get a lease which it can't.

In a situation like that, you would just tune the dhcp client not to 
ask for a lease on that interface.  You know you've done something 
silly; there's a mechanism to stop it breaking things.  What more could 
you ask for?

POLA. Currently, an interface that isn't mentioned isn't configured at
all. Changing that isn't kind. Perhaps having a variable in rc.conf
that lists the interfaces to be configured with DHCP would be better?
(As opposed to the statically configured interfaces.)

Tony.
-- 
f.a.n.finch  d...@dotat.at  f...@demon.net

To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: btokup().. patch to STYLE(9) (fwd)

1999-02-02 Thread Tony Finch
Peter Jeremy peter.jer...@auss2.alcatel.com.au wrote:
Someone wrote:

 You are not supposed to understand this.

I'd suggest that there's a vast difference in the intended audience
of the code containing the above comment and FreeBSD.  Not to mention
a 20+ year gap in time.

Whilst the official codebase may be under the control of a select
group of committers, the code should be capable of being understood by
anyone who is reasonably proficient with C.  If understanding the
kernel requires that you be a guru-level expert in C, then people
won't bother.  FreeBSD will wind up being a small collection of
people trying to outdo each other in obtuseness.

Don't be silly.

FreeBSD is much more complicated than V6 for a whole lot of reasons
that are independent of who gets to read the code and who gets to
change it. Just as a starting point, the kernel has about a million
lines of code compared to V6's ten thousand lines; Lions' comment
about 1 lines being a comfortable amount of code for one person to
understand comes to mind.

The x86 architecture is vastly more complicated and baroque than the
PDP11. We now have paging and networking and SMP and a whole lot of
other sophisticated stuff that were completely beyond V6. The magic of
swtch() is written in assembler, not C.

On the other hand, what we have that the early Unix community didn't
have is the Internet. We can collaborate with email, we can browse the
code history with CVS, and generally benefit from a far greater level
of support.

Tony.
-- 
f.a.n.finch  d...@dotat.at  f...@demon.net

To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: btokup().. patch to STYLE(9) (fwd)

1999-01-31 Thread Tony Finch
Doug Rabson d...@nlsystems.com wrote:
On Fri, 29 Jan 1999, Sheldon Hearn wrote:
 
 The reason I'm interested in this (now tiresome) thread is that I'd much
 rather have to read
 
  /*
   * Bail out if the time left to next transaction is less than
   * the duration of the previous transaction.
   */
  if (t % u - n % u  d % u) {
 
 than
 
  if (((t % u) - (n % u))  (d % u)) {

This is a strawman.  The original expression is perfectly fine (by my
rules).  One could make a case for:

   if ((t % u) - (n % u)  d % u)

Am I a heretic for suggesting this?

if (t%u - n%u  d%u)

Grouping without brackets!

Tony.
-- 
f.a.n.finch  d...@dotat.at  f...@demon.net

To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: -D_REENTRANT (Was: Using LinuxThreads)

1999-01-22 Thread Tony Finch
Kurt D. Zeilenga k...@openldap.org wrote:
Richard Seaman, Jr. wrote:
 [lost attribution] 
  Also, the cc(1) says to use -D_THREADSAFE not -D_THREAD_SAFE.
 Hmm.  Not on my machine. :)

http://www.freebsd.org/cgi/man.cgi?query=ccapropos=0sektion=0manpath=FreeBSD+3.0-currentformat=html

This was changed some time after 3.0.0.

http://www.freebsd.org/cgi/cvsweb.cgi/src/contrib/gcc/gcc.1

Tony.
-- 
f.a.n.finch  d...@dotat.at  f...@demon.net

To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message