* Re: converting cap_set_pg() to for_each_task_pid()
From: Greg KH @ 2002-12-18 23:08 UTC (permalink / raw)
To: William Lee Irwin III, chris, linux-kernel
In-Reply-To: <20021218055742.GE12812@holomorphy.com>
On Tue, Dec 17, 2002 at 09:57:42PM -0800, William Lee Irwin III wrote:
> I have a pending patch that converts cap_set_pg() to the
> for_each_task_pid() API. Could you review this, and if it
> pass, include it in your tree?
Applied to my tree, I'll send it to Linus in a bit.
thanks,
greg k-h
^ permalink raw reply
* Re: [PATCH]: make prototype of printk available
From: Ralf Baechle @ 2002-12-18 23:03 UTC (permalink / raw)
To: Maciej W. Rozycki; +Cc: Juan Quintela, linux mips mailing list
In-Reply-To: <Pine.GSO.3.96.1021218173641.5977C-100000@delta.ds2.pg.gda.pl>
On Wed, Dec 18, 2002 at 05:37:49PM +0100, Maciej W. Rozycki wrote:
> > Once there, put a tag to the printk.
>
> Why is the default log level incorrect here?
This is a printk that's executed if a user program is just trying to
execute the right code, so a user could flood syslog that way. Imho the
printk call should go away?
Ralf
^ permalink raw reply
* RE: flashing a different bios-- is it safe?
From: James D Strandboge @ 2002-12-18 23:09 UTC (permalink / raw)
To: Grover, Andrew; +Cc: Acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
In-Reply-To: <EDC461A30AC4D511ADE10002A5072CAD04C7A5BA-OU+JdkIUtvd9zuciVAfUoVDQ4js95KgL@public.gmane.org>
On Wed, 2002-12-18 at 16:21, Grover, Andrew wrote:
> > From: James D Strandboge [mailto:jstrand1-aYIB8uWIUb2Vn7q6wjsIow@public.gmane.org]
> > I have a dell inspiron 8200, which has a bios that sort of works with
> > acpi, but will sometimes crash (see previous emails). I have
> > looked at
> > my dsdt, and it is extraordinarily cryptic.
> >
> > Today, I was googling for information about all of this, and
> > came across
> > somebody flashing their insprion 8200 bios with the bios for the dell
> > latitude c840. This person was doing this to be able to use the port
> > replicator properly, and was running windows. He reported success and
> > no problems. This seems like a crazy thing to do-- is it safe? I
> > figured I may have to flash back to the old bios, but was worried that
> > this might break something permanently?
>
> You could very well break something permanently, yes. In fact, I'd consider
> it likely.
>
> -- Andy
I totally hear you. This is more out of curiosity.
Apparently there have been Dell customers who have had motherboards
replaced on their 8200. The funny thing is, they had the latitude c840
bios in it, and then a tech flashed the 8200 bios into it. This would
seem to indicate that the BIOS is compatible, at least for the
motherboard. What else matters? Isn't everything else just connected
to the motherboard and 'commodity hardware' that can be replaced, etc as
needed, and not BIOS specific?
Jamie
--
Email: jstrand1-aYIB8uWIUb2Vn7q6wjsIow@public.gmane.org
GPG/PGP ID: 26384A3A
Fingerprint: D9FF DF4A 2D46 A353 A289 E8F5 AA75 DCBE 2638 4A3A
-------------------------------------------------------
This SF.NET email is sponsored by: Order your Holiday Geek Presents Now!
Green Lasers, Hip Geek T-Shirts, Remote Control Tanks, Caffeinated Soap,
MP3 Players, XBox Games, Flying Saucers, WebCams, Smart Putty.
T H I N K G E E K . C O M http://www.thinkgeek.com/sf/
^ permalink raw reply
* [PATCH] use kmap_atomic instaed of kmap in NFS client
From: Chuck Lever @ 2002-12-18 23:19 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Linux Kernel Mailing List
Description:
andrew morton suggested there are places in the NFS client that could
make use of kmap_atomic instead of vanilla kmap in order to improve
scalability on 8-way and higher SMP systems.
Apply Against:
2.5.52
Test status:
Passes all Connectathon '02 tests with v2 and v3, UDP and TCP; passes
NFS torture tests on a UP HIGHMEM x86 system.
diff -Naurp 00-stock/fs/nfs/dir.c 01-kmap_atomic/fs/nfs/dir.c
--- 00-stock/fs/nfs/dir.c Sun Dec 15 21:07:57 2002
+++ 01-kmap_atomic/fs/nfs/dir.c Wed Dec 18 17:22:06 2002
@@ -208,7 +208,7 @@ int find_dirent_page(nfs_readdir_descrip
/* NOTE: Someone else may have changed the READDIRPLUS flag */
desc->page = page;
- desc->ptr = kmap(page);
+ desc->ptr = kmap(page); /* matching kunmap in nfs_do_filldir */
status = find_dirent(desc, page);
if (status < 0)
dir_page_release(desc);
@@ -345,7 +345,7 @@ int uncached_readdir(nfs_readdir_descrip
NFS_SERVER(inode)->dtsize,
desc->plus);
desc->page = page;
- desc->ptr = kmap(page);
+ desc->ptr = kmap(page); /* matching kunmap in nfs_do_filldir */
if (desc->error >= 0) {
if ((status = dir_decode(desc)) == 0)
desc->entry->prev_cookie = desc->target;
@@ -717,9 +717,9 @@ int nfs_cached_lookup(struct inode *dir,
res = -EIO;
if (PageUptodate(page)) {
- desc.ptr = kmap(page);
+ desc.ptr = kmap_atomic(page, KM_USER0);
res = find_dirent_name(&desc, page, dentry);
- kunmap(page);
+ kunmap_atomic(desc.ptr, KM_USER0);
}
page_cache_release(page);
diff -Naurp 00-stock/fs/nfs/nfs2xdr.c 01-kmap_atomic/fs/nfs/nfs2xdr.c
--- 00-stock/fs/nfs/nfs2xdr.c Sun Dec 15 21:07:53 2002
+++ 01-kmap_atomic/fs/nfs/nfs2xdr.c Wed Dec 18 17:22:06 2002
@@ -378,7 +378,7 @@ nfs_xdr_readdirres(struct rpc_rqst *req,
int hdrlen, recvd;
int status, nr;
unsigned int len, pglen;
- u32 *end, *entry;
+ u32 *end, *entry, *kaddr;
if ((status = ntohl(*p++)))
return -nfs_stat_to_errno(status);
@@ -398,7 +398,7 @@ nfs_xdr_readdirres(struct rpc_rqst *req,
if (pglen > recvd)
pglen = recvd;
page = rcvbuf->pages;
- p = kmap(*page);
+ kaddr = p = (u32 *)kmap_atomic(*page, KM_USER0);
end = (u32 *)((char *)p + pglen);
entry = p;
for (nr = 0; *p++; nr++) {
@@ -419,7 +419,7 @@ nfs_xdr_readdirres(struct rpc_rqst *req,
if (!nr && (entry[0] != 0 || entry[1] == 0))
goto short_pkt;
out:
- kunmap(*page);
+ kunmap_atomic(kaddr, KM_USER0);
return nr;
short_pkt:
entry[0] = entry[1] = 0;
@@ -430,8 +430,8 @@ nfs_xdr_readdirres(struct rpc_rqst *req,
}
goto out;
err_unmap:
- kunmap(*page);
- return -errno_NFSERR_IO;
+ nr = -errno_NFSERR_IO;
+ goto out;
}
u32 *
@@ -542,7 +542,7 @@ nfs_xdr_readlinkres(struct rpc_rqst *req
xdr_shift_buf(rcvbuf, iov->iov_len - hdrlen);
}
- strlen = (u32*)kmap(rcvbuf->pages[0]);
+ strlen = (u32*)kmap_atomic(rcvbuf->pages[0], KM_USER0);
/* Convert length of symlink */
len = ntohl(*strlen);
if (len > rcvbuf->page_len)
@@ -551,7 +551,7 @@ nfs_xdr_readlinkres(struct rpc_rqst *req
/* NULL terminate the string we got */
string = (char *)(strlen + 1);
string[len] = 0;
- kunmap(rcvbuf->pages[0]);
+ kunmap_atomic(strlen, KM_USER0);
return 0;
}
diff -Naurp 00-stock/fs/nfs/nfs3xdr.c 01-kmap_atomic/fs/nfs/nfs3xdr.c
--- 00-stock/fs/nfs/nfs3xdr.c Sun Dec 15 21:08:24 2002
+++ 01-kmap_atomic/fs/nfs/nfs3xdr.c Wed Dec 18 17:22:06 2002
@@ -488,7 +488,7 @@ nfs3_xdr_readdirres(struct rpc_rqst *req
int hdrlen, recvd;
int status, nr;
unsigned int len, pglen;
- u32 *entry, *end;
+ u32 *entry, *end, *kaddr;
status = ntohl(*p++);
/* Decode post_op_attrs */
@@ -518,7 +518,7 @@ nfs3_xdr_readdirres(struct rpc_rqst *req
if (pglen > recvd)
pglen = recvd;
page = rcvbuf->pages;
- p = kmap(*page);
+ kaddr = p = (u32 *)kmap_atomic(*page, KM_USER0);
end = (u32 *)((char *)p + pglen);
entry = p;
for (nr = 0; *p++; nr++) {
@@ -563,7 +563,7 @@ nfs3_xdr_readdirres(struct rpc_rqst *req
if (!nr && (entry[0] != 0 || entry[1] == 0))
goto short_pkt;
out:
- kunmap(*page);
+ kunmap_atomic(kaddr, KM_USER0);
return nr;
short_pkt:
entry[0] = entry[1] = 0;
@@ -574,8 +574,8 @@ nfs3_xdr_readdirres(struct rpc_rqst *req
}
goto out;
err_unmap:
- kunmap(*page);
- return -errno_NFSERR_IO;
+ nr = -errno_NFSERR_IO;
+ goto out;
}
u32 *
@@ -738,7 +738,7 @@ nfs3_xdr_readlinkres(struct rpc_rqst *re
xdr_shift_buf(rcvbuf, iov->iov_len - hdrlen);
}
- strlen = (u32*)kmap(rcvbuf->pages[0]);
+ strlen = (u32*)kmap_atomic(rcvbuf->pages[0], KM_USER0);
/* Convert length of symlink */
len = ntohl(*strlen);
if (len > rcvbuf->page_len)
@@ -747,7 +747,7 @@ nfs3_xdr_readlinkres(struct rpc_rqst *re
/* NULL terminate the string we got */
string = (char *)(strlen + 1);
string[len] = 0;
- kunmap(rcvbuf->pages[0]);
+ kunmap_atomic(strlen, KM_USER0);
return 0;
}
diff -Naurp 00-stock/fs/nfs/nfs4proc.c 01-kmap_atomic/fs/nfs/nfs4proc.c
--- 00-stock/fs/nfs/nfs4proc.c Sun Dec 15 21:08:14 2002
+++ 01-kmap_atomic/fs/nfs/nfs4proc.c Wed Dec 18 17:22:06 2002
@@ -447,7 +447,7 @@ nfs4_setup_readdir(struct nfs4_compound
* when talking to the server, we always send cookie 0
* instead of 1 or 2.
*/
- start = p = (u32 *)kmap(*pages);
+ start = p = (u32 *)kmap_atomic(*pages, KM_USER0);
if (cookie == 0) {
*p++ = xdr_one; /* next */
@@ -475,7 +475,7 @@ nfs4_setup_readdir(struct nfs4_compound
readdir->rd_pgbase = (char *)p - (char *)start;
readdir->rd_count -= readdir->rd_pgbase;
- kunmap(*pages);
+ kunmap_atomic(start, KM_USER0);
}
static void
diff -Naurp 00-stock/fs/nfs/nfs4xdr.c 01-kmap_atomic/fs/nfs/nfs4xdr.c
--- 00-stock/fs/nfs/nfs4xdr.c Sun Dec 15 21:08:24 2002
+++ 01-kmap_atomic/fs/nfs/nfs4xdr.c Wed Dec 18 17:31:28 2002
@@ -1410,7 +1410,7 @@ decode_readdir(struct xdr_stream *xdr, s
struct page *page = *rcvbuf->pages;
struct iovec *iov = rcvbuf->head;
unsigned int nr, pglen = rcvbuf->page_len;
- uint32_t *end, *entry, *p;
+ uint32_t *end, *entry, *p, *kaddr;
uint32_t len, attrlen, word;
int i, hdrlen, recvd, status;
@@ -1434,7 +1434,7 @@ decode_readdir(struct xdr_stream *xdr, s
pglen = recvd;
BUG_ON(pglen + readdir->rd_pgbase > PAGE_CACHE_SIZE);
- p = (uint32_t *) kmap(page);
+ kaddr = p = (uint32_t *) kmap_atomic(page, KM_USER0);
end = (uint32_t *) ((char *)p + pglen + readdir->rd_pgbase);
entry = p;
for (nr = 0; *p++; nr++) {
@@ -1480,7 +1480,7 @@ decode_readdir(struct xdr_stream *xdr, s
if (!nr && (entry[0] != 0 || entry[1] == 0))
goto short_pkt;
out:
- kunmap(page);
+ kunmap_atomic(kaddr, KM_USER0);
return 0;
short_pkt:
entry[0] = entry[1] = 0;
@@ -1491,7 +1491,7 @@ short_pkt:
}
goto out;
err_unmap:
- kunmap(page);
+ kunmap_atomic(kaddr, KM_USER0);
return -errno_NFSERR_IO;
}
@@ -1522,18 +1522,18 @@ decode_readlink(struct xdr_stream *xdr,
* and and null-terminate the text (the VFS expects
* null-termination).
*/
- strlen = (uint32_t *) kmap(rcvbuf->pages[0]);
+ strlen = (uint32_t *) kmap_atomic(rcvbuf->pages[0], KM_USER0);
len = ntohl(*strlen);
if (len > PAGE_CACHE_SIZE - 5) {
printk(KERN_WARNING "nfs: server returned giant symlink!\n");
- kunmap(rcvbuf->pages[0]);
+ kunmap_atomic(strlen, KM_USER0);
return -EIO;
}
*strlen = len;
string = (char *)(strlen + 1);
string[len] = '\0';
- kunmap(rcvbuf->pages[0]);
+ kunmap_atomic(strlen, KM_USER0);
return 0;
}
diff -Naurp 00-stock/fs/nfs/read.c 01-kmap_atomic/fs/nfs/read.c
--- 00-stock/fs/nfs/read.c Sun Dec 15 21:07:42 2002
+++ 01-kmap_atomic/fs/nfs/read.c Wed Dec 18 17:22:06 2002
@@ -118,12 +118,8 @@ nfs_readpage_sync(struct file *file, str
break;
} while (count);
- if (count) {
- char *kaddr = kmap(page);
- memset(kaddr + offset, 0, count);
- kunmap(page);
- }
- flush_dcache_page(page);
+ if (count)
+ memclear_highpage_flush(page, offset, count);
SetPageUptodate(page);
if (PageError(page))
ClearPageError(page);
@@ -272,12 +268,9 @@ nfs_readpage_result(struct rpc_task *tas
if (task->tk_status >= 0) {
if (count < PAGE_CACHE_SIZE) {
- char *p = kmap(page);
-
- if (count < req->wb_bytes)
- memset(p + req->wb_offset + count, 0,
+ memclear_highpage_flush(page,
+ req->wb_offset + count,
req->wb_bytes - count);
- kunmap(page);
if (eof ||
((fattr->valid & NFS_ATTR_FATTR) &&
@@ -293,7 +286,6 @@ nfs_readpage_result(struct rpc_task *tas
}
} else
SetPageError(page);
- flush_dcache_page(page);
unlock_page(page);
dprintk("NFS: read (%s/%Ld %d@%Ld)\n",
diff -Naurp 00-stock/net/sunrpc/xdr.c 01-kmap_atomic/net/sunrpc/xdr.c
--- 00-stock/net/sunrpc/xdr.c Sun Dec 15 21:08:13 2002
+++ 01-kmap_atomic/net/sunrpc/xdr.c Wed Dec 18 17:22:06 2002
@@ -306,6 +306,7 @@ xdr_partial_copy_from_skb(struct xdr_buf
len = pglen;
ret = copy_actor(desc, kaddr, len);
}
+ flush_dcache_page(*ppage);
kunmap_atomic(kaddr, KM_SKB_SUNRPC_DATA);
if (ret != len || !desc->count)
return;
^ permalink raw reply
* [PATCH] give NFS client a "set_page_dirty" address space op.
From: Chuck Lever @ 2002-12-18 23:20 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Linux Kernel Mailing List
Description:
The default set_page_dirty address space op is too heavyweight for NFS,
which doesn't use buffers.
Apply against:
2.5.52
diff -Naurp 01-kmap_atomic/fs/nfs/file.c 02-set_page_dirty/fs/nfs/file.c
--- 01-kmap_atomic/fs/nfs/file.c Sun Dec 15 21:08:12 2002
+++ 02-set_page_dirty/fs/nfs/file.c Wed Dec 18 17:37:07 2002
@@ -168,6 +168,7 @@ static int nfs_commit_write(struct file
struct address_space_operations nfs_file_aops = {
.readpage = nfs_readpage,
.readpages = nfs_readpages,
+ .set_page_dirty = __set_page_dirty_nobuffers,
.writepage = nfs_writepage,
.writepages = nfs_writepages,
.prepare_write = nfs_prepare_write,
^ permalink raw reply
* ip6_route_output() does not fill in the src. addr.
From: Sridhar Samudrala @ 2002-12-18 23:12 UTC (permalink / raw)
To: netdev
The ipv6 version of the 'get route entry' function ip6_route_output() does not
fill in the source address of the route even when a valid appropriate source
address is passed.
Is this the expected behavior or a bug which is going to be fixed in the future
releases of 2.5?
The ipv4 version 'ip_route_output_key()' works as expected.
SCTP calls these routines to get and cache a route entry and uses the cached
entry to fill in skb->dst before passing the skb to ip.
Thanks
Sridhar
^ permalink raw reply
* [BK PATCH] LSM changes for 2.5.52
From: Greg KH @ 2002-12-18 23:19 UTC (permalink / raw)
To: torvalds; +Cc: linux-kernel, linux-security-module
Here are some minor cleanups for the existing LSM code, and a
capabilities patch from Bill Irwin.
Please pull from:
bk://lsm.bkbits.net/linus-2.5
thanks,
greg k-h
kernel/capability.c | 14 +++---
security/Kconfig | 7 ++-
security/dummy.c | 108 ---------------------------------------------------
security/root_plug.c | 3 +
security/security.c | 8 +++
5 files changed, 25 insertions(+), 115 deletions(-)
-----
ChangeSet@1.901, 2002-12-18 15:10:25-08:00, greg@kroah.com
LSM: update the copyright dates for my entry.
security/dummy.c | 2 +-
security/security.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
------
ChangeSet@1.900, 2002-12-18 15:09:33-08:00, greg@kroah.com
LSM: Fix up the description of the root_plug code to try to make it clearer.
security/Kconfig | 7 +++++--
security/root_plug.c | 3 +++
2 files changed, 8 insertions(+), 2 deletions(-)
------
ChangeSet@1.899, 2002-12-18 14:58:27-08:00, wli@holomorphy.com
[PATCH] converting cap_set_pg() to for_each_task_pid()
cap_set_pg() wants to find all processes in a given process group. This
converts it to use for_each_task_pid().
kernel/capability.c | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
------
ChangeSet@1.898, 2002-12-18 14:57:38-08:00, greg@kroah.com
LSM: changed the dummy code to use the default operations logic.
security/dummy.c | 106 ----------------------------------------------------
security/security.c | 6 ++
2 files changed, 7 insertions(+), 105 deletions(-)
------
^ permalink raw reply
* [PATCH] cleanup: simplify req_offset function in NFS client
From: Chuck Lever @ 2002-12-18 23:22 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Linux Kernel Mailing List
Description:
everywhere the NFS client uses the req_offset() function today, it adds
req->wb_offset to the result. this patch simply makes "+req->wb_offset"
a part of the req_offset() function.
Apply against:
2.5.52
Test status:
Passes all Connectathon '02 tests with v2, v3, UDP and TCP. Passes
NFS torture tests on an x86 UP highmem system.
diff -Naurp 02-set_page_dirty/fs/nfs/nfs3proc.c 03-req_offset/fs/nfs/nfs3proc.c
--- 02-set_page_dirty/fs/nfs/nfs3proc.c Sun Dec 15 21:07:57 2002
+++ 03-req_offset/fs/nfs/nfs3proc.c Wed Dec 18 17:39:16 2002
@@ -708,7 +708,7 @@ nfs3_proc_read_setup(struct nfs_read_dat
req = nfs_list_entry(data->pages.next);
data->u.v3.args.fh = NFS_FH(inode);
- data->u.v3.args.offset = req_offset(req) + req->wb_offset;
+ data->u.v3.args.offset = req_offset(req);
data->u.v3.args.pgbase = req->wb_offset;
data->u.v3.args.pages = data->pagevec;
data->u.v3.args.count = count;
@@ -764,7 +764,7 @@ nfs3_proc_write_setup(struct nfs_write_d
req = nfs_list_entry(data->pages.next);
data->u.v3.args.fh = NFS_FH(inode);
- data->u.v3.args.offset = req_offset(req) + req->wb_offset;
+ data->u.v3.args.offset = req_offset(req);
data->u.v3.args.pgbase = req->wb_offset;
data->u.v3.args.count = count;
data->u.v3.args.stable = stable;
diff -Naurp 02-set_page_dirty/fs/nfs/nfs4proc.c 03-req_offset/fs/nfs/nfs4proc.c
--- 02-set_page_dirty/fs/nfs/nfs4proc.c Wed Dec 18 17:22:06 2002
+++ 03-req_offset/fs/nfs/nfs4proc.c Wed Dec 18 17:39:16 2002
@@ -1384,7 +1384,7 @@ nfs4_proc_read_setup(struct nfs_read_dat
nfs4_setup_compound(cp, data->u.v4.ops, NFS_SERVER(inode), "read [async]");
nfs4_setup_putfh(cp, NFS_FH(inode));
- nfs4_setup_read(cp, req_offset(req) + req->wb_offset,
+ nfs4_setup_read(cp, req_offset(req),
count, data->pagevec, req->wb_offset,
&data->u.v4.res_eof,
&data->u.v4.res_count);
@@ -1437,7 +1437,7 @@ nfs4_proc_write_setup(struct nfs_write_d
nfs4_setup_compound(cp, data->u.v4.ops, NFS_SERVER(inode), "write [async]");
nfs4_setup_putfh(cp, NFS_FH(inode));
- nfs4_setup_write(cp, req_offset(req) + req->wb_offset,
+ nfs4_setup_write(cp, req_offset(req),
count, stable, data->pagevec, req->wb_offset,
&data->u.v4.res_count, &data->verf);
diff -Naurp 02-set_page_dirty/fs/nfs/proc.c 03-req_offset/fs/nfs/proc.c
--- 02-set_page_dirty/fs/nfs/proc.c Sun Dec 15 21:08:20 2002
+++ 03-req_offset/fs/nfs/proc.c Wed Dec 18 17:39:16 2002
@@ -543,7 +543,7 @@ nfs_proc_read_setup(struct nfs_read_data
req = nfs_list_entry(data->pages.next);
data->u.v3.args.fh = NFS_FH(inode);
- data->u.v3.args.offset = req_offset(req) + req->wb_offset;
+ data->u.v3.args.offset = req_offset(req);
data->u.v3.args.pgbase = req->wb_offset;
data->u.v3.args.pages = data->pagevec;
data->u.v3.args.count = count;
@@ -589,7 +589,7 @@ nfs_proc_write_setup(struct nfs_write_da
req = nfs_list_entry(data->pages.next);
data->u.v3.args.fh = NFS_FH(inode);
- data->u.v3.args.offset = req_offset(req) + req->wb_offset;
+ data->u.v3.args.offset = req_offset(req);
data->u.v3.args.pgbase = req->wb_offset;
data->u.v3.args.count = count;
data->u.v3.args.stable = NFS_FILE_SYNC;
diff -Naurp 02-set_page_dirty/fs/nfs/read.c 03-req_offset/fs/nfs/read.c
--- 02-set_page_dirty/fs/nfs/read.c Wed Dec 18 17:22:06 2002
+++ 03-req_offset/fs/nfs/read.c Wed Dec 18 17:39:16 2002
@@ -178,7 +178,7 @@ nfs_read_rpcsetup(struct list_head *head
inode->i_sb->s_id,
(long long)NFS_FILEID(inode),
count,
- (unsigned long long)req_offset(req) + req->wb_offset);
+ (unsigned long long)req_offset(req));
}
static void
@@ -274,7 +274,7 @@ nfs_readpage_result(struct rpc_task *tas
if (eof ||
((fattr->valid & NFS_ATTR_FATTR) &&
- ((req_offset(req) + req->wb_offset + count) >= fattr->size)))
+ ((req_offset(req) + count) >= fattr->size)))
SetPageUptodate(page);
else
if (count < req->wb_bytes)
@@ -292,7 +292,7 @@ nfs_readpage_result(struct rpc_task *tas
req->wb_inode->i_sb->s_id,
(long long)NFS_FILEID(req->wb_inode),
req->wb_bytes,
- (long long)(req_offset(req) + req->wb_offset));
+ (long long)req_offset(req));
nfs_clear_request(req);
nfs_release_request(req);
nfs_unlock_request(req);
diff -Naurp 02-set_page_dirty/fs/nfs/write.c 03-req_offset/fs/nfs/write.c
--- 02-set_page_dirty/fs/nfs/write.c Sun Dec 15 21:08:13 2002
+++ 03-req_offset/fs/nfs/write.c Wed Dec 18 17:39:16 2002
@@ -768,7 +768,7 @@ nfs_write_rpcsetup(struct list_head *hea
inode->i_sb->s_id,
(long long)NFS_FILEID(inode),
count,
- (unsigned long long)req_offset(req) + req->wb_offset);
+ (unsigned long long)req_offset(req));
}
/*
@@ -902,7 +902,7 @@ nfs_writeback_done(struct rpc_task *task
req->wb_inode->i_sb->s_id,
(long long)NFS_FILEID(req->wb_inode),
req->wb_bytes,
- (long long)(req_offset(req) + req->wb_offset));
+ (long long)req_offset(req));
if (task->tk_status < 0) {
ClearPageUptodate(page);
@@ -958,8 +958,8 @@ nfs_commit_rpcsetup(struct list_head *he
* Determine the offset range of requests in the COMMIT call.
* We rely on the fact that data->pages is an ordered list...
*/
- start = req_offset(first) + first->wb_offset;
- end = req_offset(last) + (last->wb_offset + last->wb_bytes);
+ start = req_offset(first);
+ end = req_offset(last) + last->wb_bytes;
len = end - start;
/* If 'len' is not a 32-bit quantity, pass '0' in the COMMIT call */
if (end >= inode->i_size || len < 0 || len > (~((u32)0) >> 1))
@@ -1031,7 +1031,7 @@ nfs_commit_done(struct rpc_task *task)
req->wb_inode->i_sb->s_id,
(long long)NFS_FILEID(req->wb_inode),
req->wb_bytes,
- (long long)(req_offset(req) + req->wb_offset));
+ (long long)req_offset(req));
if (task->tk_status < 0) {
if (req->wb_file)
req->wb_file->f_error = task->tk_status;
diff -Naurp 02-set_page_dirty/include/linux/nfs_fs.h 03-req_offset/include/linux/nfs_fs.h
--- 02-set_page_dirty/include/linux/nfs_fs.h Sun Dec 15 21:07:53 2002
+++ 03-req_offset/include/linux/nfs_fs.h Wed Dec 18 17:39:16 2002
@@ -222,7 +222,7 @@ loff_t page_offset(struct page *page)
static inline
loff_t req_offset(struct nfs_page *req)
{
- return ((loff_t)req->wb_index) << PAGE_CACHE_SHIFT;
+ return (((loff_t)req->wb_index) << PAGE_CACHE_SHIFT) + req->wb_offset;
}
/*
^ permalink raw reply
* Re: [LARTC] PRIO type qdisc
From: Hayden Myers @ 2002-12-18 23:14 UTC (permalink / raw)
To: lartc
In-Reply-To: <marc-lartc-104010520627418@msgid-missing>
Hayden Myers
Support Manager
Skyline Network Technologies
hayden@spinbox.com
(410)583-1337 option 2
> > > I'm looking for a PRIO type qdisc which will prioritize packets (either
> > > based on DS or filters). Unlike PRIO, I need all the classes to flow into
> > > a single qdisc (HTB). For example:
> > >
> > > PRIO
> > >
> > > +--------+--------+
> > >
> > > Band0 Band1 Band2
> > >
> > > +--------+--------+
> > >
> > > HTB
> > >
> > > Does such a qdisc exist or is there a way to get all the PRIO classes to
> > > flow into a single qdisc?
> > There is no such qdisc. And I don't think there is such way.
> >
> > But why do you want to do this?
>
I had wanted to do similar things a while back before 10 other things beat
me over the head and set me back. It's funny because the above topology
is exactly what I had envisioned but read that it was impossible. My
setup is to have a number of users who have bandwidth limiting based on an
ip but also does priority shaping as well. I finally decided that I could
have a top level htb qdisc for the total box bandwidth with seperate
classes for the users below the box bandwidth qdisc. Underneath each
user's class I thought that I could possibly attach a prio qdisc to do
independent priority scheduling. I don't know if this works. It was just
a thought I had. If think the manpage shows that you can attach a prio
to any class. Does this work and is it a feasable setup?
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
^ permalink raw reply
* [parisc-linux] [patch] tun.c does not correctly align skb's
From: Randolph Chung @ 2002-12-18 23:16 UTC (permalink / raw)
To: Daniel Podlejski; +Cc: parisc-linux
Hi David,
While trying to get the tun/tap driver to work on parisc-linux, I found
that the driver does not deliver correctly aligned buffers to the
underlying layers. The attached patch fixes the problem. AIUI the +2 is
there in some net drivers to deal with the 4n+2 length of MAC headers.
Since you don't have a MAC header here the +2 is not required. In fact,
it will cause the buffers that are delivered to the checksuming routines
to be unaligned, which will either not work on some archs, or have
performance implications on others.
This was tested on 2.4.19(-pa22).
--- drivers/net/tun.c.orig 2002-12-18 15:02:45.000000000 -0800
+++ drivers/net/tun.c 2002-12-18 15:03:30.000000000 -0800
@@ -194,12 +194,11 @@
memcpy_fromiovec((void *)&pi, iv, sizeof(pi));
}
- if (!(skb = alloc_skb(len + 2, GFP_KERNEL))) {
+ if (!(skb = alloc_skb(len, GFP_KERNEL))) {
tun->stats.rx_dropped++;
return -ENOMEM;
}
- skb_reserve(skb, 2);
memcpy_fromiovec(skb_put(skb, len), iv, len);
skb->dev = &tun->dev;
randolph
--
Randolph Chung
Debian GNU/Linux Developer, hppa/ia64 ports
http://www.tausq.org/
^ permalink raw reply
* [BK PATCH] LSM changes for 2.5.52
From: Greg KH @ 2002-12-18 23:21 UTC (permalink / raw)
To: linux-kernel, linux-security-module
In-Reply-To: <20021218231917.GA1782@kroah.com>
ChangeSet 1.898, 2002/12/18 14:57:38-08:00, greg@kroah.com
LSM: changed the dummy code to use the default operations logic.
diff -Nru a/security/dummy.c b/security/dummy.c
--- a/security/dummy.c Wed Dec 18 15:13:41 2002
+++ b/security/dummy.c Wed Dec 18 15:13:41 2002
@@ -542,111 +542,7 @@
return -EINVAL;
}
-struct security_operations dummy_security_ops = {
- .ptrace = dummy_ptrace,
- .capget = dummy_capget,
- .capset_check = dummy_capset_check,
- .capset_set = dummy_capset_set,
- .acct = dummy_acct,
- .capable = dummy_capable,
- .quotactl = dummy_quotactl,
- .quota_on = dummy_quota_on,
-
- .bprm_alloc_security = dummy_bprm_alloc_security,
- .bprm_free_security = dummy_bprm_free_security,
- .bprm_compute_creds = dummy_bprm_compute_creds,
- .bprm_set_security = dummy_bprm_set_security,
- .bprm_check_security = dummy_bprm_check_security,
-
- .sb_alloc_security = dummy_sb_alloc_security,
- .sb_free_security = dummy_sb_free_security,
- .sb_statfs = dummy_sb_statfs,
- .sb_mount = dummy_sb_mount,
- .sb_check_sb = dummy_sb_check_sb,
- .sb_umount = dummy_sb_umount,
- .sb_umount_close = dummy_sb_umount_close,
- .sb_umount_busy = dummy_sb_umount_busy,
- .sb_post_remount = dummy_sb_post_remount,
- .sb_post_mountroot = dummy_sb_post_mountroot,
- .sb_post_addmount = dummy_sb_post_addmount,
- .sb_pivotroot = dummy_sb_pivotroot,
- .sb_post_pivotroot = dummy_sb_post_pivotroot,
-
- .inode_alloc_security = dummy_inode_alloc_security,
- .inode_free_security = dummy_inode_free_security,
- .inode_create = dummy_inode_create,
- .inode_post_create = dummy_inode_post_create,
- .inode_link = dummy_inode_link,
- .inode_post_link = dummy_inode_post_link,
- .inode_unlink = dummy_inode_unlink,
- .inode_symlink = dummy_inode_symlink,
- .inode_post_symlink = dummy_inode_post_symlink,
- .inode_mkdir = dummy_inode_mkdir,
- .inode_post_mkdir = dummy_inode_post_mkdir,
- .inode_rmdir = dummy_inode_rmdir,
- .inode_mknod = dummy_inode_mknod,
- .inode_post_mknod = dummy_inode_post_mknod,
- .inode_rename = dummy_inode_rename,
- .inode_post_rename = dummy_inode_post_rename,
- .inode_readlink = dummy_inode_readlink,
- .inode_follow_link = dummy_inode_follow_link,
- .inode_permission = dummy_inode_permission,
- .inode_permission_lite = dummy_inode_permission_lite,
- .inode_setattr = dummy_inode_setattr,
- .inode_getattr = dummy_inode_getattr,
- .inode_post_lookup = dummy_inode_post_lookup,
- .inode_delete = dummy_inode_delete,
- .inode_setxattr = dummy_inode_setxattr,
- .inode_getxattr = dummy_inode_getxattr,
- .inode_listxattr = dummy_inode_listxattr,
- .inode_removexattr = dummy_inode_removexattr,
-
- .file_permission = dummy_file_permission,
- .file_alloc_security = dummy_file_alloc_security,
- .file_free_security = dummy_file_free_security,
- .file_ioctl = dummy_file_ioctl,
- .file_mmap = dummy_file_mmap,
- .file_mprotect = dummy_file_mprotect,
- .file_lock = dummy_file_lock,
- .file_fcntl = dummy_file_fcntl,
- .file_set_fowner = dummy_file_set_fowner,
- .file_send_sigiotask = dummy_file_send_sigiotask,
- .file_receive = dummy_file_receive,
-
- .task_create = dummy_task_create,
- .task_alloc_security = dummy_task_alloc_security,
- .task_free_security = dummy_task_free_security,
- .task_setuid = dummy_task_setuid,
- .task_post_setuid = dummy_task_post_setuid,
- .task_setgid = dummy_task_setgid,
- .task_setpgid = dummy_task_setpgid,
- .task_getpgid = dummy_task_getpgid,
- .task_getsid = dummy_task_getsid,
- .task_setgroups = dummy_task_setgroups,
- .task_setnice = dummy_task_setnice,
- .task_setrlimit = dummy_task_setrlimit,
- .task_setscheduler = dummy_task_setscheduler,
- .task_getscheduler = dummy_task_getscheduler,
- .task_wait = dummy_task_wait,
- .task_kill = dummy_task_kill,
- .task_prctl = dummy_task_prctl,
- .task_kmod_set_label = dummy_task_kmod_set_label,
- .task_reparent_to_init = dummy_task_reparent_to_init,
-
- .ipc_permission = dummy_ipc_permission,
-
- .msg_queue_alloc_security = dummy_msg_queue_alloc_security,
- .msg_queue_free_security = dummy_msg_queue_free_security,
-
- .shm_alloc_security = dummy_shm_alloc_security,
- .shm_free_security = dummy_shm_free_security,
-
- .sem_alloc_security = dummy_sem_alloc_security,
- .sem_free_security = dummy_sem_free_security,
-
- .register_security = dummy_register_security,
- .unregister_security = dummy_unregister_security,
-};
+struct security_operations dummy_security_ops;
#define set_to_dummy_if_null(ops, function) \
do { \
diff -Nru a/security/security.c b/security/security.c
--- a/security/security.c Wed Dec 18 15:13:41 2002
+++ b/security/security.c Wed Dec 18 15:13:41 2002
@@ -48,6 +48,12 @@
printk (KERN_INFO "Security Scaffold v" SECURITY_SCAFFOLD_VERSION
" initialized\n");
+ if (verify (&dummy_security_ops)) {
+ printk (KERN_ERR "%s could not verify "
+ "dummy_security_ops structure.\n", __FUNCTION__);
+ return -EIO;
+ }
+
security_ops = &dummy_security_ops;
return 0;
^ permalink raw reply
* 2.5.52: PDC20268 failure
From: Frank van de Pol @ 2002-12-18 23:28 UTC (permalink / raw)
To: linux-kernel
the 2.5 series of kernels (since early ide changes) fails on my machine when
configuring the harddisks.
machine is a dual P-II 300 MHz, Intel BX chipset
two Promise UltraTx2 boards, PDC20268, with an IBM disk connected to every channel.
kernel 2.4.18 is still running ok for me. When running a 2.5.x kernel on
this same box, the cards seem te be assigned different interrupts (weird,
since the cards remain in the same slots etc.)
2.4.18: (works fine)
ide2 at 0xa800-0xa807,0xac02 on irq 17
ide3 at 0xb000-0xb007,0xb402 on irq 17
ide4 at 0xbc00-0xbc07,0xc002 on irq 18
ide5 at 0xc400-0xc407,0xc802 on irq 18
2.5.52: (lost interrupts)
ide2 at 0xa800-0xa807,0xac02 on irq 16
ide3 at 0xb000-0xb007,0xb402 on irq 16
ide4 at 0xbc00-0xbc07,0xc002 on irq 16
ide5 at 0xc400-0xc407,0xc802 on irq 16
Regards,
Frank.
--
+---- --- -- - - - -
| Frank van de Pol -o) A-L-S-A
| FvdPol@home.nl /\\ Sounds good!
| http://www.alsa-project.org _\_v
| Linux - Why use Windows if we have doors available?
^ permalink raw reply
* Re: [PATCH][2.4] generic cluster APIC support for systems with more than 8 CPUs
From: Christoph Hellwig @ 2002-12-18 23:26 UTC (permalink / raw)
To: Pallipadi, Venkatesh
Cc: Linux Kernel, Martin Bligh, John Stultz, Nakajima, Jun, jamesclv,
Mallick, Asit K, Saxena, Sunil
In-Reply-To: <C8C38546F90ABF408A5961FC01FDBF1912E18E@fmsmsx405.fm.intel.com>
On Wed, Dec 18, 2002 at 02:36:20PM -0800, Pallipadi, Venkatesh wrote:
> These reasons together led to panics on other OEM systems with > 8 CPUS. The
> patch tries to fix this issue in a generic way (in place of having multiple
> hacks for different OEMs). Note, the patch only intends to change the
> initialization of systems with more than 8 CPUs and it will not affect
> other systems (apart from possible bugs in my code itself).
Any pointers to these systems?
> - Separate out xAPIC stuff from APIC destination setup. And the availability of
> xAPIC support can actually be determined from the LAPIC version.
Are you sure? IIRC some of the early summit boxens didn't report the
right versions..
> - physical mode support _removed_, as we can use clustered logical setup to
> support can support upto a max of 60 CPUs. This is mainly because of the
> advantage of being able to setup IOAPICs in LowestPrio, when using clustered mode.
does this really not break anything in the fragile summit setups?
- bool 'Multi-node NUMA system support' CONFIG_X86_NUMA
- if [ "$CONFIG_X86_NUMA" = "y" ]; then
+ bool 'Clustered APIC (> 8 CPUs) support' CONFIG_X86_APIC_CLUSTER
+ if [ "$CONFIG_X86_APIC_CLUSTER" = "y" ]; then
+ define_bool CONFIG_X86_CLUSTERED_APIC y
Do we really need CONFIG_X86_APIC_CLUSTER _and_ CONFIG_X86_CLUSTERED_APIC?
unsigned long id;
- if(clustered_apic_mode == CLUSTERED_APIC_XAPIC)
- id = physical_to_logical_apicid(hard_smp_processor_id());
+ if(clustered_apic_mode)
+ id = cpu_2_logical_apicid[smp_processor_id()];
else
Okay, this was wrong before, but any chance you could use proper
style here (i.e. if ()
id = 1UL << smp_processor_id();
- if (mp_ioapics[apic].mpc_apicid >= apic_broadcast_id) {
+ if ( !xapic_support &&
+ (mp_ioapics[apic].mpc_apicid >= apic_broadcast_id)) {
if (!xapic_support &&
(mp_ioapics[apic].mpc_apicid >= apic_broadcast_id)) {
+ if ( !xapic_support ) {
Again.
- if (clustered_apic_mode == CLUSTERED_APIC_NUMAQ) {
+ if (clustered_apic_mode &&
+ (configured_platform_type == CONFIGURED_PLATFORM_NUMA) ) {
Doesn;t configured_platform_type == CONFIGURED_PLATFORM_NUMA imply
clustered_apic_mode? and it should be at least CONFIGURED_PLATFORM_NUMAQ,
btw. Probably better something short like SUBARCH_NUMAQ..
Except of that the patch looks fine, but IMHO something like that should
get testing in 2.5 first.
^ permalink raw reply
* Re: buggy scsi_register behaviour in 2.5.51
From: Willem Riede @ 2002-12-18 23:20 UTC (permalink / raw)
To: dougg; +Cc: linux-scsi
In-Reply-To: <3E006692.7020503@torque.net>
On 2002.12.18 07:14 Douglas Gilbert wrote:
> Willem,
> ide-scsi in lk 2.5 ...
> a) needs .eh_bus_reset_handler defined in idescsi_template
> and implemented. It probably would be a dummy unless there
> is a clean way to do an ATAPI bus (or device) reset.
> b) replace .detect and .release in idescsi_template with the
> slave_alloc, slave_configure and slave_destroy interface
>
And do request_sense itself as prescibed by the "new" error
handling I assume.
I'll be back with code when I have it.
Thanks, Willem Riede.
^ permalink raw reply
* Via KT400
From: Matthew D. Pitts @ 2002-12-18 23:33 UTC (permalink / raw)
To: linux-kernel
Has anyone on the list used a motherboard that uses the Via KT400 AGPset? I
just purchased a Gigabyte GA-7VAX that has it.
Matthew D. Pitts
^ permalink raw reply
* [PATCH] LSM changes for 2.5.52
From: Greg KH @ 2002-12-18 23:27 UTC (permalink / raw)
To: linux-kernel, linux-security-module
In-Reply-To: <20021218232125.GB1782@kroah.com>
ChangeSet 1.899, 2002/12/18 14:58:27-08:00, wli@holomorphy.com
[PATCH] converting cap_set_pg() to for_each_task_pid()
cap_set_pg() wants to find all processes in a given process group. This
converts it to use for_each_task_pid().
diff -Nru a/kernel/capability.c b/kernel/capability.c
--- a/kernel/capability.c Wed Dec 18 15:13:37 2002
+++ b/kernel/capability.c Wed Dec 18 15:13:37 2002
@@ -84,13 +84,15 @@
kernel_cap_t *inheritable,
kernel_cap_t *permitted)
{
- task_t *g, *target;
+ task_t *g, *target;
+ struct list_head *l;
+ struct pid *pid;
- do_each_thread(g, target) {
- if (target->pgrp != pgrp)
- continue;
- security_capset_set(target, effective, inheritable, permitted);
- } while_each_thread(g, target);
+ for_each_task_pid(pgrp, PIDTYPE_PGID, g, l, pid) {
+ target = g;
+ while_each_thread(g, target)
+ security_capset_set(target, effective, inheritable, permitted);
+ }
}
/*
^ permalink raw reply
* Re: [PATCH] LSM changes for 2.5.52
From: Greg KH @ 2002-12-18 23:28 UTC (permalink / raw)
To: linux-kernel, linux-security-module
In-Reply-To: <20021218232714.GC1782@kroah.com>
ChangeSet 1.900, 2002/12/18 15:09:33-08:00, greg@kroah.com
LSM: Fix up the description of the root_plug code to try to make it clearer.
diff -Nru a/security/Kconfig b/security/Kconfig
--- a/security/Kconfig Wed Dec 18 15:13:33 2002
+++ b/security/Kconfig Wed Dec 18 15:13:33 2002
@@ -27,8 +27,11 @@
depends on SECURITY!=n
help
This is a sample LSM module that should only be used as such.
- It enables control over processes being created by root users
- if a specific USB device is not present in the system.
+ It prevents any programs running with egid == 0 if a specific
+ USB device is not present in the system.
+
+ See <http://www.linuxjournal.com/article.php?sid=6279> for
+ more information about this module.
If you are unsure how to answer this question, answer N.
diff -Nru a/security/root_plug.c b/security/root_plug.c
--- a/security/root_plug.c Wed Dec 18 15:13:33 2002
+++ b/security/root_plug.c Wed Dec 18 15:13:33 2002
@@ -13,6 +13,9 @@
* If you want to turn this into something with a semblance of security,
* you need to hook the task_* functions also.
*
+ * See http://www.linuxjournal.com/article.php?sid=6279 for more information
+ * about this code.
+ *
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation, version 2 of the
^ permalink raw reply
* Re: Horrible drive performance under concurrent i/o jobs (dlh problem?)
From: Torben Frey @ 2002-12-18 23:30 UTC (permalink / raw)
To: Andrew Morton; +Cc: Con Kolivas, linux kernel mailing list
In-Reply-To: <3E00F894.BDAB4E05@digeo.com>
Hi Andrew, hi Con,
> Here's a diff against base 2.4.20. It may be a little out of date
> wrt Andrea's latest but it should tell us if we're looking in the
> right place.
Ok, I did not run the complete 2.4.20aa1 kernel yet since I am not sure
if it is intended to be used, but I applied your patch, Andrew (thanks
for mailing it). It still does not fix the problem. One job doing much
I/O starts with about 80% CPU but then drops down to about 30% in the
first 40 seconds. Load goes from 0.00 to 2.4 within that time.
And I can see bdflush and my process marked with "D" in the process list.
Catting the device to /dev/null only made it worse :-(
Creating a 1GB file using dd takes about 1 minute compared to 16 seconds
without other jobs running.
Do you think it could be a ReiserFS problem on a RAID? Do you know of
anything else I could try? Sorry, but my knowledge doesn't reach that far.
TIA,
Torben
^ permalink raw reply
* Re: Linux 2.4.21-pre2
From: Christoph Hellwig @ 2002-12-18 23:31 UTC (permalink / raw)
To: Marcelo Tosatti, mikael.starvik; +Cc: lkml
In-Reply-To: <Pine.LNX.4.50L.0212181721340.18764-100000@freak.distro.conectiva>
> <mikael.starvik@axis.com>:
> o CRIS architecture update for 2.4.21
This seems to include some strange stuff.
It reverts the s/extern __inline__/static __inline__/g changes
in include/asm-cris/ and adds a junk file in
arch/cris/drivers/bluetooth/bt.patch
^ permalink raw reply
* [Linux-ia64] installation help
From: Jian Chen @ 2002-12-18 23:25 UTC (permalink / raw)
To: linux-ia64
Hi,
I downoaded ski and nue, and installed with:
rpm -Uhv ski-0.943l-2.i386.rpm
rpm -Uhv nue-1.1-1.i386.rpm
rpm -Uhv nue-fs-1.2-1.i386.rpm
I verified my installation with hello.c, but found
that the compiled binary file can't be executed. Does
anyone know why?
My system is Redhat Linux 7.3, CPU Intel Pentium4
2.00GHZ, gcc version 2.96 20000731.
Thanks.
__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com
^ permalink raw reply
* Re: would this work as a thin client?
From: Ray Olszewski @ 2002-12-18 23:25 UTC (permalink / raw)
To: linux-newbie
In-Reply-To: <3E00C4CA@mailandnews.com>
At 10:32 AM 12/18/02 -0500, james miller wrote:
>Hello all. I'm pretty new to Linux and to the LTSP project, but I ran across
>something on the web for really cheap ($12.95!) and wondered if it could work
>as a thin client. Seems like, if it would, a bit of fiddling would be
>involved. Sorry if this is a stupid question. Anyway, here's the link:
>http://www.softwareandstuff.com/h_misc_webpal.html . Description follows:
[deleted]
I took a look at the URL, and I followed some of the links there, which
included info on converting the box to Linux. I'd say it is doable, but far
more than a "bit" of fiddling is needed. The instructions for how to switch
it to Linux seem pretty clear, but highlight three weak spots --
1. The system uses an ARM CPU, not an i86 one, so you need to cope
with the added complixities of using an non-i86 distro. This isn't fatal,
but it does involve learning new tricks of the trade.
2. The system has only one expansion slot, an isa slot, and that
is limited to NE2K NICs running on IRQ3 (if you use it for a NIC, that is).
NE2K means 10 Mbps, not 100 Mbps. Usable for a thin client, but just one
more thing to have to fiddle with.
3. This is more s judgment call on my part, but I expect you would
see poor performance with X on this system, making it a weak candidate for
common thin client uses (at least the ones that interest me).
Good luck if you decide to give this a try, and please let us know how it
goes if you do.
--
-------------------------------------------"Never tell me the odds!"--------
Ray Olszewski -- Han Solo
Palo Alto, California, USA ray@comarre.com
-------------------------------------------------------------------------------
-
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs
^ permalink raw reply
* Re: [PATCH] LSM changes for 2.5.52
From: Greg KH @ 2002-12-18 23:29 UTC (permalink / raw)
To: linux-kernel, linux-security-module
In-Reply-To: <20021218232810.GD1782@kroah.com>
ChangeSet 1.901, 2002/12/18 15:10:25-08:00, greg@kroah.com
LSM: update the copyright dates for my entry.
diff -Nru a/security/dummy.c b/security/dummy.c
--- a/security/dummy.c Wed Dec 18 15:13:29 2002
+++ b/security/dummy.c Wed Dec 18 15:13:29 2002
@@ -3,7 +3,7 @@
* security model is loaded.
*
* Copyright (C) 2001 WireX Communications, Inc <chris@wirex.com>
- * Copyright (C) 2001 Greg Kroah-Hartman <greg@kroah.com>
+ * Copyright (C) 2001-2002 Greg Kroah-Hartman <greg@kroah.com>
* Copyright (C) 2001 Networks Associates Technology, Inc <ssmalley@nai.com>
*
* This program is free software; you can redistribute it and/or modify
diff -Nru a/security/security.c b/security/security.c
--- a/security/security.c Wed Dec 18 15:13:29 2002
+++ b/security/security.c Wed Dec 18 15:13:29 2002
@@ -2,7 +2,7 @@
* Security plug functions
*
* Copyright (C) 2001 WireX Communications, Inc <chris@wirex.com>
- * Copyright (C) 2001 Greg Kroah-Hartman <greg@kroah.com>
+ * Copyright (C) 2001-2002 Greg Kroah-Hartman <greg@kroah.com>
* Copyright (C) 2001 Networks Associates Technology, Inc <ssmalley@nai.com>
*
* This program is free software; you can redistribute it and/or modify
^ permalink raw reply
* Re: Linux 2.4.21-pre2
From: Eyal Lebedinsky @ 2002-12-18 23:33 UTC (permalink / raw)
To: Marcelo Tosatti; +Cc: lkml
In-Reply-To: <Pine.LNX.4.50L.0212181721340.18764-100000@freak.distro.conectiva>
Marcelo Tosatti wrote:
> Summary of changes from v2.4.21-pre1 to v2.4.21-pre2
> ============================================
> [trimmed]
> Rusty Russell <rusty@rustcorp.com.au>:
> o duplicate header in drivers_ieee1394_sbp2.c
Don't know if this patch is the source of this problem, but...
Build fails for drivers/ieee1394/sbp2.c where these two functions
sbp2_handle_physdma_write
sbp2_handle_physdma_read
are declared with an extra last argument 'u16 flags' in sbp2.h
but are missing this argument in their body in sbp2.c.
--
Eyal Lebedinsky (eyal@eyal.emu.id.au) <http://samba.org/eyal/>
^ permalink raw reply
* Re: Firewall Error
From: Ben Russo @ 2002-12-18 23:32 UTC (permalink / raw)
To: Paul & Tisha Sinclair; +Cc: netfilter
In-Reply-To: <000001c29d5b$0c5b9af0$0a00a8c0@WinXp1>
On Fri, 2002-12-06 at 14:09, Paul & Tisha Sinclair wrote:
> Hello,
>
>
>
> My name is Paul and I have a problem I would like to know if
> you can fix my error.
>
> This is error I received when I try to open a port. {An error occured
> when checking your current IPtables configuration :
>
> /lib/modules/2.4.18-3smp/kernel/net/ipv4/netfilter/ip_tables.o:
> init_module: Device or resource busy
>
> /lib/modules/2.4.18-3smp/kernel/net/ipv4/netfilter/ip_tables.o: insmod
> /lib/modules/2.4.18-3smp/kernel/net/ipv4/netfilter/ip_tables.o failed
>
> /lib/modules/2.4.18-3smp/kernel/net/ipv4/netfilter/ip_tables.o: insmod
> ip_tables failed
>
> Hint: insmod errors can be caused by incorrect module parameters,
> including invalid IO or IRQ parameters
>
> iptables v1.2.5: can't initialize iptables table `filter': iptables
> who? (do you need to insmod?)
>
> Perhaps iptables or your kernel needs to be upgraded.
>
> This may indicate that your kernel does not support IPtables.}.
>
> Running 7.2 Redhat
>
> I would like to open a port but I get this message. Please see if you
> have any suggestion.
>
Paul,
You might get more help if you posted to the list in Text format instead
of HTML or RTF or whatever....
With regards to the errors above, I don't understand what you mean when
you say "try to open a port"? But I have a question that may shed some
light on the issue... Did you recompile the kernel with custom config
options? Or are you using the standard RedHat 7.2 kernel?
If you are using the standard 7.2 kernel I would first suggest that you
update to the latest version of the kernel which I think is
2.4.18-18.7.x
That may fix your problem all by itself.
If you did the rhn_register then all you have to do is run "up2date"
and select the kernels, let it install and then reboot.
-Ben.
^ permalink raw reply
* Re: [PATCH][2.4] generic cluster APIC support for systems with more than 8 CPUs
From: William Lee Irwin III @ 2002-12-18 23:41 UTC (permalink / raw)
To: Christoph Hellwig, Pallipadi, Venkatesh, Linux Kernel,
Martin Bligh, John Stultz, Nakajima, Jun, jamesclv,
Mallick, Asit K, Saxena, Sunil
In-Reply-To: <20021218232640.A1746@infradead.org>
On Wed, Dec 18, 2002 at 11:26:40PM +0000, Christoph Hellwig wrote:
> Except of that the patch looks fine, but IMHO something like that should
> get testing in 2.5 first.
Yes, I'd prefer this happen in 2.5 first and that I and the rest of
everyone in our lab test the living daylights out of it on NUMA-Q.
Bill
^ 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.