From: "J. Bruce Fields" <bfields@fieldses.org>
To: Joschi Brauchle <joschi.brauchle@tum.de>
Cc: "linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>
Subject: Re: Syslog flooded: "NFSD: preprocess_seqid_op: magic stateid!"
Date: Wed, 16 Jun 2010 22:31:07 -0400 [thread overview]
Message-ID: <20100617023106.GA20645@fieldses.org> (raw)
In-Reply-To: <501A322854D4C944BCAF0528CFC7B65E3B30E7F5EE-7sgYbYbIMHsZ3TY+6YjGZ+/kjxG1y2if@public.gmane.org>
On Wed, Jun 16, 2010 at 10:20:15AM +0200, Joschi Brauchle wrote:
> Hi everyone!
> I=E2=80=99m brand-new on the list and I hope this is the right place =
to post my questions.
> Please bear with me if there is some information missing,=E2=80=A6
>=20
> I am facing the following (first) problem on our primary NFSv4 filese=
rver (called pollux) running SLES 10SP3=20
> (Linux pollux 2.6.16.60-0.62.1-smp #1 SMP Mon Apr 12 18:53:46 UTC 201=
0 x86_64 x86_64 x86_64 GNU/Linux),=20
> the syslog is flooded with the following message:
>=20
> Jun=C2=A0 3 15:29:24 pollux kernel: NFSD: preprocess_seqid_op: magic =
stateid!
This was fixed by the commit below.
--b.
commit 2fdada03b3876ab9f84ede160f187e888cafefb4
Author: J. Bruce Fields <bfields@citi.umich.edu>
Date: Fri Jul 27 16:10:37 2007 -0400
knfsd: demote some printk()s to dprintk()s
=20
To quote a recent mail from Andrew Morton:
=20
Look: if there's a way in which an unprivileged user can trigger
a printk we fix it, end of story.
=20
OK. I assume that goes double for printk()s that might be triggere=
d by
random hosts on the internet. So, disable some printk()s that look=
like
they could be triggered by malfunctioning or malicious clients. Fo=
r
now, just downgrade them to dprintk()s.
=20
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Acked-by: Neil Brown <neilb@suse.de>
diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c
index 29b7e63..18ead17 100644
--- a/fs/nfsd/nfs4proc.c
+++ b/fs/nfsd/nfs4proc.c
@@ -238,12 +238,12 @@ nfsd4_open(struct svc_rqst *rqstp, struct nfsd4_c=
ompound_state *cstate,
break;
case NFS4_OPEN_CLAIM_DELEGATE_PREV:
open->op_stateowner->so_confirmed =3D 1;
- printk("NFSD: unsupported OPEN claim type %d\n",
+ dprintk("NFSD: unsupported OPEN claim type %d\n",
open->op_claim_type);
status =3D nfserr_notsupp;
goto out;
default:
- printk("NFSD: Invalid OPEN claim type %d\n",
+ dprintk("NFSD: Invalid OPEN claim type %d\n",
open->op_claim_type);
status =3D nfserr_inval;
goto out;
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index 578d809..2b20eb8 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -509,7 +509,7 @@ check_name(struct xdr_netobj name) {
if (name.len =3D=3D 0)=20
return 0;
if (name.len > NFS4_OPAQUE_LIMIT) {
- printk("NFSD: check_name: name too long(%d)!\n", name.len);
+ dprintk("NFSD: check_name: name too long(%d)!\n", name.len);
return 0;
}
return 1;
@@ -1742,7 +1742,7 @@ out:
if (open->op_claim_type =3D=3D NFS4_OPEN_CLAIM_PREVIOUS
&& flag =3D=3D NFS4_OPEN_DELEGATE_NONE
&& open->op_delegate_type !=3D NFS4_OPEN_DELEGATE_NONE)
- printk("NFSD: WARNING: refusing delegation reclaim\n");
+ dprintk("NFSD: WARNING: refusing delegation reclaim\n");
open->op_delegate_type =3D flag;
}
=20
@@ -2151,7 +2151,7 @@ nfs4_preprocess_seqid_op(struct svc_fh *current_f=
h, u32 seqid, stateid_t *statei
*sopp =3D NULL;
=20
if (ZERO_STATEID(stateid) || ONE_STATEID(stateid)) {
- printk("NFSD: preprocess_seqid_op: magic stateid!\n");
+ dprintk("NFSD: preprocess_seqid_op: magic stateid!\n");
return nfserr_bad_stateid;
}
=20
@@ -2202,7 +2202,7 @@ nfs4_preprocess_seqid_op(struct svc_fh *current_f=
h, u32 seqid, stateid_t *statei
}
=20
if ((flags & CHECK_FH) && nfs4_check_fh(current_fh, stp)) {
- printk("NFSD: preprocess_seqid_op: fh-stateid mismatch!\n");
+ dprintk("NFSD: preprocess_seqid_op: fh-stateid mismatch!\n");
return nfserr_bad_stateid;
}
=20
@@ -2218,22 +2218,22 @@ nfs4_preprocess_seqid_op(struct svc_fh *current=
_fh, u32 seqid, stateid_t *statei
goto check_replay;
=20
if (sop->so_confirmed && flags & CONFIRM) {
- printk("NFSD: preprocess_seqid_op: expected"
+ dprintk("NFSD: preprocess_seqid_op: expected"
" unconfirmed stateowner!\n");
return nfserr_bad_stateid;
}
if (!sop->so_confirmed && !(flags & CONFIRM)) {
- printk("NFSD: preprocess_seqid_op: stateowner not"
+ dprintk("NFSD: preprocess_seqid_op: stateowner not"
" confirmed yet!\n");
return nfserr_bad_stateid;
}
if (stateid->si_generation > stp->st_stateid.si_generation) {
- printk("NFSD: preprocess_seqid_op: future stateid?!\n");
+ dprintk("NFSD: preprocess_seqid_op: future stateid?!\n");
return nfserr_bad_stateid;
}
=20
if (stateid->si_generation < stp->st_stateid.si_generation) {
- printk("NFSD: preprocess_seqid_op: old stateid!\n");
+ dprintk("NFSD: preprocess_seqid_op: old stateid!\n");
return nfserr_old_stateid;
}
renew_client(sop->so_client);
@@ -2245,7 +2245,7 @@ check_replay:
/* indicate replay to calling function */
return nfserr_replay_me;
}
- printk("NFSD: preprocess_seqid_op: bad seqid (expected %d, got %d)\n"=
,
+ dprintk("NFSD: preprocess_seqid_op: bad seqid (expected %d, got %d)\n=
",
sop->so_seqid, seqid);
*sopp =3D NULL;
return nfserr_bad_seqid;
@@ -2858,7 +2858,7 @@ nfsd4_lockt(struct svc_rqst *rqstp, struct nfsd4_=
compound_state *cstate,
file_lock.fl_type =3D F_WRLCK;
break;
default:
- printk("NFSD: nfs4_lockt: bad lock type!\n");
+ dprintk("NFSD: nfs4_lockt: bad lock type!\n");
status =3D nfserr_inval;
goto out;
}
next prev parent reply other threads:[~2010-06-17 2:31 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-16 8:20 Syslog flooded: "NFSD: preprocess_seqid_op: magic stateid!" Joschi Brauchle
[not found] ` <501A322854D4C944BCAF0528CFC7B65E3B30E7F5EE-7sgYbYbIMHsZ3TY+6YjGZ+/kjxG1y2if@public.gmane.org>
2010-06-17 2:31 ` J. Bruce Fields [this message]
2010-06-17 2:32 ` J. Bruce Fields
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100617023106.GA20645@fieldses.org \
--to=bfields@fieldses.org \
--cc=joschi.brauchle@tum.de \
--cc=linux-nfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.