]> err.no Git - linux-2.6/commitdiff
NFSv4: Improve the debugging of bad sequence id errors...
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Sun, 8 Jul 2007 20:49:11 +0000 (16:49 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Wed, 11 Jul 2007 03:40:42 +0000 (23:40 -0400)
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/nfs4proc.c
fs/nfs/nfs4state.c

index 128fe23d3f1ed1fe67c90bea50b030b740450067..3b59c5ded3fbf6f99c18142a6af0856cfe0ce1f6 100644 (file)
@@ -1079,7 +1079,9 @@ static struct nfs4_state *nfs4_do_open(struct inode *dir, struct path *path, int
                 * the user though...
                 */
                if (status == -NFS4ERR_BAD_SEQID) {
-                       printk(KERN_WARNING "NFS: v4 server returned a bad sequence-id error!\n");
+                       printk(KERN_WARNING "NFS: v4 server %s "
+                                       " returned a bad sequence-id error!\n",
+                                       NFS_SERVER(dir)->nfs_client->cl_hostname);
                        exception.retry = 1;
                        continue;
                }
index 4f78c0d1eab5a013366d79fceae64fdb3be26dde..4fa4054cdf3466f4612589dc4088d1c609647086 100644 (file)
@@ -38,6 +38,7 @@
  * subsequent patch.
  */
 
+#include <linux/kernel.h>
 #include <linux/slab.h>
 #include <linux/smp_lock.h>
 #include <linux/nfs_fs.h>
@@ -648,6 +649,12 @@ static void nfs_increment_seqid(int status, struct nfs_seqid *seqid)
                case 0:
                        break;
                case -NFS4ERR_BAD_SEQID:
+                       if (seqid->sequence->flags & NFS_SEQID_CONFIRMED)
+                               return;
+                       printk(KERN_WARNING "NFS: v4 server returned a bad"
+                                       "sequence-id error on an"
+                                       "unconfirmed sequence %p!\n",
+                                       seqid->sequence);
                case -NFS4ERR_STALE_CLIENTID:
                case -NFS4ERR_STALE_STATEID:
                case -NFS4ERR_BAD_STATEID: