* Re: File perforation.
From: Eli Carter @ 2003-01-08 22:28 UTC (permalink / raw)
To: David Woodhouse; +Cc: linux-fsdevel
In-Reply-To: <21551.1042063560@passion.cambridge.redhat.com>
David Woodhouse wrote:
> I keep receiving requests from users to allow space saving by making holes
> in files. For people using JFFS2, a compressed file system designed for use
> on fairly small solid state storage devices, this is a fairly reasonable
> request, and it's also fairly simple to implement. It's only the interface
> I'm concerned about.
>
> I've been resisting these requests because I really don't want to do it
> with an ioctl on the file. Only if we can have a generic sys_perforate()
> would I really want to do it.
>
> Apparently it's hard to implement on block-based file systems. I don't
> really care about that though -- just falling back to writing zeroes to the
> offending range (or indeed returning -EINVAL) would be perfectly sufficient
> until/unless it gets implemented for other file systems. All I want is an
> interface that doesn't make me feel dirty :)
>
> Comments?
Could you elaborate on the difference between what you want to do and
sparse files?
Eli
--------------------. "If it ain't broke now,
Eli Carter \ it will be soon." -- crypto-gram
eli.carter(a)inet.com `-------------------------------------------------
^ permalink raw reply
* Re: [patch 2.5] PCI: allow alternative methods for probing the BARs
From: Grant Grundler @ 2003-01-08 22:34 UTC (permalink / raw)
To: Ivan Kokshaysky
Cc: Benjamin Herrenschmidt, Linus Torvalds, Paul Mackerras,
Eric W. Biederman, davidm, linux-kernel
In-Reply-To: <20030108174711.A15896@jurassic.park.msu.ru>
Ivan Kokshaysky wrote:
> On Tue, Jan 07, 2003 at 12:17:00PM -0800, Grant Grundler wrote:
> > BTW, please don't equate PCI controller instance number with PCI Domain.
>
> I agree, it's quite confusing. However, I don't think that the PCI spec
> defines "PCI controller" or "PCI domain" terms, it's pretty much
> implementation specific.
Oh. The definition I was using is based on which PCI devices can do
peer-to-peer transactions. ie a "PCI Domain" is defined by the
PCI MMIO address space routing.
> Assuming that each PCI controller can handle up to 256 bridged buses,
> the unique PCI controller index and PCI bus number is all that userspace
> needs to know in order to properly identify devices in the system.
yes - that makes sense for configuration space accesses.
I can see why you'd call this a "PCI Domain" as well.
The platforms I was commenting on can only generate config cycles below
a PCI "Host Bus Adapter" (aka controller).
thanks,
grant
^ permalink raw reply
* [Linux-ia64] Re: strace improvement patch
From: Roland McGrath @ 2003-01-08 22:20 UTC (permalink / raw)
To: linux-ia64
In-Reply-To: <marc-linux-ia64-105590709805650@msgid-missing>
> Also, I'd recommend to use gcc-3.2 for compiling strace. I
> encountered some strange bugs with gcc-2.96, though I did not try to
> track them down. With gcc-3.2, those bugs went away and strace now
> seems to work quite nicely (once again, that is).
Can you give me at least a clue what to look for?
^ permalink raw reply
* [Linux-ia64] Re: strace improvement patch
From: Roland McGrath @ 2003-01-08 22:17 UTC (permalink / raw)
To: linux-ia64
Thanks, David. That original patch was indeed by me. I am now doing most
of the strace maintenance on the sourceforge version directly. I was
already planning to merge those changes in, along with some more
clone-related changes I have to handle the 2.5 threads stuff that I will
finish up and merge. I will incorporate your fixes and test it on IA64
before I commit those changes.
^ permalink raw reply
* patching iptables - how?
From: Mladen Meduric @ 2003-01-08 22:16 UTC (permalink / raw)
To: netfilter
Hi all,
just joined the list.
Pretty new to linux/iptables (on SuSE8.0). I'm trying to patch from 1.2.5
to 1.2.6a and then to 1.2.7a.
Do have all patches. Tried "patch" command, but I seem can't figure it out
properly. Would someone explain how to do this in couple of steps, please?
Also, from reading other articles, after patching up or reinstalling
iptables from scratch, is it necessary to recompile the kernel?
Cheers,
Mladen
__________________________________________________
Do You Yahoo!?
Everything you'll ever need on one web page
from News and Sport to Email and Music Charts
http://uk.my.yahoo.com
^ permalink raw reply
* Re: Status of linuxppc_2.5
From: Michel Lanners @ 2003-01-08 22:15 UTC (permalink / raw)
To: panto; +Cc: linuxppc-dev
In-Reply-To: <3E1BECD2.9060909@intracom.gr>
On 8 Jan, this message from Pantelis Antoniou echoed through cyberspace:
> I'm trying to compile linuxppc_2.5
> and the following patch is needed to
> make it compile.
Tried to compile my standard kernel compile a while back, and found the
following things broken (didn't have time to try fixing yet...):
- 53c94 Mac SCSI
- Matroxfb
I also didn't try very hard to compile in face of these problems; there
may be others still.
Sorry I can't provide more info, but maybe this discussion makes ore
people interested in 2.5 status, where I think a number of PPC-related
things need to be seriously looked at, hopefully before it is declared
2.6...
Cheers
Michel
-------------------------------------------------------------------------
Michel Lanners | " Read Philosophy. Study Art.
23, Rue Paul Henkes | Ask Questions. Make Mistakes.
L-1710 Luxembourg |
email mlan@cpu.lu |
http://www.cpu.lu/~mlan | Learn Always. "
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
^ permalink raw reply
* Re: 2.5.54: ide-scsi still buggy?
From: Douglas Gilbert @ 2003-01-08 22:26 UTC (permalink / raw)
To: linux-kernel; +Cc: xhejtman
Lukas Hejtmanek wrote:
> On Tue, Jan 07, 2003 at 09:17:46PM -0500, Zwane Mwaikambo wrote:
> > > It freezes kernel (sysrq do nothing) after lines:
> > > scsi0 : SCSI host adapter emulation for IDE ATAPI devices
> > > Vendor: TEAC Model: CD-W512EB Rev: 2
> > > Type: CD-ROM ANSI SCSI revision: 02
> > > scsi scan: host 0 channel 0 id 0 lun 0 identifier too long,
> > > length 60, max 50. \
> > > Device might be improperly identified.
> > > while attaching it to /dev/hde works ok. Why?
> >
> > This has been observed to cause an oops on some boxes and nothing
> > on mine,
> > try this patch from Andries
>
> Acctualy this patch caused only I do not see "scsi scan:
> host 0 channel 0 id
> 0 lun 0 identifier too long, length 60, max 50. Device might
> be improperly identified."
>
> how ever after above message kernel causes hard hw lockup.
> IDE activity LED is turned on but nothing else works. (nor
> sysrq)
>
> I believe that code that report this message causes hw lockup.
> sr0: scsi3-mmc drive: 32x/32x writer cd/rw xa/form2 cdda tray
There are several different patches to ide-scsi in Linus's
snapshots that will most likely appear in lk 2.5.55 .
See:
http://www.kernel.org/pub/linux/kernel/v2.5/snapshots/
with patch-2.5.54-bk6 being the most recent. See the associated
log for a listing of the ide-scsi changes.
It would be interesting to hear if that snapshot fixes your
ide-scsi problem.
Doug Gilbert
^ permalink raw reply
* length match problem
From: Jackfritt @ 2003-01-08 22:14 UTC (permalink / raw)
To: netfilter
Ok I have the following problem.
iptables -A OUTPUT -o ppp0 -p tcp -m length --length :40 -j MARK
--set-mark 10
That should mark all ACK's or not ?
When I try to do this I get the error:
iptables: Invalid argument
I found out that this has something to do with the length match.
Because not used I don't get an error message. I looked around and found
an example in netfilter-extensions-HOWTO with icmp:
iptables -A INPUT -p icmp --icmp-type echo-request -m length --length
86:0xffff -j DROP
When I try to do something like this it doesn't work too :(
So now my question is what am I doin wrong ?
Sorry I'm not an iptables guy an I only tried a script from somewhere
else. But this one line doesn't work.
anyone can help me ?
Thx
Joerg Esser
^ permalink raw reply
* Re: iptables u32 match patch-o-matic (attempt)
From: Don Cohen @ 2003-01-08 22:10 UTC (permalink / raw)
To: Harald Welte; +Cc: netfilter-devel
In-Reply-To: <20030108105646.GH9467@sunbeam.de.gnumonks.org>
[-- Attachment #1: message body text --]
[-- Type: text/plain, Size: 773 bytes --]
> yes. If you now would be as friendly to post it as a unified diff
> against current patch-o-matic CVS, attached in MIME format? (And for
> posting habits and/or coding style hints there are plenty of examples in
> the list archives respectively CVS).
I've tried to follow directions in NEWPATCHES.
I don't quite understand, though, where libipt_u32.c belongs.
I guess not in patch-o-matic.
It looks like you want me to download the current patch-o-matic cvs,
make a copy of it with my 3 patch files, then do a diff.
But this just contains my 3 patch files, right?
So wouldn't that be the same as putting those files in one directory,
creating a second directory with empty files of those names and doing
the diff of those?
Anyhow, see if this is what you wanted:
[-- Attachment #2: u32-diff --]
[-- Type: application/octet-stream, Size: 10303 bytes --]
diff -ur u32-empty/u32.patch u32-added/u32.patch
--- u32-empty/u32.patch Wed Jan 8 14:05:11 2003
+++ u32-added/u32.patch Wed Jan 8 13:40:47 2003
@@ -0,0 +1,249 @@
+diff -ur /usr/src/linux-2.4.18-clean/include/linux/netfilter_ipv4/ipt_u32.h /usr/src/linux-2.4.18/include/linux/netfilter_ipv4/ipt_u32.h
+--- /usr/src/linux-2.4.18-clean/include/linux/netfilter_ipv4/ipt_u32.h Wed Jan 8 13:08:47 2003
++++ /usr/src/linux-2.4.18/include/linux/netfilter_ipv4/ipt_u32.h Tue Jan 7 22:40:38 2003
+@@ -0,0 +1,40 @@
++#ifndef _IPT_U32_H
++#define _IPT_U32_H
++#include <linux/netfilter_ipv4/ip_tables.h>
++
++enum ipt_u32_ops
++{
++ IPT_U32_AND,
++ IPT_U32_LEFTSH,
++ IPT_U32_RIGHTSH,
++ IPT_U32_AT
++};
++
++struct ipt_u32_location_element
++{
++ u_int32_t number;
++ u_int8_t nextop;
++};
++struct ipt_u32_value_element
++{
++ u_int32_t min;
++ u_int32_t max;
++};
++/* *** any way to allow for an arbitrary number of elements?
++ for now I settle for a limit of 10 of each */
++#define U32MAXSIZE 10
++struct ipt_u32_test
++{
++ u_int8_t nnums;
++ struct ipt_u32_location_element location[U32MAXSIZE+1];
++ u_int8_t nvalues;
++ struct ipt_u32_value_element value[U32MAXSIZE+1];
++};
++
++struct ipt_u32
++{
++ u_int8_t ntests;
++ struct ipt_u32_test tests[U32MAXSIZE+1];
++};
++
++#endif /*_IPT_U32_H*/
+diff -ur /usr/src/linux-2.4.18-clean/net/ipv4/netfilter/ipt_u32.c /usr/src/linux-2.4.18/net/ipv4/netfilter/ipt_u32.c
+--- /usr/src/linux-2.4.18-clean/net/ipv4/netfilter/ipt_u32.c Thu Dec 26 11:04:18 2002
++++ /usr/src/linux-2.4.18/net/ipv4/netfilter/ipt_u32.c Mon Jan 6 08:49:56 2003
+@@ -0,0 +1,201 @@
++/* Kernel module to match u32 packet content. */
++
++/*
++U32 tests whether quantities of up to 4 bytes extracted from a packet
++have specified values. The specification of what to extract is general
++enough to find data at given offsets from tcp headers or payloads.
++
++ --u32 tests
++ The argument amounts to a program in a small language described below.
++ tests := location = value | tests && location = value
++ value := range | value , range
++ range := number | number : number
++ a single number, n, is interpreted the same as n:n
++ n:m is interpreted as the range of numbers >=n and <=m
++ location := number | location operator number
++ operator := & | << | >> | @
++
++ The operators &, <<, >>, && mean the same as in c. The = is really a set
++ membership operator and the value syntax describes a set. The @ operator
++ is what allows moving to the next header and is described further below.
++
++ *** Until I can find out how to avoid it, there are some artificial limits
++ on the size of the tests:
++ - no more than 10 ='s (and 9 &&'s) in the u32 argument
++ - no more than 10 ranges (and 9 commas) per value
++ - no more than 10 numbers (and 9 operators) per location
++
++ To describe the meaning of location, imagine the following machine that
++ interprets it. There are three registers:
++ A is of type char*, initially the address of the IP header
++ B and C are unsigned 32 bit integers, initially zero
++
++ The instructions are:
++ number B = number;
++ C = (*(A+B)<<24)+(*(A+B+1)<<16)+(*(A+B+2)<<8)+*(A+B+3)
++ &number C = C&number
++ <<number C = C<<number
++ >>number C = C>>number
++ @number A = A+C; then do the instruction number
++ Any access of memory outside [skb->head,skb->end] causes the match to fail.
++ Otherwise the result of the computation is the final value of C.
++
++ Whitespace is allowed but not required in the tests.
++ However the characters that do occur there are likely to require
++ shell quoting, so it's a good idea to enclose the arguments in quotes.
++
++Example:
++ match IP packets with total length >= 256
++ The IP header contains a total length field in bytes 2-3.
++ --u32 "0&0xFFFF=0x100:0xFFFF"
++ read bytes 0-3
++ AND that with FFFF (giving bytes 2-3),
++ and test whether that's in the range [0x100:0xFFFF]
++
++Example: (more realistic, hence more complicated)
++ match icmp packets with icmp type 0
++ First test that it's an icmp packet, true iff byte 9 (protocol) = 1
++ --u32 "6&0xFF=1 && ...
++ read bytes 6-9, use & to throw away bytes 6-8 and compare the result to 1
++ Next test that it's not a fragment.
++ (If so it might be part of such a packet but we can't always tell.)
++ n.b. This test is generally needed if you want to match anything
++ beyond the IP header.
++ The last 6 bits of byte 6 and all of byte 7 are 0 iff this is a complete
++ packet (not a fragment). Alternatively, you can allow first fragments
++ by only testing the last 5 bits of byte 6.
++ ... 4&0x3FFF=0 && ...
++ Last test: the first byte past the IP header (the type) is 0
++ This is where we have to use the @syntax. The length of the IP header
++ (IHL) in 32 bit words is stored in the right half of byte 0 of the
++ IP header itself.
++ ... 0>>22&0x3C@0>>24=0"
++ The first 0 means read bytes 0-3,
++ >>22 means shift that 22 bits to the right. Shifting 24 bits would give
++ the first byte, so only 22 bits is four times that plus a few more bits.
++ &3C then eliminates the two extra bits on the right and the first four
++ bits of the first byte.
++ For instance, if IHL=5 then the IP header is 20 (4 x 5) bytes long.
++ In this case bytes 0-1 are (in binary) xxxx0101 yyzzzzzz,
++ >>22 gives the 10 bit value xxxx0101yy and &3C gives 010100.
++ @ means to use this number as a new offset into the packet, and read
++ four bytes starting from there. This is the first 4 bytes of the icmp
++ payload, of which byte 0 is the icmp type. Therefore we simply shift
++ the value 24 to the right to throw out all but the first byte and compare
++ the result with 0.
++
++Example:
++ tcp payload bytes 8-12 is any of 1, 2, 5 or 8
++ First we test that the packet is a tcp packet (similar to icmp).
++ --u32 "6&0xFF=6 && ...
++ Next, test that it's not a fragment (same as above).
++ ... 0>>22&0x3C@12>>26&0x3C@8=1,2,5,8"
++ 0>>22&3C as above computes the number of bytes in the IP header.
++ @ makes this the new offset into the packet, which is the start of the
++ tcp header. The length of the tcp header (again in 32 bit words) is
++ the left half of byte 12 of the tcp header. The 12>>26&3C
++ computes this length in bytes (similar to the IP header before).
++ @ makes this the new offset, which is the start of the tcp payload.
++ Finally 8 reads bytes 8-12 of the payload and = checks whether the
++ result is any of 1, 2, 5 or 8
++*/
++
++#include <linux/module.h>
++#include <linux/skbuff.h>
++
++#include <linux/netfilter_ipv4/ipt_u32.h>
++#include <linux/netfilter_ipv4/ip_tables.h>
++
++/* #include <asm-i386/timex.h> for timing */
++
++MODULE_AUTHOR("Don Cohen <don@isis.cs3-inc.com>");
++MODULE_DESCRIPTION("IP tables u32 matching module");
++MODULE_LICENSE("GPL");
++
++static int
++match(const struct sk_buff *skb,
++ const struct net_device *in,
++ const struct net_device *out,
++ const void *matchinfo,
++ int offset,
++ const void *hdr,
++ u_int16_t datalen,
++ int *hotdrop)
++{
++ const struct ipt_u32 *data = matchinfo;
++ int testind, i;
++ unsigned char* origbase = (char*)skb->nh.iph;
++ unsigned char* base = origbase;
++ unsigned char* head = skb->head;
++ unsigned char* end = skb->end;
++ int nnums, nvals;
++ u_int32_t pos, val;
++ /* unsigned long long cycles1, cycles2, cycles3, cycles4;
++ cycles1 = get_cycles(); */
++ for (testind=0; testind < data->ntests; testind++) {
++ base=origbase; /* reset for each test */
++ pos = data->tests[testind].location[0].number;
++ if (base+pos+3 > end || base+pos < head) return 0;
++ val = (base[pos]<<24) + (base[pos+1]<<16) +
++ (base[pos+2]<<8) + base[pos+3];
++ nnums = data->tests[testind].nnums;
++ for (i=1; i<nnums; i++) {
++ u_int32_t number = data->tests[testind].location[i].number;
++ switch (data->tests[testind].location[i].nextop) {
++ case IPT_U32_AND: val = val & number; break;
++ case IPT_U32_LEFTSH: val = val << number; break;
++ case IPT_U32_RIGHTSH: val = val >> number; break;
++ case IPT_U32_AT:
++ base = base + val;
++ pos = number;
++ if (base+pos+3 > end || base+pos < head) return 0;
++ val = (base[pos]<<24) + (base[pos+1]<<16) +
++ (base[pos+2]<<8) + base[pos+3];
++ break;
++ }
++ }
++ nvals = data->tests[testind].nvalues;
++ for (i=0; i < nvals; i++) {
++ if ((data->tests[testind].value[i].min <= val) &&
++ (val <= data->tests[testind].value[i].max))
++ {break;
++ }
++ }
++ if(i >= data->tests[testind].nvalues) {
++ /* cycles2 = get_cycles();
++ printk("failed %d in %d cycles\n", testind, cycles2-cycles1); */
++ return 0;
++ }
++ }
++ /* cycles2 = get_cycles();
++ printk("succeeded in %d cycles\n", cycles2-cycles1); */
++ return 1;
++}
++
++static int
++checkentry(const char *tablename,
++ const struct ipt_ip *ip,
++ void *matchinfo,
++ unsigned int matchsize,
++ unsigned int hook_mask)
++{
++ if (matchsize != IPT_ALIGN(sizeof(struct ipt_u32)))
++ return 0;
++ return 1;
++}
++
++static struct ipt_match u32_match
++= { { NULL, NULL }, "u32", &match, &checkentry, NULL, THIS_MODULE };
++
++static int __init init(void)
++{
++ return ipt_register_match(&u32_match);
++}
++
++static void __exit fini(void)
++{
++ ipt_unregister_match(&u32_match);
++}
++
++module_init(init);
++module_exit(fini);
diff -ur u32-empty/u32.patch.help u32-added/u32.patch.help
--- u32-empty/u32.patch.help Wed Jan 8 14:05:11 2003
+++ u32-added/u32.patch.help Wed Jan 8 13:40:47 2003
@@ -0,0 +1,10 @@
+Author: Don Cohen <don@isis.cs3-inc.com>
+Status: Tested locally, seems to work.
+
+U32 allows you to extract quantities of up to 4 bytes from a packet,
+AND them with specified masks, shift them by specified amounts and
+test whether the results are in any of a set of specified ranges.
+The specification of what to extract is general enough to skip over
+headers with lengths stored in the packet, as in IP or TCP header
+lengths.
+Details and examples are in the kernel module source.
diff -ur u32-empty/u32.patch.makefile u32-added/u32.patch.makefile
--- u32-empty/u32.patch.makefile Wed Jan 8 14:05:11 2003
+++ u32-added/u32.patch.makefile Wed Jan 8 13:40:47 2003
@@ -0,0 +1,2 @@
+PF_EXT_SLIB+=TTL iplimit
+PF_EXT_SLIB+=u32
^ permalink raw reply
* Re: how to configure iptables / syslog to log to separate file
From: Athan @ 2003-01-08 22:09 UTC (permalink / raw)
To: Chris Shepherd; +Cc: Randall J. Parr, netfilter
In-Reply-To: <1042058254.3e1c8c0e93c83@mail.whstuart.com>
[-- Attachment #1: Type: text/plain, Size: 1608 bytes --]
On Wed, Jan 08, 2003 at 03:37:34PM -0500, Chris Shepherd wrote:
> Quoting "Randall J. Parr" <RParr@TemporalArts.COM>:
> > Can I, and if so how can I, configure iptables (esp using GuardDog which
> > I use to configure iptables) and/or syslog (ie /etc/syslog.conf, ...) so
> > that my firewall messages are logged into a file other than
> > /var/log/messages?
> >
> > I have searched, looked at tutorial, etc. and found this question asked
> > many times but without ever finding a decent answer.
> >
> > If it just can not be done, could someone who knows this please state so?
>
> Configure Syslog to log a certain log-level to an alternate file, and then just
> use "-j LOG --log-level <level>". ie: if you wanted it to log as a notice,
> just setup Syslog to log notices to another file, and drop in a line that reads
> like:
>
> iptables -A LOGGING_TABLE -j LOG --log-level notice --log-prefix="NF: "
That's still only a _kernel_ log _priority_. So it'll still be in the
kernel facility. But this is still part of the solution *8-).
You won't be able to guarantee *ONLY* iptables logging in a file,
but you can set --log-level debug and then in /etc/syslog.conf
kernel.=debug /var/log/kernel-debug.log
Debug is the level least likely to have stuff generated by other things
normally.
HTH,
-Ath
--
- Athanasius = Athanasius(at)miggy.org / http://www.miggy.org/
Finger athan(at)fysh.org for PGP key
"And it's me who is my enemy. Me who beats me up.
Me who makes the monsters. Me who strips my confidence." Paula Cole - ME
[-- Attachment #2: Type: application/pgp-signature, Size: 240 bytes --]
^ permalink raw reply
* Re: [Linux-ia64] disabling nics in efi.
From: Roy Dragseth @ 2003-01-08 22:08 UTC (permalink / raw)
To: linux-ia64
In-Reply-To: <marc-linux-ia64-105590709805644@msgid-missing>
On Wednesday 08 January 2003 22:52, Alex Williamson wrote:
> The EFI driver has nothing to do with whether the NIC shows up
> to the OS. It only makes it unavailble from EFI, the hardware is
> still there. I don't know of any way to make the NICs not show up
> other than not loading the module.
So, I was indeed missing the point.
The only viable path seems to be preventing the kernel to probe the interfaces
using the reserve boot option. If I only could figure out how to compute the
right addresses...
r.
--
The Computer Center, University of Tromsø, N-9037 TROMSØ, Norway.
phone:+47 77 64 41 07, fax:+47 77 64 41 00
Roy Dragseth, High Performance Computing System Administrator
Direct call: +47 77 64 62 56. email: royd@cc.uit.no
^ permalink raw reply
* Re: Linux 2.4.21-pre3-ac1
From: Alan Cox @ 2003-01-08 22:16 UTC (permalink / raw)
To: Maciej Soltysiak; +Cc: Alan Cox, linux-kernel
In-Reply-To: <Pine.LNX.4.44.0301082110460.484-100000@dns.toxicfilms.tv>
> > + NVIDIA nForce2 IDE PCI identifiers (Johannes Deisenhofer,
> This has been confusing me lately, does nvidia produce a card with IDE ?
> (similarily to some of creative labs' soundblasters ?)
Onboard IDE on the Nvidia nForce and nForce 2 chipset. Seems to be a clone
of the AMD one (or vice versa perhaps ?).
^ permalink raw reply
* Re: [Asterisk] DTMF noise
From: Jamie Lokier @ 2003-01-08 22:19 UTC (permalink / raw)
To: Wolfgang Fritz; +Cc: linux-kernel
In-Reply-To: <3E1C4872.7080508@gmx.net>
Wolfgang Fritz wrote:
> There exists a long text about DTMF detection somewhere on the net (I
> may have the link in the office but I'm on vacation now). What I
> remember is that a "correct" DTMF detection requires much more computing
> power as the present i4l implementation needs (much longer audio samples
> for the goertzel filter, a larger number of frequencies to check) and a
> standard test procedure with a lot of test cases which are not available
> to mortal humans (audio tapes from Bellcore IIRC)
Take a look at this:
http://www-s.ti.com/sc/psheets/spra096a/spra096a.pdf
It describes an algorithm, plus test results. It was tested on a TI
DSP using those very Bellcore tapes, plus another set of tests, and
passes both tests very well.
Of course your ISDN hardware + phone handset may have much worse
analogue circuitry, but I would hope the Bellcore tapes represent that
to some degree.
Unfortunately, TI have removed the version of their application node
which includes DSP source code. It can be found here instead:
http://sulcata6.cs.ccu.edu.tw/~vlsi/data/c54x/spra096.pdf
I guess if that _exact_ DSP algorithm were recoded in C, you could be
reasonably confident that the C implementation would pass those
Bellcore and MITEL tests with reasonable analogue hardware. That's
probably the best you can do on the digital side.
enjoy,
-- Jamie
^ permalink raw reply
* Re: problem configuring for NFS between RH8 and RH6
From: Athan @ 2003-01-08 22:06 UTC (permalink / raw)
To: Randall J. Parr; +Cc: Guarddog-user, netfilter, psyche-list
In-Reply-To: <3E1C808F.9030202@TemporalArts.com>
[-- Attachment #1: Type: text/plain, Size: 1180 bytes --]
On Wed, Jan 08, 2003 at 11:48:31AM -0800, Randall J. Parr wrote:
> But then the log messages indicated RH8 -> RH6 port 887 was being
> dropped. Note that the dynamic port (in this example 887) changes every
> time I restarted RH6 NFS.
Assuming this is the user-space NFS daemon, not the in-kernel one you
should be able to make use of the following option for the mountd:
-P portnum or --port portnum
Makes mountd listen on port portnum instead of some
random port. By default, mountd will listen on the
mount/udp port specified in /etc/services, or, if
that is undefined, on some arbitrary port number
below 1024.
Reading the above, if you put a line in /etc/services like:
mount 887/udp
Then it will *ALWAYS* use that port and you can simply open that up in
your firewall settings.
HTH,
-Ath
--
- Athanasius = Athanasius(at)miggy.org / http://www.miggy.org/
Finger athan(at)fysh.org for PGP key
"And it's me who is my enemy. Me who beats me up.
Me who makes the monsters. Me who strips my confidence." Paula Cole - ME
[-- Attachment #2: Type: application/pgp-signature, Size: 240 bytes --]
^ permalink raw reply
* File perforation.
From: David Woodhouse @ 2003-01-08 22:06 UTC (permalink / raw)
To: linux-fsdevel
I keep receiving requests from users to allow space saving by making holes
in files. For people using JFFS2, a compressed file system designed for use
on fairly small solid state storage devices, this is a fairly reasonable
request, and it's also fairly simple to implement. It's only the interface
I'm concerned about.
I've been resisting these requests because I really don't want to do it
with an ioctl on the file. Only if we can have a generic sys_perforate()
would I really want to do it.
Apparently it's hard to implement on block-based file systems. I don't
really care about that though -- just falling back to writing zeroes to the
offending range (or indeed returning -EINVAL) would be perfectly sufficient
until/unless it gets implemented for other file systems. All I want is an
interface that doesn't make me feel dirty :)
Comments?
--
dwmw2
^ permalink raw reply
* Re: [PATCH] mm/slab.c, kernel <2.4.20>
From: Marc-Christian Petersen @ 2003-01-08 22:12 UTC (permalink / raw)
To: linux-kernel; +Cc: markhe, Shangc
In-Reply-To: <20030108220316.83003.qmail@web10005.mail.yahoo.com>
[-- Attachment #1: Type: text/plain, Size: 462 bytes --]
On Wednesday 08 January 2003 23:03, Shangc wrote:
Hi Shangc,
> --- slab.c 2003-02-08 04:26:50.000000000 -0500
> +++ slab.c 2003-02-08 04:26:14.000000000 -0500
> @@ -397,7 +397,7 @@
> base = sizeof(slab_t);
> extra = sizeof(kmem_bufctl_t);
> }
> - i = 0;
> + i = (wastage - base) / (size + extra);
> while (i*size + L1_CACHE_ALIGN(base+i*extra) <=> wastage)
> i++;
> if (i > 0)
if you use this you may also want this.
ciao, Marc
[-- Attachment #2: slab-other.patch --]
[-- Type: text/x-diff, Size: 434 bytes --]
diff -Naurp a/mm/slab.c b/mm/slab.c
--- a/mm/slab.c Wed Jul 17 12:25:04 2002
+++ b/mm/slab.c Wed Jul 17 12:25:04 2002
@@ -399,10 +399,10 @@
base = sizeof(slab_t);
extra = sizeof(kmem_bufctl_t);
}
- i = 0;
+ i = (wastage - base)/(size + extra);
while (i*size + L1_CACHE_ALIGN(base+i*extra) <= wastage)
i++;
- if (i > 0)
+ while (i*size + L1_CACHE_ALIGN(base+i*extra) > wastage)
i--;
if (i > SLAB_LIMIT)
^ permalink raw reply
* Re: [RFC][PATCH] allow bigger PAGE_OFFSET with PAE
From: William Lee Irwin III @ 2003-01-08 22:05 UTC (permalink / raw)
To: Dave Hansen; +Cc: Linux Kernel Mailing List, linux-mm
In-Reply-To: <3E1C9257.2040907@us.ibm.com>
On Tue, Jan 07, 2003 at 12:06:38PM -0800, Dave Hansen wrote:
>>> Also, this gets the kernel's pagetables right, but neglects
>>> userspace's for now. pgd_alloc() needs to be fixed to allocate
>>> another PMD, if the split isn't PMD-alighed.
William Lee Irwin III wrote:
>> Um, that should be automatic when USER_PTRS_PER_PGD is increased.
On Wed, Jan 08, 2003 at 01:04:23PM -0800, Dave Hansen wrote:
> Nope, you need a little bit more. pgd_alloc() relies on its memcpy()
> to provide the kernel mappings. After the last user PMD is allocated,
> you still need to copy the kernel-shared part of it in.
See the bit about rounding up. Then again, the pmd entries don't get
filled in by any of that...
Bill
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/
^ permalink raw reply
* 2.5 fbdev & driver initial mode
From: Benjamin Herrenschmidt @ 2003-01-08 21:52 UTC (permalink / raw)
To: James Simmons; +Cc: Linux Fbdev development list
In-Reply-To: <Pine.LNX.4.33.0301081042070.9598-100000@maxwell.earthlink.net>
Hi James !
How is a driver supposed to set the default mode on init lately ?
Looking at rivafb, it fills info->var from fb_find_mode with the mode
option if any, but then does nothing with it (and does nothing if
no mode option is passed).
On radeonfb, I fill a var with the default mode obtained
from EDID or the option if any. Then, I basically do
info->var = var;
var.activate = FB_ACTIVATE_NOW;
fb_set_var(&var, info);
before calling register_framebuffer.
What is the right way to do ?
Ben.
-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
^ permalink raw reply
* Re: [Linux-ia64] disabling nics in efi.
From: Roy Dragseth @ 2003-01-08 21:58 UTC (permalink / raw)
To: linux-ia64
In-Reply-To: <marc-linux-ia64-105590709805644@msgid-missing>
On Wednesday 08 January 2003 22:50, Joseph V Moss wrote:
> Have you tried just using the 'ksdevice=eth2' option to tell anaconda to
> use eth2 for the kickstart install?
yes, it still insists on getting it through eth0. At least that what I think
it is trying to do because it works ok when I connect a cable to that
interface.
r.
--
The Computer Center, University of Tromsø, N-9037 TROMSØ, Norway.
phone:+47 77 64 41 07, fax:+47 77 64 41 00
Roy Dragseth, High Performance Computing System Administrator
Direct call: +47 77 64 62 56. email: royd@cc.uit.no
^ permalink raw reply
* Re: Undelete files on ext3 ??
From: Valdis.Kletnieks @ 2003-01-08 22:06 UTC (permalink / raw)
To: Randy.Dunlap; +Cc: John Bradford, linux-kernel
In-Reply-To: <Pine.LNX.4.33L2.0301081351010.6873-100000@dragon.pdx.osdl.net>
[-- Attachment #1: Type: text/plain, Size: 582 bytes --]
On Wed, 08 Jan 2003 13:51:18 PST, "Randy.Dunlap" said:
> On Wed, 8 Jan 2003, John Bradford wrote:
>
> | > > What I was thinking of was a virtual device that allocated a new
> | > > sector whenever an old one was overwritten - kind of like a journaled
> | > > filesystem, but without the filesystem, (I.E. just the journal) :-).
> | >
> | > $ DIR FOO.TXT;*
> | > FOO.TXT;1 FOO.TXT;2 FOO.TXT;2
> | >
> | > VMS-style file versioning, anybody? ;)
> |
> | Brilliant!
>
> re-read the archives from 6-8 months ago.
http://marc.theaimsgroup.com/?l=linux-kernel&m=101914252421742&w=2
[-- Attachment #2: Type: application/pgp-signature, Size: 226 bytes --]
^ permalink raw reply
* Re: [RFC][PATCH] allow bigger PAGE_OFFSET with PAE
From: William Lee Irwin III @ 2003-01-08 22:05 UTC (permalink / raw)
To: Dave Hansen; +Cc: Linux Kernel Mailing List, linux-mm
In-Reply-To: <3E1C9257.2040907@us.ibm.com>
On Tue, Jan 07, 2003 at 12:06:38PM -0800, Dave Hansen wrote:
>>> Also, this gets the kernel's pagetables right, but neglects
>>> userspace's for now. pgd_alloc() needs to be fixed to allocate
>>> another PMD, if the split isn't PMD-alighed.
William Lee Irwin III wrote:
>> Um, that should be automatic when USER_PTRS_PER_PGD is increased.
On Wed, Jan 08, 2003 at 01:04:23PM -0800, Dave Hansen wrote:
> Nope, you need a little bit more. pgd_alloc() relies on its memcpy()
> to provide the kernel mappings. After the last user PMD is allocated,
> you still need to copy the kernel-shared part of it in.
See the bit about rounding up. Then again, the pmd entries don't get
filled in by any of that...
Bill
^ permalink raw reply
* Re: [LARTC] tcng compile problem
From: Werner Almesberger @ 2003-01-08 21:55 UTC (permalink / raw)
To: lartc
Kreso wrote:
> make[3]: Entering directory /home/kreso/tcng/tcsim/ulib/iproute2/lib'
> gcc -g -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations
> -I../shared -Iklib -Iklib/include -Iulib/iproute2/include -I.
> -DVERSION=\"cat ../VERSION\" -DTOPDIR=\"/home/kreso/tcng\"
> -DTCC_CMD=\"/home/kreso/tcng/bin/tcc\" -c -o libnetlink.o libnetlink.c
> cat: ../VERSION: No such file or directory
> libnetlink.c:13:24: libnetlink.h: No such file or directory
This looks very weird. What kind of make (make --version) are you
using, and from which distribution does it come ?
- Werner
--
_________________________________________________________________________
/ Werner Almesberger, Buenos Aires, Argentina wa@almesberger.net /
/_http://www.almesberger.net/____________________________________________/
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
^ permalink raw reply
* [PATCH] mm/slab.c, kernel <2.4.20>
From: Shangc @ 2003-01-08 22:03 UTC (permalink / raw)
To: linux-kernel; +Cc: markhe
/**
* --readme--
* make a better initial value for i, which will
reduce the number of
while loop.
* the change can be proved mathematically:
*
* i*size + L1_CACHE_ALIGN(base+i*extra) <= wastage
* ==> i*size + base + i*extra <= wastage
* ==> solve about equation about i
* ==> i <= (wastage - base) / (size + extra)
*
* Chen Shang
* shangcs@yahoo.com
*/
--- slab.c 2003-02-08 04:26:50.000000000 -0500
+++ slab.c 2003-02-08 04:26:14.000000000 -0500
@@ -397,7 +397,7 @@
base = sizeof(slab_t);
extra = sizeof(kmem_bufctl_t);
}
- i = 0;
+ i = (wastage - base) / (size + extra);
while (i*size + L1_CACHE_ALIGN(base+i*extra) <=
wastage)
i++;
if (i > 0)
__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com
^ permalink raw reply
* Re: [Linux-ia64] disabling nics in efi.
From: Alex Williamson @ 2003-01-08 21:52 UTC (permalink / raw)
To: linux-ia64
In-Reply-To: <marc-linux-ia64-105590709805644@msgid-missing>
The EFI driver has nothing to do with whether the NIC shows up
to the OS. It only makes it unavailble from EFI, the hardware is
still there. I don't know of any way to make the NICs not show up
other than not loading the module.
Alex
Roy Dragseth wrote:
>
> I have a bunch of HP rx2600 that have two internal nics (10/100Mbit and 1Gbit)
> and one external nic (1Gbit). Is it possible to disable the two internal
> ones in efi so linux won't see them? I tried to use the disconnect command
> in the efi shell, but they still keep showing up when I boot up linux.
> I used
> disconnect 4C
> disconnect 49
> and they report successful operation. Am I missing the point completely?
>
> I also tried the reserve= boot option to avoid linux to probe them, but that
> didn't work either. I probably computed the iobase and extents wrong. Do
> anyone know how to determine the correct parameters?
>
> The reason for wanting to disable the internal nics is that the redhat
> installer insists on fetching the kickstart file over eth0 when doing
> installations over the network and the external nic that I want to use
> becomes eth2.
>
> Any hints is greatly appreciated.
>
> Best regards,
> Roy.
> --
>
> The Computer Center, University of Tromsø, N-9037 TROMSØ, Norway.
> phone:+47 77 64 41 07, fax:+47 77 64 41 00
> Roy Dragseth, High Performance Computing System Administrator
> Direct call: +47 77 64 62 56. email: royd@cc.uit.no
>
> _______________________________________________
> Linux-IA64 mailing list
> Linux-IA64@linuxia64.org
> http://lists.linuxia64.org/lists/listinfo/linux-ia64
--
Alex Williamson Linux Development Lab
alex_williamson@hp.com Hewlett Packard
970-898-9173 Fort Collins, CO
^ permalink raw reply
* Re: [Linux-ia64] disabling nics in efi.
From: Joseph V Moss @ 2003-01-08 21:50 UTC (permalink / raw)
To: linux-ia64
In-Reply-To: <marc-linux-ia64-105590709805644@msgid-missing>
Have you tried just using the 'ksdevice=eth2' option to tell anaconda to
use eth2 for the kickstart install?
> I have a bunch of HP rx2600 that have two internal nics (10/100Mbit and 1Gbit)
> and one external nic (1Gbit). Is it possible to disable the two internal
> ones in efi so linux won't see them? I tried to use the disconnect command
> in the efi shell, but they still keep showing up when I boot up linux.
> I used
> disconnect 4C
> disconnect 49
> and they report successful operation. Am I missing the point completely?
>
> I also tried the reserve= boot option to avoid linux to probe them, but that
> didn't work either. I probably computed the iobase and extents wrong. Do
> anyone know how to determine the correct parameters?
>
> The reason for wanting to disable the internal nics is that the redhat
> installer insists on fetching the kickstart file over eth0 when doing
> installations over the network and the external nic that I want to use
> becomes eth2.
>
> Any hints is greatly appreciated.
>
> Best regards,
> Roy.
> --
>
> The Computer Center, University of Tromsø, N-9037 TROMSØ, Norway.
> phone:+47 77 64 41 07, fax:+47 77 64 41 00
> Roy Dragseth, High Performance Computing System Administrator
> Direct call: +47 77 64 62 56. email: royd@cc.uit.no
>
>
> _______________________________________________
> Linux-IA64 mailing list
> Linux-IA64@linuxia64.org
> http://lists.linuxia64.org/lists/listinfo/linux-ia64
>
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.