aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTigran Mkrtchyan <kofemann@gmail.com>2012-02-13 16:55:27 -0500
committerJ. Bruce Fields <bfields@redhat.com>2012-02-15 11:20:41 -0500
commit80e01cc1e25de079e495e261f34be86d85f0797c (patch)
tree2460f41d7ea9ad73b0f414c3c7c9c8d71927e925
parent30813e2773659dc6929c0bf6edc2c2b5bc0c687c (diff)
nfsd41: mark PUTFH, PUTPUBFH and PUTROOTFH to clear current stateid
Signed-off-by: Tigran Mkrtchyan <kofemann@gmail.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
-rw-r--r--fs/nfsd/nfs4proc.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c
index d788d754ccde..f1dd2702b8fd 100644
--- a/fs/nfsd/nfs4proc.c
+++ b/fs/nfsd/nfs4proc.c
@@ -1523,21 +1523,24 @@ static struct nfsd4_operation nfsd4_ops[] = {
1523 [OP_PUTFH] = { 1523 [OP_PUTFH] = {
1524 .op_func = (nfsd4op_func)nfsd4_putfh, 1524 .op_func = (nfsd4op_func)nfsd4_putfh,
1525 .op_flags = ALLOWED_WITHOUT_FH | ALLOWED_ON_ABSENT_FS 1525 .op_flags = ALLOWED_WITHOUT_FH | ALLOWED_ON_ABSENT_FS
1526 | OP_IS_PUTFH_LIKE | OP_MODIFIES_SOMETHING, 1526 | OP_IS_PUTFH_LIKE | OP_MODIFIES_SOMETHING
1527 | OP_CLEAR_STATEID,
1527 .op_name = "OP_PUTFH", 1528 .op_name = "OP_PUTFH",
1528 .op_rsize_bop = (nfsd4op_rsize)nfsd4_only_status_rsize, 1529 .op_rsize_bop = (nfsd4op_rsize)nfsd4_only_status_rsize,
1529 }, 1530 },
1530 [OP_PUTPUBFH] = { 1531 [OP_PUTPUBFH] = {
1531 .op_func = (nfsd4op_func)nfsd4_putrootfh, 1532 .op_func = (nfsd4op_func)nfsd4_putrootfh,
1532 .op_flags = ALLOWED_WITHOUT_FH | ALLOWED_ON_ABSENT_FS 1533 .op_flags = ALLOWED_WITHOUT_FH | ALLOWED_ON_ABSENT_FS
1533 | OP_IS_PUTFH_LIKE | OP_MODIFIES_SOMETHING, 1534 | OP_IS_PUTFH_LIKE | OP_MODIFIES_SOMETHING
1535 | OP_CLEAR_STATEID,
1534 .op_name = "OP_PUTPUBFH", 1536 .op_name = "OP_PUTPUBFH",
1535 .op_rsize_bop = (nfsd4op_rsize)nfsd4_only_status_rsize, 1537 .op_rsize_bop = (nfsd4op_rsize)nfsd4_only_status_rsize,
1536 }, 1538 },
1537 [OP_PUTROOTFH] = { 1539 [OP_PUTROOTFH] = {
1538 .op_func = (nfsd4op_func)nfsd4_putrootfh, 1540 .op_func = (nfsd4op_func)nfsd4_putrootfh,
1539 .op_flags = ALLOWED_WITHOUT_FH | ALLOWED_ON_ABSENT_FS 1541 .op_flags = ALLOWED_WITHOUT_FH | ALLOWED_ON_ABSENT_FS
1540 | OP_IS_PUTFH_LIKE | OP_MODIFIES_SOMETHING, 1542 | OP_IS_PUTFH_LIKE | OP_MODIFIES_SOMETHING
1543 | OP_CLEAR_STATEID,
1541 .op_name = "OP_PUTROOTFH", 1544 .op_name = "OP_PUTROOTFH",
1542 .op_rsize_bop = (nfsd4op_rsize)nfsd4_only_status_rsize, 1545 .op_rsize_bop = (nfsd4op_rsize)nfsd4_only_status_rsize,
1543 }, 1546 },