[PATCH 2.6.13-rc2-mm2] v9fs: fix problems spotted in previous patchset (2.0.2)

2005-07-14 Thread ericvh
Fix formating errors and a memory leak that crept in the
previous round of revisions to v9fs.  These will be reincorperated 
into the patchset and resent to akpm.

Signed-off-by: Eric Van Hensbergen <[EMAIL PROTECTED]>

---
commit 22d785a22895513c6ab67dfa53c25b8b833fe235
tree 88822e96e339bf071d63576c87a15ddc7f4419b6
parent fe7cd649688d12dfaeeef2c594d131584c488dcd
author Eric Van Hensbergen <[EMAIL PROTECTED]> Thu, 14 Jul 2005 16:22:29 -0500
committer Eric Van Hensbergen <[EMAIL PROTECTED]> Thu, 14 Jul 2005 16:22:29 
-0500

 fs/9p/fid.c   |2 +-
 fs/9p/mux.c   |6 +++---
 fs/9p/vfs_file.c  |5 +++--
 fs/9p/vfs_inode.c |6 +++---
 4 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/fs/9p/fid.c b/fs/9p/fid.c
--- a/fs/9p/fid.c
+++ b/fs/9p/fid.c
@@ -206,7 +206,7 @@ struct v9fs_fid *v9fs_fid_lookup(struct 
/* TODO: take advantage of multiwalk */
 
fidnum = v9fs_get_idpool(&v9ses->fidpool);
-   if(fidnum < 0) {
+   if (fidnum < 0) {
dprintk(DEBUG_ERROR,
"could not get a new fid num\n");
return return_fid;
diff --git a/fs/9p/mux.c b/fs/9p/mux.c
--- a/fs/9p/mux.c
+++ b/fs/9p/mux.c
@@ -262,7 +262,7 @@ v9fs_mux_rpc(struct v9fs_session_info *v
ret = v9fs_send(v9ses, &req);
 
if (ret < 0) {
-   if(tcall->id != TVERSION)
+   if (tcall->id != TVERSION)
v9fs_put_idpool(tid, &v9ses->tidpool);
dprintk(DEBUG_MUX, "error %d\n", ret);
return ret;
@@ -313,7 +313,7 @@ v9fs_mux_rpc(struct v9fs_session_info *v
}
 
   release_req:
-   if(tcall->id != TVERSION)
+   if (tcall->id != TVERSION)
v9fs_put_idpool(tid, &v9ses->tidpool);
if (rcall)
*rcall = fcall;
@@ -345,7 +345,7 @@ static int v9fs_recvproc(void *data)
req = rptr = rreq = NULL;
 
rcall = kmalloc(v9ses->maxdata + V9FS_IOHDRSZ, GFP_KERNEL);
-   if(!rcall) {
+   if (!rcall) {
eprintk(KERN_ERR, "no memory for buffers\n");
break;
}
diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c
--- a/fs/9p/vfs_file.c
+++ b/fs/9p/vfs_file.c
@@ -381,9 +381,10 @@ v9fs_file_write(struct file *filp, const
ret = copy_from_user(buffer, data, count);
if (ret) {
dprintk(DEBUG_ERROR, "Problem copying from user\n");
-   return -EFAULT;
-   } else
+   ret = -EFAULT;
+   } else {
ret = v9fs_write(filp, buffer, count, offset);
+   }
 
kfree(buffer);
 
diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c
--- a/fs/9p/vfs_inode.c
+++ b/fs/9p/vfs_inode.c
@@ -666,7 +666,7 @@ v9fs_vfs_rename(struct inode *old_dir, s
 
dprintk(DEBUG_VFS, "\n");
 
-   if(!mistat)
+   if (!mistat)
return -ENOMEM;
 
if ((!oldfid) || (!olddirfid) || (!newdirfid)) {
@@ -934,7 +934,7 @@ v9fs_vfs_symlink(struct inode *dir, stru
dprintk(DEBUG_VFS, " %lu,%s,%s\n", dir->i_ino, dentry->d_name.name,
symname);
 
-   if(!mistat)
+   if (!mistat)
return -ENOMEM;
 
if (!v9ses->extended) {
@@ -1217,7 +1217,7 @@ v9fs_vfs_mknod(struct inode *dir, struct
dprintk(DEBUG_VFS, " %lu,%s mode: %x MAJOR: %u MINOR: %u\n", dir->i_ino,
dentry->d_name.name, mode, MAJOR(rdev), MINOR(rdev));
 
-   if(!mistat)
+   if (!mistat)
return -ENOMEM;
 
if (!new_valid_dev(rdev)) {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 2.6.13-rc2-mm2 2/7] v9fs: VFS file, dentry, and directory operations (2.0.2)

2005-07-14 Thread Eric Van Hensbergen
Doh!  Good catch, I'll fix and resubmit - same goes for the formating issues.

On 7/14/05, Christoph Hellwig <[EMAIL PROTECTED]> wrote:
> > @@ -383,9 +379,10 @@ v9fs_file_write(struct file *filp, const
> >   return -ENOMEM;
> >
> >   ret = copy_from_user(buffer, data, count);
> > - if (ret)
> > + if (ret) {
> >   dprintk(DEBUG_ERROR, "Problem copying from user\n");
> > - else
> > + return -EFAULT;
> > + } else
> >   ret = v9fs_write(filp, buffer, count, offset);
> >
> >   kfree(buffer);
> 
> Aren't you leaking buffer in the error case?  Also we Linux people really
> hate an else clause when the if block contains a return statement ;-)
> 
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 2.6.13-rc2-mm2 5/7] v9fs: 9P protocol implementation (2.0.2)

2005-07-14 Thread Eric Van Hensbergen
On 7/14/05, Christoph Hellwig <[EMAIL PROTECTED]> wrote:
> > +static inline void buf_check_size(struct cbuf *buf, int len)
> > +{
> > + if (buf->p+len > buf->ep) {
> > + if (buf->p < buf->ep) {
> > + eprintk(KERN_ERR, "buffer overflow\n");
> > + buf->p = buf->ep + 1;
> > + }
> > + }
> > +}
> 
> "handling" a buffer overflow with a printk doesn't seem appopinquate.
> In what cases can this happen and what problems may it cause?
> 

I believe all of these cases represent what we would consider to be
protocol errors.  I suppose it is possible that our truncation
approach could be used as an exploit in some weird case -- I'll take a
look at fixing things so that any such overflow case is treated as a
fatal protocol error and reported as such (via the protocol as
appropriate).

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


Re: [PATCH 2.6.13-rc2-mm2 2/7] v9fs: VFS file, dentry, and directory operations (2.0.2)

2005-07-14 Thread Christoph Hellwig
> @@ -383,9 +379,10 @@ v9fs_file_write(struct file *filp, const
>   return -ENOMEM;
>  
>   ret = copy_from_user(buffer, data, count);
> - if (ret)
> + if (ret) {
>   dprintk(DEBUG_ERROR, "Problem copying from user\n");
> - else
> + return -EFAULT;
> + } else
>   ret = v9fs_write(filp, buffer, count, offset);
>  
>   kfree(buffer);

Aren't you leaking buffer in the error case?  Also we Linux people really
hate an else clause when the if block contains a return statement ;-)

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


Re: [PATCH 2.6.13-rc2-mm2 5/7] v9fs: 9P protocol implementation (2.0.2)

2005-07-14 Thread Christoph Hellwig
> +static inline void buf_check_size(struct cbuf *buf, int len) 
> +{
> + if (buf->p+len > buf->ep) { 
> + if (buf->p < buf->ep) { 
> + eprintk(KERN_ERR, "buffer overflow\n"); 
> + buf->p = buf->ep + 1; 
> + } 
> + } 
> +}

"handling" a buffer overflow with a printk doesn't seem appopinquate.
In what cases can this happen and what problems may it cause?

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


Re: [PATCH 2.6.13-rc2-mm2 7/7] v9fs: debug and support routines (2.0.2)

2005-07-14 Thread Christoph Hellwig
On Sun, Jul 17, 2005 at 08:53:59AM -0500, [EMAIL PROTECTED] wrote:
> This is part [7/7] of the v9fs-2.0.2 patch against Linux 2.6.13-rc2-mm2.
> 
> This part of the patch contains debug and other misc routine changes related
> to hch's comments.

Here a few if( instead if ( formatting sneaked in.

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


[PATCH 2.6.13-rc2-mm2 6/7] v9fs: transport modules (2.0.2)

2005-07-14 Thread ericvh
This is part [6/7] of the v9fs-2.0.2 patch against Linux 2.6.13-rc2-mm2.

This part of the patch contains transport routine changes related to
hch's comments.

Signed-off-by: Eric Van Hensbergen <[EMAIL PROTECTED]>


 --

 fs/9p/trans_sock.c   |2 +-
 fs/9p/mux.c  |   44 +++-
 2 files changed, 16 insertions(+), 30 deletions(-)

 --

--- a/fs/9p/mux.c
+++ b/fs/9p/mux.c
@@ -29,9 +29,9 @@
 #include 
 #include 
 #include 
+#include 
 
 #include "debug.h"
-#include "idpool.h"
 #include "v9fs.h"
 #include "9p.h"
 #include "transport.h"
@@ -160,30 +160,19 @@ static int v9fs_recv(struct v9fs_session
int ret = 0;
 
dprintk(DEBUG_MUX, "waiting for response: %d\n", req->tcall->tag);
-   ret = wait_event_interruptible_timeout(v9ses->read_wait,
+   ret = wait_event_interruptible(v9ses->read_wait,
   ((v9ses->transport->status != Connected) ||
-   (req->rcall != 0) || dprintcond(v9ses, req)),
-  msecs_to_jiffies(v9ses->timeout));
+   (req->rcall != 0) || dprintcond(v9ses, req)));
 
dprintk(DEBUG_MUX, "got it: rcall %p\n", req->rcall);
if (v9ses->transport->status == Disconnected)
return -ECONNRESET;
 
-   if (ret >= 0) {
+   if (ret == 0) {
spin_lock(&v9ses->muxlock);
list_del(&req->next);
spin_unlock(&v9ses->muxlock);
}
-   if (ret == 0) { /* timeout */
-   dprintk(DEBUG_ERROR, "Connection timeout after %u 
(%u)\n",
-   v9ses->timeout,
-   (unsigned int)msecs_to_jiffies(v9ses->timeout));
-   v9ses->session_hung = 1;
-   v9ses->transport->status = Hung;
-   return -ETIMEDOUT;
-   } else {
-   ret = 0;/* reset return code */
-   }
 
return ret;
 }
@@ -273,7 +262,8 @@ v9fs_mux_rpc(struct v9fs_session_info *v
ret = v9fs_send(v9ses, &req);
 
if (ret < 0) {
-   v9fs_put_idpool(tid, &v9ses->tidpool);
+   if(tcall->id != TVERSION)
+   v9fs_put_idpool(tid, &v9ses->tidpool);
dprintk(DEBUG_MUX, "error %d\n", ret);
return ret;
}
@@ -323,7 +313,8 @@ v9fs_mux_rpc(struct v9fs_session_info *v
}
 
   release_req:
-   v9fs_put_idpool(tid, &v9ses->tidpool);
+   if(tcall->id != TVERSION)
+   v9fs_put_idpool(tid, &v9ses->tidpool);
if (rcall)
*rcall = fcall;
else
@@ -342,16 +333,16 @@ static int v9fs_recvproc(void *data)
 {
struct v9fs_session_info *v9ses = (struct v9fs_session_info *)data;
struct v9fs_fcall *rcall = NULL;
-   struct list_head *rptr;
-   struct list_head *rrptr;
+   struct v9fs_rpcreq *rptr;
struct v9fs_rpcreq *req;
+   struct v9fs_rpcreq *rreq;
int err = 0;
 
allow_signal(SIGKILL);
set_current_state(TASK_INTERRUPTIBLE);
complete(&v9ses->proccmpl);
while (!kthread_should_stop() && err >= 0) {
-   req = NULL;
+   req = rptr = rreq = NULL;
 
rcall = kmalloc(v9ses->maxdata + V9FS_IOHDRSZ, GFP_KERNEL);
if(!rcall) {
@@ -365,10 +356,7 @@ static int v9fs_recvproc(void *data)
break;
}
spin_lock(&v9ses->muxlock);
-   list_for_each_safe(rptr, rrptr, &v9ses->mux_fcalls) {
-   struct v9fs_rpcreq *rreq =
-   list_entry(rptr, struct v9fs_rpcreq, next);
-
+   list_for_each_entry_safe(rreq, rptr, &v9ses->mux_fcalls, next) {
if (rreq->tcall->tag == rcall->tag) {
req = rreq;
req->rcall = rcall;
@@ -377,13 +365,11 @@ static int v9fs_recvproc(void *data)
}
 
if (req && (req->tcall->id == TFLUSH)) {
-   list_for_each_safe(rptr, rrptr, &v9ses->mux_fcalls) {
-   struct v9fs_rpcreq *treq =
-   list_entry(rptr, struct v9fs_rpcreq, next);
-
+   struct v9fs_rpcreq *treq = NULL;
+   list_for_each_entry_safe(treq, rptr, 
&v9ses->mux_fcalls, next) {
if (treq->tcall->tag ==
req->tcall->params.tflush.oldtag) {
-   list_del(rptr);
+   list_del(&rp

[PATCH 2.6.13-rc2-mm2 7/7] v9fs: debug and support routines (2.0.2)

2005-07-14 Thread ericvh
This is part [7/7] of the v9fs-2.0.2 patch against Linux 2.6.13-rc2-mm2.

This part of the patch contains debug and other misc routine changes related
to hch's comments.

Signed-off-by: Eric Van Hensbergen <[EMAIL PROTECTED]>

 --

 fs/9p/error.c|3 +--
 fs/9p/error.h|3 +++
 fs/9p/fid.c  |   14 ++
 fs/9p/idpool.c   |  152 
 fs/9p/idpool.h   |   42 --
 6 files changed, 14 insertions(+), 200 deletions(-)

 --

--- a/fs/9p/error.h
+++ b/fs/9p/error.h
@@ -172,3 +172,6 @@ static struct errormap errmap[] = {
{"u9fs authnone: no authentication required", 0},
{NULL, -1}
 };
+
+extern int v9fs_error_init(void);
+extern int v9fs_errstr2errno(char *errstr);
diff --git a/fs/9p/fid.c b/fs/9p/fid.c
--- a/fs/9p/error.c
+++ b/fs/9p/error.c
@@ -75,8 +75,7 @@ int v9fs_errstr2errno(char *errstr)
struct errormap *c = NULL;
int bucket = jhash(errstr, strlen(errstr), 0) % ERRHASHSZ;
 
-   hlist_for_each(p, &hash_errmap[bucket]) {
-   c = hlist_entry(p, struct errormap, list);
+   hlist_for_each_entry(c, p, &hash_errmap[bucket], list) {
if (!strcmp(c->name, errstr)) {
errno = c->val;
break;
diff --git a/fs/9p/error.h b/fs/9p/error.h
--- a/fs/9p/fid.c
+++ b/fs/9p/fid.c
@@ -25,9 +25,9 @@
 #include 
 #include 
 #include 
+#include 
 
 #include "debug.h"
-#include "idpool.h"
 #include "v9fs.h"
 #include "9p.h"
 #include "v9fs_vfs.h"
@@ -123,7 +123,7 @@ struct v9fs_fid *v9fs_fid_lookup(struct 
 {
struct list_head *fid_list = (struct list_head *)dentry->d_fsdata;
struct v9fs_fid *current_fid = NULL;
-   struct list_head *p, *temp;
+   struct v9fs_fid *temp = NULL;
struct v9fs_fid *return_fid = NULL;
int found_parent = 0;
int found_user = 0;
@@ -132,8 +132,7 @@ struct v9fs_fid *v9fs_fid_lookup(struct 
type);
 
if (fid_list && !list_empty(fid_list)) {
-   list_for_each_safe(p, temp, fid_list) {
-   current_fid = list_entry(p, struct v9fs_fid, list);
+   list_for_each_entry_safe(current_fid, temp, fid_list, list) {
if (current_fid->uid == current->uid) {
if (return_fid == NULL) {
if ((type == FID_OP)
@@ -205,7 +204,14 @@ struct v9fs_fid *v9fs_fid_lookup(struct 
oldfid = current_fid->fid;
par = current->fs->pwd;
/* TODO: take advantage of multiwalk */
+
fidnum = v9fs_get_idpool(&v9ses->fidpool);
+   if(fidnum < 0) {
+   dprintk(DEBUG_ERROR,
+   "could not get a new fid num\n");
+   return return_fid;
+   }
+
while (par != dentry) {
result =
v9fs_t_walk(v9ses, oldfid, fidnum, "..",

diff --git a/fs/9p/idpool.c b/fs/9p/idpool.c
deleted file mode 100644
--- a/fs/9p/idpool.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- *  linux/fs/9p/idpool.c
- *
- *  Copyright (C) 2004 by Eric Van Hensbergen <[EMAIL PROTECTED]>
- *  Copyright (C) 2002 by Ron Minnich 
- *
- *  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; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to:
- *  Free Software Foundation
- *  51 Franklin Street, Fifth Floor
- *  Boston, MA  02111-1301  USA
- *
- */
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include "idpool.h"
-#include "debug.h"
-
-/**
- * grow_idpool - increase the size of an id pool
- * @i: pointer to idpool to initialize
- * @size: size (in bits) of idpool
- *
- */
-
-static int grow_idpool(struct idpool *i, int newsize)
-{
-   unsigned long *newpool;
-
-   newpool = kmalloc((newsize / 8), GFP_KERNEL);
-   if (!newpool) {
-   eprintk(KERN_WARNING,
-   "Couldn't allocate memory to grow idpool\n");
-   return 0;
-   }
-
-   memset(newpool, 0, newsize / 8);
-   if (i->idlist) {
-   

[PATCH 2.6.13-rc2-mm2 5/7] v9fs: 9P protocol implementation (2.0.2)

2005-07-14 Thread ericvh
This is part [5/7] of the v9fs-2.0.2 patch against Linux 2.6.13-rc2-mm2.

This part of the patch contains the 9P protocol function changes related
to hch's comments.

Signed-off-by: Eric Van Hensbergen <[EMAIL PROTECTED]>


 --

 fs/9p/9p.c  |2 +-
 fs/9p/conv.c|   54 ++
 2 files changed, 19 insertions(+), 37 deletions(-)

 --

--- a/fs/9p/9p.c
+++ b/fs/9p/9p.c
@@ -28,9 +28,9 @@
 #include 
 #include 
 #include 
+#include 
 
 #include "debug.h"
-#include "idpool.h"
 #include "v9fs.h"
 #include "9p.h"
 #include "mux.h"
diff --git a/fs/9p/Makefile b/fs/9p/Makefile
--- a/fs/9p/conv.c
+++ b/fs/9p/conv.c
@@ -28,9 +28,9 @@
 #include 
 #include 
 #include 
+#include 
 
 #include "debug.h"
-#include "idpool.h"
 #include "v9fs.h"
 #include "9p.h"
 #include "conv.h"
@@ -55,39 +55,21 @@ static inline int buf_check_overflow(str
return buf->p > buf->ep;
 }
 
-#define buf_check_sizep(buf, len) \
-   if (buf->p+len > buf->ep) { \
-   if (buf->p < buf->ep) { \
-   eprintk(KERN_ERR, "buffer overflow\n"); \
-   buf->p = buf->ep + 1; \
-   } \
-   return NULL; \
-   } \
-
-
-#define buf_check_size(buf, len) \
-   if (buf->p+len > buf->ep) { \
-   if (buf->p < buf->ep) { \
-   eprintk(KERN_ERR, "buffer overflow\n"); \
-   buf->p = buf->ep + 1; \
-   } \
-   return 0; \
-   } \
-
-#define buf_check_sizev(buf, len) \
-   if (buf->p+len > buf->ep) { \
-   if (buf->p < buf->ep) { \
-   eprintk(KERN_ERR, "buffer overflow\n"); \
-   buf->p = buf->ep + 1; \
-   } \
-   return; \
-   } \
+static inline void buf_check_size(struct cbuf *buf, int len) 
+{
+   if (buf->p+len > buf->ep) { 
+   if (buf->p < buf->ep) { 
+   eprintk(KERN_ERR, "buffer overflow\n"); 
+   buf->p = buf->ep + 1; 
+   } 
+   } 
+}
 
 static inline void *buf_alloc(struct cbuf *buf, int len)
 {
void *ret = NULL;
 
-   buf_check_sizep(buf, len);
+   buf_check_size(buf, len);
ret = buf->p;
buf->p += len;
 
@@ -96,7 +78,7 @@ static inline void *buf_alloc(struct cbu
 
 static inline void buf_put_int8(struct cbuf *buf, u8 val)
 {
-   buf_check_sizev(buf, 1);
+   buf_check_size(buf, 1);
 
buf->p[0] = val;
buf->p++;
@@ -104,7 +86,7 @@ static inline void buf_put_int8(struct c
 
 static inline void buf_put_int16(struct cbuf *buf, u16 val)
 {
-   buf_check_sizev(buf, 2);
+   buf_check_size(buf, 2);
 
buf->p[0] = val;
buf->p[1] = val >> 8;
@@ -113,7 +95,7 @@ static inline void buf_put_int16(struct 
 
 static inline void buf_put_int32(struct cbuf *buf, u32 val)
 {
-   buf_check_sizev(buf, 4);
+   buf_check_size(buf, 4);
 
buf->p[0] = val;
buf->p[1] = val >> 8;
@@ -124,7 +106,7 @@ static inline void buf_put_int32(struct 
 
 static inline void buf_put_int64(struct cbuf *buf, u64 val)
 {
-   buf_check_sizev(buf, 8);
+   buf_check_size(buf, 8);
 
buf->p[0] = val;
buf->p[1] = val >> 8;
@@ -139,7 +121,7 @@ static inline void buf_put_int64(struct 
 
 static inline void buf_put_stringn(struct cbuf *buf, const char *s, u16 slen)
 {
-   buf_check_sizev(buf, slen + 2);
+   buf_check_size(buf, slen + 2);
 
buf_put_int16(buf, slen);
memcpy(buf->p, s, slen);
@@ -153,7 +135,7 @@ static inline void buf_put_string(struct
 
 static inline void buf_put_data(struct cbuf *buf, void *data, u32 datalen)
 {
-   buf_check_sizev(buf, datalen);
+   buf_check_size(buf, datalen);
 
memcpy(buf->p, data, datalen);
buf->p += datalen;
@@ -257,7 +239,7 @@ static inline void *buf_get_datab(struct
char *ret = NULL;
int n = 0;
 
-   buf_check_sizep(dbuf, datalen);
+   buf_check_size(dbuf, datalen);
 
n = buf_get_data(buf, dbuf->p, datalen);
 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 2.6.13-rc2-mm2 3/7] v9fs: VFS inode operations (2.0.2)

2005-07-14 Thread ericvh
This is part [3/7] of the v9fs-2.0.2 patch against Linux 2.6.13-rc2-mm2.

This part of the patch contains the VFS inode interfaces changes related
to hch's comments.

Signed-off-by: Eric Van Hensbergen <[EMAIL PROTECTED]>


 --

 fs/9p/vfs_inode.c   |   69 +---
 1 files changed, 7 insertions(+), 62 deletions(-)

 --

--- a/fs/9p/vfs_inode.c
+++ b/fs/9p/vfs_inode.c
@@ -34,9 +34,9 @@
 #include 
 #include 
 #include 
+#include 
 
 #include "debug.h"
-#include "idpool.h"
 #include "v9fs.h"
 #include "9p.h"
 #include "v9fs_vfs.h"
@@ -268,7 +268,6 @@ struct inode *v9fs_get_inode(struct supe
default:
dprintk(DEBUG_ERROR, "BAD mode 0x%x S_IFMT 0x%x\n",
mode, mode & S_IFMT);
-   sb->s_op->put_inode(inode);
return ERR_PTR(-EINVAL);
}
} else {
@@ -446,30 +445,14 @@ static int v9fs_remove(struct inode *dir
dprintk(DEBUG_VFS, "inode: %p dentry: %p rmdir: %d\n", dir, file,
rmdir);
 
-   if (!dir || !S_ISDIR(dir->i_mode)) {
-   dprintk(DEBUG_ERROR, "dir inode is NULL or not a directory\n");
-   return -ENOENT;
-   }
-
-   if (!file) {
-   dprintk(DEBUG_ERROR, "NO dentry for file to remove\n");
-   return -EBADF;
-   }
-
-   if (!file->d_inode) {
-   dprintk(DEBUG_ERROR,
-   "dentry %p NO INODE for file to remove!\n", file);
-   return -EBADF;
-   }
-
file_inode = file->d_inode;
sb = file_inode->i_sb;
v9ses = v9fs_inode2v9ses(file_inode);
v9fid = v9fs_fid_lookup(file, FID_OP);
 
-   if (!sb || !v9ses || !v9fid) {
+   if (!v9fid) {
dprintk(DEBUG_ERROR,
-   "no superblock or v9session or v9fs_fid\n");
+   "no v9fs_fid\n");
return -EBADF;
}
 
@@ -480,14 +463,6 @@ static int v9fs_remove(struct inode *dir
return -EBADF;
}
 
-   if (rmdir && (!S_ISDIR(file_inode->i_mode))) {
-   dprintk(DEBUG_ERROR, "trying to remove non-directory\n");
-   return -ENOTDIR;
-   } else if ((!rmdir) && S_ISDIR(file_inode->i_mode)) {
-   dprintk(DEBUG_ERROR, "trying to remove directory\n");
-   return -EISDIR;
-   }
-
result = v9fs_t_remove(v9ses, fid, &fcall);
if (result < 0)
dprintk(DEBUG_ERROR, "remove of file fails: %s(%d)\n",
@@ -498,7 +473,6 @@ static int v9fs_remove(struct inode *dir
}
 
kfree(fcall);
-
return result;
 }
 
@@ -556,17 +530,12 @@ static struct dentry *v9fs_vfs_lookup(st
dprintk(DEBUG_VFS, "dir: %p dentry: (%s) %p nameidata: %p\n",
dir, dentry->d_iname, dentry, nameidata);
 
-   if (!dir) {
-   dprintk(DEBUG_ERROR, "no dir inode\n");
-   return ERR_PTR(-EINVAL);
-   }
-
sb = dir->i_sb;
v9ses = v9fs_inode2v9ses(dir);
dirfid = v9fs_fid_lookup(dentry->d_parent, FID_WALK);
 
-   if (!sb || !v9ses || !dirfid) {
-   dprintk(DEBUG_ERROR, "no superblock, v9ses, or dirfid\n");
+   if (!dirfid) {
+   dprintk(DEBUG_ERROR, "no dirfid\n");
return ERR_PTR(-EINVAL);
}
 
@@ -867,7 +836,7 @@ void
 v9fs_mistat2inode(struct v9fs_stat *mistat, struct inode *inode,
  struct super_block *sb)
 {
-   struct v9fs_session_info *v9ses = sb ? sb->s_fs_info : NULL;
+   struct v9fs_session_info *v9ses = sb->s_fs_info;
 
inode->i_nlink = 1;
 
@@ -878,7 +847,7 @@ v9fs_mistat2inode(struct v9fs_stat *mist
inode->i_uid = -1;
inode->i_gid = -1;
 
-   if (v9ses && v9ses->extended) {
+   if (v9ses->extended) {
/* TODO: string to uid mapping via user-space daemon */
inode->i_uid = mistat->n_uid;
inode->i_gid = mistat->n_gid;
@@ -959,7 +928,6 @@ v9fs_vfs_symlink(struct inode *dir, stru
int retval = -EPERM;
struct v9fs_fid *newfid;
struct v9fs_session_info *v9ses = v9fs_inode2v9ses(dir);
-   struct super_block *sb = dir ? dir->i_sb : NULL;
struct v9fs_fcall *fcall = NULL;
struct v9fs_stat *mistat = kmalloc(v9ses->maxdata, GFP_KERNEL);
 
@@ -969,11 +937,6 @@ v9fs_vfs_symlink(struct inode *dir, stru
if(!mistat)
return -ENOMEM;
 
-   if ((!dentry) || (!sb) || (!v9ses)) {
-   dprintk(DEBUG_ERROR, "problem with arguments\n");
-   ret

[PATCH 2.6.13-rc2-mm2 4/7] v9fs: VFS superblock operations and glue (2.0.2)

2005-07-14 Thread ericvh
This is part [4/7] of the v9fs-2.0.2 patch against Linux 2.6.13-rc2-mm2.

This part of the patch contains VFS superblock and mapping code changes
related to hch's comments.

Signed-off-by: Eric Van Hensbergen <[EMAIL PROTECTED]>


 --

 v9fs.c  |  103 +---
 v9fs.h  |   27 +++
 vfs_super.c |   45 +++---
 3 files changed, 119 insertions(+), 56 deletions(-)

 --

--- a/fs/9p/v9fs.h
+++ b/fs/9p/v9fs.h
@@ -22,6 +22,16 @@
  *
  */
 
+/* 
+  * Idpool structure provides lock and id management 
+  *
+  */
+
+struct v9fs_idpool {
+   struct semaphore lock;
+   struct idr pool;
+};
+
 /*
   * Session structure provides information for an opened session
   *
@@ -36,7 +46,6 @@ struct v9fs_session_info {
unsigned short debug;   /* debug level */
unsigned short proto;   /* protocol to use */
unsigned int afid;  /* authentication fid */
-   unsigned int timeout;   /* transport timeout in msec */
 
char *name; /* user name to mount as */
char *remotename;   /* name of remote hierarchy being mounted */
@@ -44,8 +53,8 @@ struct v9fs_session_info {
unsigned int gid;   /* default gid for legacy support */
 
/* book keeping */
-   struct idpool fidpool;  /* The FID pool for file descriptors */
-   struct idpool tidpool;  /* The TID pool for transactions ids */
+   struct v9fs_idpool fidpool; /* The FID pool for file descriptors */
+   struct v9fs_idpool tidpool; /* The TID pool for transactions ids */
 
/* transport information */
struct v9fs_transport *transport;
@@ -65,10 +74,17 @@ struct v9fs_session_info {
struct list_head mux_fcalls;
 };
 
+/* possible values of ->proto */
+enum {
+   PROTO_TCP,
+   PROTO_UNIX,
+};
+
 int v9fs_session_init(struct v9fs_session_info *, const char *, char *);
 struct v9fs_session_info *v9fs_inode2v9ses(struct inode *);
 void v9fs_session_close(struct v9fs_session_info *v9ses);
-
+int v9fs_get_idpool(struct v9fs_idpool *p);
+void v9fs_put_idpool(int id, struct v9fs_idpool *p);
 int v9fs_get_option(char *opts, char *name, char *buf, int buflen);
 long long v9fs_get_int_option(char *opts, char *name, long long dflt);
 int v9fs_parse_tcp_devname(const char *devname, char **addr, char 
**remotename);
@@ -79,10 +95,7 @@ int v9fs_parse_tcp_devname(const char *d
 #define V9FS_PORT  564
 #define V9FS_DEFUSER   "nobody"
 #define V9FS_DEFANAME  ""
-#define V9FS_TIMEOUT   6
 
 /* inital pool sizes for fids and tags */
 #define V9FS_START_FIDS 8192
 #define V9FS_START_TIDS 256
-
-#define safe_cache_free(x, y) { if(y) kmem_cache_free(x, y); }
diff --git a/fs/9p/vfs_dentry.c b/fs/9p/vfs_dentry.c
--- a/fs/9p/v9fs.c
+++ b/fs/9p/v9fs.c
@@ -29,9 +29,9 @@
 #include 
 #include 
 #include 
+#include 
 
 #include "debug.h"
-#include "idpool.h"
 #include "v9fs.h"
 #include "9p.h"
 #include "v9fs_vfs.h"
@@ -48,13 +48,8 @@ int v9fs_debug_level = 0;/* feature-rif
   */
 
 enum {
-   PROTO_TCP,
-   PROTO_UNIX,
-};
-
-enum {
/* Options that take integer arguments */
-   Opt_port, Opt_msize, Opt_uid, Opt_gid, Opt_afid, Opt_debug, Opt_timeo,
+   Opt_port, Opt_msize, Opt_uid, Opt_gid, Opt_afid, Opt_debug, 
/* String options */
Opt_name, Opt_remotename,
/* Options that take no arguments */
@@ -64,7 +59,6 @@ enum {
 };
 
 static match_table_t tokens = {
-   {Opt_timeo, "timeout=%u"},
{Opt_port, "port=%u"},
{Opt_msize, "msize=%u"},
{Opt_uid, "uid=%u"},
@@ -107,7 +101,6 @@ static void v9fs_parse_options(char *opt
v9ses->extended = 1;
v9ses->afid = ~0;
v9ses->debug = 0;
-   v9ses->timeout = V9FS_TIMEOUT;
 
if (!options)
return;
@@ -126,9 +119,6 @@ static void v9fs_parse_options(char *opt
 
}
switch (token) {
-   case Opt_timeo:
-   v9ses->timeout = option;
-   break;
case Opt_port:
v9ses->port = option;
break;
@@ -169,20 +159,6 @@ static void v9fs_parse_options(char *opt
continue;
}
}
-
-   dprintk(DEBUG_9P, "options=\n");
-   dprintk(DEBUG_9P, " debug: %x\n", v9ses->debug);
-   dprintk(DEBUG_9P, " port: %u\n", v9ses->port);
-   dprintk(DEBUG_9P, " msize: %u\n", v9ses->maxdata);
-   dprintk(DEBUG_9P, " uid: %u\n", v9ses->uid);
-   dprintk(DEBUG_9P, " gid: %u\n", v9ses->gid);
-   dprintk(DEBUG_9P, " afid: %d\n", v9ses->afid);
-   dprintk(DEBUG_9P

[PATCH 2.6.13-rc2-mm2 1/7] v9fs: Documentation, Makefiles, Configuration (2.0.2)

2005-07-14 Thread ericvh
This is part [1/7] of the v9fs-2.0.2 patch against Linux 2.6.13-rc2-mm2

This part of the patch contains Documentation, Makefiles, 
and configuration file changes related to hch's comments.

Signed-off-by: Eric Van Hensbergen <[EMAIL PROTECTED]>


 --

 fs/9p/Makefile |1 -
 1 files changed, 1 deletion(-)

 --

--- a/fs/9p/Makefile
+++ b/fs/9p/Makefile
@@ -6,7 +6,6 @@ obj-$(CONFIG_9P_FS) := 9p2000.o
vfs_file.o \
vfs_dir.o \
vfs_dentry.o \
-   idpool.o \
error.o \
mux.o \
trans_sock.o \
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 2.6.13-rc2-mm2 2/7] v9fs: VFS file, dentry, and directory operations (2.0.2)

2005-07-14 Thread ericvh
This is part [2/7] of the v9fs-2.0.2 patch against Linux 2.6.13-rc2-mm2

This part of the patch contains the VFS file, dentry, & directory interface
changes related to hch's comments.

Signed-off-by: Eric Van Hensbergen <[EMAIL PROTECTED]>


 --

 fs/9p/vfs_file.c   |   35 +++
 fs/9p/vfs_dentry.c |   21 +++--
 fs/9p/vfs_dir.c|   21 +++--
 3 files changed, 13 insertions(+), 64 deletions(-)

 --

--- a/fs/9p/vfs_dir.c
+++ b/fs/9p/vfs_dir.c
@@ -32,9 +32,9 @@
 #include 
 #include 
 #include 
+#include 
 
 #include "debug.h"
-#include "idpool.h"
 #include "v9fs.h"
 #include "9p.h"
 #include "v9fs_vfs.h"
@@ -82,12 +82,7 @@ static int v9fs_dir_readdir(struct file 
 
dprintk(DEBUG_VFS, "name %s\n", filp->f_dentry->d_name.name);
 
-   if (!file)
-   return -EBADF;
-
fid = file->fid;
-   if (fid < 0)
-   return -EBADF;
 
mi = kmalloc(v9ses->maxdata, GFP_KERNEL);
if (!mi)
@@ -194,13 +189,6 @@ int v9fs_dir_release(struct inode *inode
struct v9fs_fid *fid = filp->private_data;
int fidnum = -1;
 
-   if (!fid) {
-   dprintk(DEBUG_ERROR,
-   "can't happen: no private data (ino %lu) (filp %p)\n",
-   inode->i_ino, filp);
-   return -EBADF;
-   }
-
dprintk(DEBUG_VFS, "inode: %p filp: %p fid: %d\n", inode, filp,
fid->fid);
fidnum = fid->fid;
@@ -220,11 +208,8 @@ int v9fs_dir_release(struct inode *inode
v9fs_put_idpool(fid->fid, &v9ses->fidpool);
}
 
-   if (fid->rdir_fcall) {
-   kfree(fid->rdir_fcall);
-   fid->rdir_fcall = NULL;
-   }
-
+   kfree(fid->rdir_fcall);
+   
filp->private_data = NULL;
v9fs_fid_destroy(fid);
}
diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c
--- a/fs/9p/vfs_file.c
+++ b/fs/9p/vfs_file.c
@@ -35,9 +35,9 @@
 #include 
 #include 
 #include 
+#include 
 
 #include "debug.h"
-#include "idpool.h"
 #include "v9fs.h"
 #include "9p.h"
 #include "v9fs_vfs.h"
@@ -165,13 +165,11 @@ int v9fs_file_open(struct inode *inode, 
kfree(fcall);
}
 
-   if (file) {
-   file->private_data = v9fid;
 
-   v9fid->rdir_pos = 0;
-   v9fid->rdir_fcall = NULL;
-   }
+   file->private_data = v9fid;
 
+   v9fid->rdir_pos = 0;
+   v9fid->rdir_fcall = NULL;
v9fid->fidopen = 1;
v9fid->filp = file;
v9fid->iounit = iounit;
@@ -194,8 +192,6 @@ static int v9fs_file_lock(struct file *f
struct inode *inode = filp->f_dentry->d_inode;
 
dprintk(DEBUG_VFS, "filp: %p lock: %p\n", filp, fl);
-   if (!inode)
-   return -EINVAL;
 
/* No mandatory locks */
if ((inode->i_mode & (S_ISGID | S_IXGRP)) == S_ISGID)
@@ -383,9 +379,10 @@ v9fs_file_write(struct file *filp, const
return -ENOMEM;
 
ret = copy_from_user(buffer, data, count);
-   if (ret)
+   if (ret) {
dprintk(DEBUG_ERROR, "Problem copying from user\n");
-   else
+   return -EFAULT;
+   } else
ret = v9fs_write(filp, buffer, count, offset);
 
kfree(buffer);
@@ -393,28 +390,10 @@ v9fs_file_write(struct file *filp, const
return ret;
 }
 
-/**
- * v9fs_file_mmap - initiate an mmap on a file
- *
- * @filep - file pointer to write
- * @vmarea - vm area struct
- *
- * v9fs doesn't support this right now in mainline branch
- *
- */
-
-static int v9fs_file_mmap(struct file *filp, struct vm_area_struct *vm)
-{
-   dprintk(DEBUG_VFS, " filp: %p - NOT IMPLEMENTED\n", filp);
-
-   return -ENOSYS;
-}
-
 struct file_operations v9fs_file_operations = {
.llseek = generic_file_llseek,
.read = v9fs_file_read,
.write = v9fs_file_write,
-   .mmap = v9fs_file_mmap,
.open = v9fs_file_open,
.release = v9fs_dir_release,
.lock = v9fs_file_lock,
diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c
--- a/fs/9p/vfs_dentry.c
+++ b/fs/9p/vfs_dentry.c
@@ -34,9 +34,9 @@
 #include 
 #include 
 #include 
+#include 
 
 #include "debug.h"
-#include "idpool.h"
 #include "v9fs.h"
 #include "9p.h"
 #include "v9fs_vfs.h"
@@ -88,18 +88,6 @@ static int v9fs_dentry_validate(struct d
 }
 
 /**
- * v9fs_dentry_delete - called when dentry refcount reaches 0
- * @dentry:  dentry that is being deleted
- *
- */
-
-static int v9fs_dentry_delete(struct dentry *dentry)
-{
-   dprintk

[PATCH 2.6.13-rc2-mm2 0/7] v9fs: Changes in response to hch comments (2.0.2)

2005-07-14 Thread ericvh
This is part [0/7] of the v9fs-2.0.2 patch against Linux 2.6.13-rc2-mm2.

The changes in this patch-set are primarily motivated by comments from
Chistoph Hellwig (hch):

"there's a few issues with the code still I'd like to see fixed: 
 - there's three sparse warnings still.  Two of them are easily fixed
   by moving externs to headers, one doesn't look fixable until we get
   a sane in-kernel api for socket operations
 - some dentry handling looks rather odd.  Why are you for example
   calling d_drop in v9fs_vfs_symlink, v9fs_vfs_mknod and v9fs_vfs_link?
   Shouldn't all these call d_instantatiate to actually reuse the
   dentry as in v9fs_vfs_create?  Also what's the issue with
   v9fs_fid_insert?  It would seem better and more logical to me to
   always set d_fsdata in create/mknod/symlink/open before hashing it
   and then beeing able to rely on it beeing non-NULL.
 - buf_check_sizep, buf_check_size and buf_check_sizev should be made
   inlines, and lose the implict return.  Please don't hide such
   things in macros
 - please avoid using hlist_for_each, usually hlist_for_each_entry is
   a much better choice
 - dito for list_for_each_safe vs list_for_each_entry_safe
 - can you please check whether lib/idr.c fullfills your needs so we
   can get rid of idpool.c?
 - v9fs_inode2v9ses has lots of useless checks, inode->i_sb can never
   be NULL, and inode->i_sb->s_fs_info can't be either once set in
   fill_inode, which is before the first inode on the filesystem is
   created.  Also the argument is never NULL.  Because of that you
   can also kill all the return value checks in the callers.
 - do you really need to keep v9fs_dentry_delete just for the dprintk?
 - no need to check for a NULL file in v9fs_dir_readdir, the VFS gurantees
   it's not.  And if it was you'd better be off panic because something
   is enormously fscked.
 - Dito for v9fs_file_open
 - And the inode in v9fs_file_lock
 - And dir, file, file->d_inode, sb, v9ses in v9fs_remove.
 - And dir, sb and v9ses in v9fs_vfs_lookup
 - And dir, sb and v9ses in v9fs_vfs_symlink
 - And dir, sb and v9ses in v9fs_vfs_link
 - And dir, sb and v9ses in v9fs_vfs_mknod
 - copy_from_user returns the bytes actually copied in the failure case,
   but you should return -EFAULT instead of that number in v9fs_file_write
 - No need to implement v9fs_file_mmap, do_mmap_pgoff makes sure to error
   out if it's not present (and actually returns the correct errno)
 - I think it's pretty similar for all these checks for fid (=private_data)
   checks.  You always set them in open, so they can't be NULL
 - kfree can be called with a NULL argument just fine, you can remove
   lots of ifs for that. You also often set pointers to NULL just before
   freeing a structure - that's pretty useless as slab debugging will
   catch bugs with stary references very well, and overwrites these NULLs
   ASAP.
 - The call to ->put_inode in the error case of v9fs_get_inode is very
   wrong.  You'd actually panic if you ever hit this as v9fs doesn't
   implement a ->put_inode :-)
 - All the ISDIR checks in v9fs_remove can go, VFS makes sure to only
   call ->remove and ->rmdir on directories, and only the right one
   for each kind of child.
 - Please try to use generic_readlink instead of your own
   v9fs_vfs_readlink, as you're implemting ->follow_link and ->put_link
   that should just work
 - the last error case in v9fs_get_sb needs a dput on ->s_root"

Signed-off-by: Eric Van Hensbergen

---
commit c3ec873681d43c48a335c802cc7113e8fb763732
tree fe4e81f965c974b31d832dbae3d81391df9ca792
parent 4a0c531abb39dadce4837a8e9c29ae013fd8b4c5
author Eric Van Hensbergen <[EMAIL PROTECTED]> Thu, 14 Jul 2005 11:21:33 -0500
committer Eric Van Hensbergen <[EMAIL PROTECTED]> Thu, 14 Jul 2005 11:21:33 
-0500

 fs/9p/9p.c |2 -
 fs/9p/Makefile |1 
 fs/9p/conv.c   |   54 ++
 fs/9p/error.c  |3 -
 fs/9p/error.h  |3 +
 fs/9p/fid.c|   14 +++--
 fs/9p/idpool.c |  152 
 fs/9p/idpool.h |   42 --
 fs/9p/mux.c|   44 +--
 fs/9p/trans_sock.c |2 -
 fs/9p/v9fs.c   |  103 ---
 fs/9p/v9fs.h   |   27 +++--
 fs/9p/vfs_dentry.c |   21 +--
 fs/9p/vfs_dir.c|   21 +--
 fs/9p/vfs_file.c   |   35 ++--
 fs/9p/vfs_inode.c  |   69 ++--
 fs/9p/vfs_super.c  |   45 ++-
 17 files changed, 188 insertions(+), 450 deletions(-)

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


Re: 2.6.13-rc2-mm2

2005-07-14 Thread David Vrabel
Chuck Ebbert wrote:
>Looks like Quilt is adding the space during push/pop operations.  Only the
> lines it has touched in the series file have the trailing space.

Quilt versions prior to 0.39 would add a trailing space to the series
file entry when doing a quilt refresh with the default -p1 patch level.

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


Re: 2.6.13-rc2-mm2

2005-07-14 Thread Johannes Stezenbach
On Wed, Jul 13, 2005 at 05:29:32PM -0400, Chuck Ebbert wrote:
> On Wed, 13 Jul 2005 at 00:23:42 -0700, Andrew Morton wrote:
> 
> >>...and BTW why does every line in the series file have a trailing space?
> >
> > Not in my copy of
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc2/2.6.13-rc2-mm2/patch-series
> > ?
> 
> 
>   Looks like Quilt is adding the space during push/pop operations.  Only the
> lines it has touched in the series file have the trailing space.

Nope. For me quilt leaves a trailing space if I add patches with -p0
to the series file and then do a "quilt refresh -p1".

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


Re: 2.6.13-rc2-mm2

2005-07-13 Thread Matthias Urlichs
Hi, Andrew Morton wrote:

> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc2/2.6.13-rc2-mm2/

Also available as a GIT archive (once the mirror has mirrored):
http://www.kernel.org/pub/scm/linux/kernel/git/smurf/v2.6.13-rc2-mm2.git/

Suggestions for improvements welcome.

-- 
Matthias Urlichs   |   {M:U} IT Design @ m-u-it.de   |  [EMAIL PROTECTED]
Disclaimer: The quote was selected randomly. Really. | http://smurf.noris.de
 - -
Doctors and lawyers must go to school for years and years, often with
little sleep and with great sacrifice to their first wives.
-- Roy G. Blount, Jr.


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


2.6.13-rc2-mm2 slab.c problem. Fails to boot.

2005-07-13 Thread James Courtier-Dutton

I have a problem with slab.c where it fails to boot the kernel.
The first call to kmem_cache_create():about line 1063: using the
INDEX_AC parameter succeeds and exits via the kcc:left_over route.
The second call to kmem_cache_create():about line 1069: using the
INDEX_L3 parameter fails and exits via the kcc:break_flag route.

On a PC that manages to boot, the exit route in both cases is
"kcc:left_over".

Please see below where I have added printk statements for
"kcc:left_over" and "kcc:break_flag" etc.
See attached .config file for kernel config.
This succeeds in booting on one of my machines, but not the other.
On the other I am netbooting linux.
Main line kernels 2.6.12 etc. all boot correctly on the netbooting linux.

This slab.c code looks rather complicated to me, so I was hoping that
someone else could help me out a bit.


Extract from about line 1651 of mm/slab.c

/*
 * Calculate size (in pages) of slabs, and the num of
objs per
 * slab.  This could be made much more intelligent.  For
now,
 * try to avoid using high page-orders for slabs.  When the
 * gfp() funcs are more friendly towards high-order
requests,
 * this should be changed.
 */
do {
unsigned int break_flag = 0;
cal_wastage:
cache_estimate(cachep->gfporder, size, align, flags,
&left_over, &cachep->num);
if (break_flag) {
printk("kcc:break_flag\n");
break;
}
if (cachep->gfporder >= MAX_GFP_ORDER) {
printk("kcc:GFP_ORDER\n");
break;
}
if (!cachep->num)
goto next;
if (flags & CFLGS_OFF_SLAB &&
cachep->num > offslab_limit) {
/* This num of objs will cause problems. */
cachep->gfporder--;
break_flag++;
goto cal_wastage;
}
/*
 * Large num of objs is good, but v. large slabs are
 * currently bad for the gfp()s.
 */
if (cachep->gfporder >= slab_break_gfp_order) {
printk("kcc:slab_break_gfp_order\n");
break;
}

if ((left_over*8) <=
(PAGE_SIZE<gfporder)) {
printk("kcc:left_over\n");
break;  /* Acceptable internal
fragmentation. */
}
next:
cachep->gfporder++;
} while (1);
}

if (!cachep->num) {
printk("kmem_cache_create: couldn't create cache %s.\n",
name);
kmem_cache_free(&cache_cache, cachep);
        cachep = NULL;
goto opps;
}

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.13-rc2-mm2
# Wed Jul 13 23:08:18 2005
#
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32

#
# General setup
#
CONFIG_LOCALVERSION=""
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_HOTPLUG=y
CONFIG_KOBJECT_UEVENT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_CPUSETS is not set
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_OBSOLETE_MODPARM=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y

#
# Processor type and features
#
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
# CONFI

Re: 2.6.13-rc2-mm2

2005-07-13 Thread Chuck Ebbert
On Wed, 13 Jul 2005 at 00:23:42 -0700, Andrew Morton wrote:

>>...and BTW why does every line in the series file have a trailing space?
>
> Not in my copy of
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc2/2.6.13-rc2-mm2/patch-series
> ?


  Looks like Quilt is adding the space during push/pop operations.  Only the
lines it has touched in the series file have the trailing space.


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


Re: 2.6.13-rc2-mm2 -- include/linux/mtd/xip.h:68:25: error: asm/mtd-xip.h: No such file or directory

2005-07-13 Thread David Woodhouse
On Wed, 2005-07-13 at 12:34 -0700, Andrew Morton wrote:
> I assume MTD_CFI should depend on ARM?

I believe it already does, in the git tree. Thomas asked Linus to pull
from that only about an hour ago.

-- 
dwmw2

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


Re: 2.6.13-rc2-mm2 -- include/linux/mtd/xip.h:68:25: error: asm/mtd-xip.h: No such file or directory

2005-07-13 Thread Andrew Morton
Miles Lane <[EMAIL PROTECTED]> wrote:
>
> In file included from drivers/mtd/chips/cfi_probe.c:18:
> include/linux/mtd/xip.h:68:25: error: asm/mtd-xip.h: No such file or directory


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


Re: 2.6.13-rc2-mm2 -- include/linux/mtd/xip.h:68:25: error: asm/mtd-xip.h: No such file or directory

2005-07-13 Thread Thomas Gleixner
On Wed, 2005-07-13 at 20:46 +0100, David Woodhouse wrote:
> On Wed, 2005-07-13 at 12:34 -0700, Andrew Morton wrote:
> > I assume MTD_CFI should depend on ARM?
> 
> I believe it already does, in the git tree. Thomas asked Linus to pull
> from that only about an hour ago.

Linus has pulled already

tglx



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


2.6.13-rc2-mm2 -- include/linux/mtd/xip.h:68:25: error: asm/mtd-xip.h: No such file or directory

2005-07-13 Thread Miles Lane
In file included from drivers/mtd/chips/cfi_probe.c:18:
include/linux/mtd/xip.h:68:25: error: asm/mtd-xip.h: No such file or directory
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.13-rc2-mm2

2005-07-13 Thread Felipe Alfaro Solana
> What's your device-mapper/lvm configuration and what 'lvm' command
> did you run to trigger this?

Nothing special... it happens while booting Fedora Core 4.

>   'dmsetup info -c'
>   'dmsetup table'
>   'lvs --segments -o+devices -a'

# cat /etc/fstab
/dev/VolGroup00/Root/   ext3defaults1 1
/dev/VolGroup00/Home/home   ext3nodev   1 2
/dev/VolGroup00/Swap none   swapdefaults0 0

# dmsetup info -c
Name Maj Min Stat Open Targ Event  UUID
VolGroup00-Home  253   2 L--w11  0
pooZ0kfkAXH04Jai0ih2M1YtE1FNgI2xdn8wPAEh3ROBTzYw6gG7qEnYMDn5hfeR
VolGroup00-Swap  253   1 L--w11  0
pooZ0kfkAXH04Jai0ih2M1YtE1FNgI2x1ITYve4bdfV53jjNMWTa3w24BBFFLI3t
VolGroup00-Root  253   0 L--w11  0
pooZ0kfkAXH04Jai0ih2M1YtE1FNgI2x7HHDn3Iw4wxcQNBHO0gEDMoe7Nta2xv0

# dmsetup table
VolGroup00-Home: 0 190414848 linear 3:2 42008960
VolGroup00-Swap: 0 1048576 linear 3:2 40960384
VolGroup00-Root: 0 4096 linear 3:2 384

# lvs --segments -o+devices -a
  LV   VG Attr   #Str Type   SSize   Devices 
  Home VolGroup00 -wi-ao1 linear  90.80G /dev/hda2(5128) 
  Root VolGroup00 -wi-ao1 linear  19.53G /dev/hda2(0)
  Swap VolGroup00 -wi-ao1 linear 512.00M /dev/hda2(5000)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.13-rc2-mm2

2005-07-13 Thread Andrew Morton
Chuck Ebbert <[EMAIL PROTECTED]> wrote:
>
>   Quilt docs only say lines beginning with "#" are ignored, nothing about it
>  after a patch name.

I think that got fixed in quilt CVS a couple of weeks ago

>...and BTW why does every line in the series file have a trailing space?

Not in my copy of
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc2/2.6.13-rc2-mm2/patch-series
?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.13-rc2-mm2

2005-07-13 Thread Chuck Ebbert
On Tue, 12 Jul 2005 at 17:41:00 -0700, Andrew Morton wrote:

> The patch was empty.  That happens sometimes.  I like to be able to apply
> empty patches, but yes, perhaps that should require -f.
> 
> Either drop the patch of use -f.

  OK, those are easy enough to comment out but I thought the broken-out
tar file would be cleaner than that.


> I fix up the offset errors relatively infrequently, and they all come back
> very soon.

  While playing with this cleanup script:

===
#! /bin/bash

[ -f patches/series ]  ||  exit 1

echo $"Refreshing all patches in series..."
quilt pop -a

cat patches/series  |  while read line
do
lineno=$[$lineno+1]
if [ -z "$line" ]  ||  [ "${line:0:1}" == "#" ]
then
continue
fi

echo ""
quilt push $line

if [ $? != 0 ]
then
echo -e $"\nError at line" $lineno ":"
echo -e $line
break
fi

quilt refresh
done
===


  I found:

===
Usage: quilt push [-afqv] [--leave-rejects] [num|patch]

Error at line 308 :
x86-x86_64-deferred-handling-of-writes-to-proc-irq-xx-smp_affinitypatch-added-to-mm-tree.patch
 # ak no likee
===


  I thought this was an isolated instance and fixed it up, then found:

x86-64-ptrace-ia32-bp-fix.patch # ak no likee

This breaks quilt when you try to push patches by name:

===============
[EMAIL PROTECTED] 2.6.13-rc2-mm2]$ quilt push x86-64-ptrace-ia32-bp-fix.patch
Applying x86-64-ptrace-ia32-bp-fix.patch
patch: no: extra operand
patch: Try `/usr/bin/patch --help' for more information.
Patch x86-64-ptrace-ia32-bp-fix.patch does not apply (enforce with -f)
===


  Quilt docs only say lines beginning with "#" are ignored, nothing about it
after a patch name.

  ...and BTW why does every line in the series file have a trailing space?

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


Re: 2.6.13-rc2-mm2

2005-07-12 Thread Andrew Morton
Chuck Ebbert <[EMAIL PROTECTED]> wrote:
>
> 
> I downloaded 2.6.13-rc2-mm2-broken-out.tar.bz2 and verified the signature.
> 
> Then I untarred it and moved it to the patches/ dir.
> 
> Output of 'quilt push -a' ends with:
> 
> Applying git-netdev-janitor-fixup.patch
> patch:  Only garbage was found in the patch input.
> Patch git-netdev-janitor-fixup.patch does not apply (enforce with -f)

The patch was empty.  That happens sometimes.  I like to be able to apply
empty patches, but yes, perhaps that should require -f.

Either drop the patch of use -f.

>
> There were also a slew of patches that applied with offset errors before that.

I fix up the offset errors relatively infrequently, and they all come back
very soon.

> Is the broken-out tarfile supposed to be usable like this?

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


Re: 2.6.13-rc2-mm2

2005-07-12 Thread Chuck Ebbert

I downloaded 2.6.13-rc2-mm2-broken-out.tar.bz2 and verified the signature.

Then I untarred it and moved it to the patches/ dir.

Output of 'quilt push -a' ends with:

Applying git-netdev-janitor-fixup.patch
patch:  Only garbage was found in the patch input.
Patch git-netdev-janitor-fixup.patch does not apply (enforce with -f)


There were also a slew of patches that applied with offset errors before that.

Is the broken-out tarfile supposed to be usable like this?


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


Re: 2.6.13-rc2-mm2 : oops in dm_mod

2005-07-12 Thread Andrew Morton
Alasdair G Kergon <[EMAIL PROTECTED]> wrote:
>
> I'm downloading -mm2 as I write this to check, but I can't
>  spot the part of the patch that updates dm-table.c to read:
> 
>  void dm_table_presuspend_targets(struct dm_table *t)
>  {
>  if (!t)
>  return;
> 
>  return suspend_targets(t, 0);
>  }
>   
>
>  void dm_table_postsuspend_targets(struct dm_table *t)
>  {
>  if (!t)
>  return;
>   
>
>  return suspend_targets(t, 1);
>  }

There's no patch in -mm which adds those tests of `t'.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


linux-2.6.13-rc2-mm2: kconfig: warning: defaults for choice values not supported

2005-07-12 Thread Grant Coady
Hi there,

Lately in 2.6.13-rc* I've noticed a warning pop up:

[EMAIL PROTECTED]:/usr/src/linux-2.6.13-rc2-mm2a$ make menuconfig
...
scripts/kconfig/mconf arch/i386/Kconfig
net/ipv4/Kconfig:92:warning: defaults for choice values not supported  <<== ??
#
# using defaults found in .config
#
 Linux Kernel v2.6.13-rc2-mm2 Configuration
 
--
  +-- Linux Kernel Configuration 
---+
- - -
# If the user does not enable advanced routing, he gets the safe
# default of the fib-hash algorithm.
config IP_FIB_HASH
bool
depends on !IP_ADVANCED_ROUTER
default y<<== line 92 in net/ipv4/Kconfig

config IP_MULTIPLE_TABLES
bool "IP: policy routing"
depends on IP_ADVANCED_ROUTER
- - -

'make oldconfig' and 'make defconfig' report same warning.

Thanks,
--Grant.

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


Re: 2.6.13-rc2-mm2 : oops in dm_mod

2005-07-12 Thread Alasdair G Kergon
On Tue, Jul 12, 2005 at 08:52:39PM +0200, Laurent Riffard wrote:
> I just got this oops.
 
> EIP is at suspend_targets+0x8/0x42 [dm_mod]

I fear the empty patch the script gave me yesterday wasn't meant 
to be empty...  [Yes, I'm going to switch to quilt just as soon as 
I can make time to convert everything.]

I'm downloading -mm2 as I write this to check, but I can't
spot the part of the patch that updates dm-table.c to read:

void dm_table_presuspend_targets(struct dm_table *t)
{
if (!t)
return;

return suspend_targets(t, 0);
}

void dm_table_postsuspend_targets(struct dm_table *t)
{
if (!t)
return;

return suspend_targets(t, 1);
}

Alasdair

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


Re: 2.6.13-rc2-mm2 : oops in dm_mod

2005-07-12 Thread Mike Anderson
Laurent Riffard [EMAIL PROTECTED] wrote:
> device-mapper: 4.4.0-ioctl (2005-01-12) initialised: [EMAIL PROTECTED]
> Unable to handle kernel NULL pointer dereference at virtual address 0094
>  printing eip:
> d08612ec
> *pde = 
> Oops:  [#1]
> last sysfs file:
> Modules linked in: dm_mod joydev usbhid uhci_hcd usbcore video hotkey configfs
> CPU:0
> EIP:0060:[]Not tainted VLI
> EFLAGS: 00010246   (2.6.13-rc2-mm2)
> EIP is at suspend_targets+0x8/0x42 [dm_mod]
> eax:    ebx: cf764340   ecx:    edx: 
> esi:    edi:    ebp: cf06bec4   esp: cf06beb8
> ds: 007b   es: 007b   ss: 0068
> Process lvm2 (pid: 1532, threadinfo=cf06a000 task=cfa3e520)
> Stack: cf764340  ffea cf06becc d0861330 cf06bf20 d085ff99 
>cfa3e520 c0114664      
>cfa3e520 c0114664    cf06bf20 d0861e0f cf615aa0
> Call Trace:
>  [] show_stack+0x76/0x7e
>  [] show_registers+0xea/0x152
>  [] die+0xc2/0x13c
>  [] do_page_fault+0x394/0x4d4
>  [] error_code+0x4f/0x54
>  [] dm_table_presuspend_targets+0xa/0xc [dm_mod]
>  [] dm_suspend+0x79/0x1a3 [dm_mod]
>  [] do_resume+0xee/0x173 [dm_mod]

I am also receiving a similar oops in a call to suspend_targets on
bootup.

Alasdiar,
Based on your previous patch
http://marc.theaimsgroup.com/?l=linux-kernel&m=112112298922766&w=2

How is suspend_targets suppose to protect against the NULL value now being
passed in. or is something else going on here?


-andmike
--
Michael Anderson
[EMAIL PROTECTED]

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


Re: 2.6.13-rc2-mm2

2005-07-12 Thread Alasdair G Kergon
On Tue, Jul 12, 2005 at 08:16:14PM +0200, Felipe Alfaro Solana wrote:
> I'm seeing this oops with 2.6.13-rc2-mm2:
 
> EIP is at suspend_targets+0x6/0x47 [dm_mod]

> Doesn't happen with 2.6.13-rc2-mm1, however.

What's your device-mapper/lvm configuration and what 'lvm' command
did you run to trigger this?

  'dmsetup info -c'
  'dmsetup table'
  'lvs --segments -o+devices -a'

Alasdair

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


Re: 2.6.13-rc2-mm2

2005-07-12 Thread Felipe Alfaro Solana
> Changes since 2.6.13-rc2-mm1:

I'm seeing this oops with 2.6.13-rc2-mm2:

*pde 
Oops:  [#1]
last sysfs file:
Modules linked in: dm_snapshot dm_mirror ext3 mbcache jbd dm_mod
CPU:0
EIP:0060:[]Not tainted VLI
EFLAGS: 00010246   (2.6.13-rc2mm2)
EIP is at suspend_targets+0x6/0x47 [dm_mod]
eax:    ebx: dfdee400   ecx: e0827108   edx: 
esi: dfdee400   edi: c162   ebp:    esp: c1621efc
ds: 007b   es: 007b   ss:0068
Process lvm (pid: 236, threadinfo=c162 task=dfee1a70)
Stack: dfdee400 dfdee400 c162  e081d15b   dfee1a70
   c0115680   dfded680 dfdee400 e0826bc0 e082c000 e08201f0
    dfded680 c162  0006 e082023d e08211b8 0001
Call Trace:
 [] dm_suspend+0x89/0x185 [dm_mod]
 [] default_wake_function+0x0/0xc
 [] do_resume+0x149/0x196 [dm_mod]
 [] dev_suspend+0x0/0x10 [dm_mod]
 [] ctl_ioctl+0xce/0x10a [dm_mod]
 [] ctl_ioctl+0x0/0x10a [dm_mod]
 [] do_ioctl+0x51/0x55
 [] vfs_ioctl+0x50/0x1aa
 [] sys_ioctl+0x5d/0x6b
 [] syscall_call+0x7/0xb
Code: 00 00 8b 83 b0 00 00 00 89 86 4c 01 00 00 5b 5e c3 8b 80 88 00
00 00 c3 05 9c 00 00 00 c3 8b 80 98 00 00 00 c3 44 57 56 53 89 d5 <8b>
b8 88 00 00 00 8b 98 94 00 00 00 85 ff 74 1e 31 f6 85 ed 74
 ERROR: /bin/lvm exited abnormally with value 0 ! (pid 236)

Doesn't happen with 2.6.13-rc2-mm1, however.
Any ideas?


config-2.6.13-rc2mm2
Description: Binary data


Re: 2.6.13-rc2-mm2

2005-07-12 Thread Adrian Bunk
On Tue, Jul 12, 2005 at 01:01:48PM +0100, David Woodhouse wrote:
> On Tue, 2005-07-12 at 13:05 +0200, Adrian Bunk wrote:
> > Although it's not mentioned in the changelog, it seems the MTD GIT
> > tree was dropped.
> > 
> > I noticed this because a compile error that was fixed in -mm1 is back.
> 
> What error? The MTD GIT tree is presumably absent from -mm because it
> was pulled into Linus' tree last night.

<--  snip  -->

...
  CC  drivers/mtd/chips/cfi_probe.o
In file included from drivers/mtd/chips/cfi_probe.c:18:
include/linux/mtd/xip.h:68:25: error: asm/mtd-xip.h: No such file or directory
include/linux/mtd/xip.h:72:2: warning: #warning "missing IRQ and timer 
primitives for XIP MTD support"
include/linux/mtd/xip.h:73:2: warning: #warning "some of the XIP MTD support 
code will be disabled"
include/linux/mtd/xip.h:74:2: warning: #warning "your system will therefore be 
unresponsive when writing or erasing flash"
{standard input}: Assembler messages:
{standard input}:5: Warning: ignoring changed section attributes for .data
make[3]: *** [drivers/mtd/chips/cfi_probe.o] Error 1
...

<--  snip  -->

> dwmw2

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed

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


Re: 2.6.13-rc2-mm2

2005-07-12 Thread David Woodhouse
On Tue, 2005-07-12 at 13:05 +0200, Adrian Bunk wrote:
> Although it's not mentioned in the changelog, it seems the MTD GIT
> tree was dropped.
> 
> I noticed this because a compile error that was fixed in -mm1 is back.

What error? The MTD GIT tree is presumably absent from -mm because it
was pulled into Linus' tree last night.

-- 
dwmw2

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


Re: 2.6.13-rc2-mm2

2005-07-12 Thread Adrian Bunk
Although it's not mentioned in the changelog, it seems the MTD GIT tree 
was dropped.

I noticed this because a compile error that was fixed in -mm1 is back.

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed

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


2.6.13-rc2-mm2

2005-07-12 Thread Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc2/2.6.13-rc2-mm2/

(And at http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.13-rc2-mm2.gz -
kenrel.org mirroring is being slow again)


- MM updates

- More video4linux updates

- Infiniband feature work


Changes since 2.6.13-rc2-mm1:


-uml-kill-some-useless-vmalloc-tlb-flushing.patch
-iounmap-debugging.patch
-i2o-config-osm-build-fix.patch
-print-kbd-and-aux-irqs-correctly.patch
-i8042-x86ia64-printk-fixes.patch
-ocfs2-avoid-lookup_hash-usage-in-configfs.patch
-dpt_i2o-warning-fix.patch
-aic79xx-ahd_linux_dev_reset-cleanup.patch
-print-order-information-when-oom-killing.patch
-print-order-information-when-oom-killing-fix.patch
-remove-completly-bogus-comment-inside-__alloc_pages-try_to_free_pages-handling.patch
-quieten-oom-killer-noise.patch
-build-tags-problem-with-o=.patch
-kbuild-build-a-single-module-using-make-dir-moduleko.patch
-ppc64-add-new-phy-to-sungem.patch
-ppc64-vdso32-fix-link-errors-after-recent-toolchain-changes.patch
-ppc64-use-c99-initialisers-in-cputable-code.patch
-ppc64-fix-runlatch-code-to-work-on-pseries-machines.patch
-ppc64-turn-runlatch-on-in-exception-entry.patch
-move-ioprio-syscalls-into-syscallsh.patch
-ppc64-sys_ppc32c-cleanups.patch
-ppc64-add-ioprio-syscalls.patch
-ppc64-remove-duplicate-syscall-reservation.patch
-hvc_console-rearrange-code.patch
-hvc_console-match-vio-and-console-devices-using-vterm-numbers.patch
-hvc_console-dont-always-kick-the-poll-thread-in-interrupt.patch
-hvc_console-magic_sysrq-should-only-be-on-console-channel.patch
-hvc_console-unregister-the-console-in-the-exit-routine.patch
-hvc_console-add-missing-include.patch
-hvc_console-remove-num_vterms-and-some-dead-code.patch
-hvc_console-statically-initialize-the-vtermnos-array.patch
-hvc_console-add-some-sanity-checks.patch
-hvc_console-separate-hvc_console-and-vio-code.patch
-hvc_console-separate-hvc_console-and-vio-code-2.patch
-hvc_console-register-ops-when-setting-up-hvc_console.patch
-hvc_console-separate-the-nul-character-filtering-from-get_hvc_chars.patch
-hvc_console-use-hvc_get_chars-in-hvsi-code.patch
-ppc64-make-idle_loop-a-ppc_md-function.patch
-ppc64-move-iseries_idle-into-iseries_setupc.patch
-ppc64-move-pseries-idle-functions-into-pseries_setupc.patch
-ppc64-fixup-platforms-for-new-ppc_mdidle.patch
-ppc64-remove-obsolete-idle_setup.patch
-ppc64-iseries-idle-fixups.patch
-ppc64-pseries-idle-fixups.patch
-ppc64-idle-fixups.patch
-ppc64-fix-compile-warning.patch
-ppc64-be-consistent-about-printing-which-idle-loop-were-using.patch
-ppc64-silence-perfmon-exception-warnings.patch
-frv-add-defconfig.patch
-mtrr-suspend-resume-cleanup.patch
-clean-up-numa-defines-in-mmzoneh.patch
-fix-up-non-numa-breakage-in-mmzoneh.patch
-pm-more-u32-vs-pm_message_t-fixes.patch
-pm-fix-u32-vs-pm_message_t-confusion-in-cpufreq.patch
-fix-resume-from-initrd.patch
-swsusp-fix-error-handling.patch
-clean-up-processc.patch
-uml-skas0-separate-kernel-address-space-on-stock-hosts.patch
-uml-proper-clone-support-for-skas0.patch
-uml-restore-hppfs-support.patch
-uml-remove-winch-sem.patch
-xtensa-remove-old-syscalls.patch
-tty-output-lossage-fix.patch
-page_uptodate-locking-scalability.patch
-page_uptodate-locking-scalability-fix.patch
-acl-kconfig-cleanup.patch
-propagate-__nocast-annotations.patch
-mostly_read-data-section.patch
-dont-write-to-the-in-inode-xattr-space-of-reserved-inodes.patch
-put_compat_shminfo-warning-fix.patch
-autofs4-mistake-in-debug-print.patch
-keys-base-keyring-size-on-key-pointer-not-key-struct.patch
-cond_resched-fix-bogus-might_sleep-warning.patch
-coverity-fbsysfs-fix-null-pointer-check.patch
-coverity-fs-locks-flp-null-check.patch
-coverity-sunrpc-xprt-task-null-check.patch
-alpha-pgprot_noncached.patch
-ib-uverbs-core-api-extensions.patch
-ib-uverbs-update-kernel-midlayer-for-new-api.patch
-ib-uverbs-update-mthca-for-new-api.patch
-ib-uverbs-add-user-verbs-abi-header.patch
-ib-uverbs-core-implementation.patch
-ib-uverbs-core-implementation-fix.patch
-ib-uverbs-memory-pinning-implementation.patch
-ib-uverbs-hook-up-kconfig-makefile.patch
-ib-uverbs-add-mthca-abi-header.patch
-ib-uverbs-add-mthca-user-doorbell-record-support.patch
-ib-uverbs-add-mthca-user-context-support.patch
-ib-uverbs-add-mthca-mmap-support.patch
-ib-uverbs-add-mthca-mmap-support-fix.patch
-ib-uverbs-add-mthca-mmap-support-fix-2.patch
-ib-uverbs-add-mthca-user-pd-support.patch
-ib-uverbs-add-mthca-user-mr-support.patch
-ib-uverbs-add-mthca-user-cq-support.patch
-ib-uverbs-add-mthca-user-qp-support.patch
-ib-uverbs-add-documentation-file.patch
-namespacec-fix-mnt_namespace-clearing.patch
-namespacec-fix-race-in-mark_mounts_for_expiry.patch
-namespacec-cleanup-in-mark_mounts_for_expiry.patch
-namespacec-split-mark_mounts_for_expiry.patch
-namespacec-fix-expiring-of-detached-mount.patch
-namespacec-fix-mnt_namespace-zeroing-for-expired-mounts.patch
-set-mnt_namespace-in-the-correct-place.patch
-dcookiesc-use-proper-refcounting-functions.patch