diff options
Diffstat (limited to 'net/9p')
-rw-r--r-- | net/9p/client.c | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/net/9p/client.c b/net/9p/client.c index 9994676e57da..bde9f3d38c57 100644 --- a/net/9p/client.c +++ b/net/9p/client.c | |||
@@ -670,8 +670,25 @@ int p9_client_version(struct p9_client *c) | |||
670 | 670 | ||
671 | P9_DPRINTK(P9_DEBUG_9P, ">>> TVERSION msize %d protocol %d\n", | 671 | P9_DPRINTK(P9_DEBUG_9P, ">>> TVERSION msize %d protocol %d\n", |
672 | c->msize, c->proto_version); | 672 | c->msize, c->proto_version); |
673 | req = p9_client_rpc(c, P9_TVERSION, "ds", c->msize, | 673 | |
674 | p9_is_proto_dotu(c) ? "9P2000.u" : "9P2000"); | 674 | switch (c->proto_version) { |
675 | case p9_proto_2010L: | ||
676 | req = p9_client_rpc(c, P9_TVERSION, "ds", | ||
677 | c->msize, "9P2010.L"); | ||
678 | break; | ||
679 | case p9_proto_2000u: | ||
680 | req = p9_client_rpc(c, P9_TVERSION, "ds", | ||
681 | c->msize, "9P2000.u"); | ||
682 | break; | ||
683 | case p9_proto_legacy: | ||
684 | req = p9_client_rpc(c, P9_TVERSION, "ds", | ||
685 | c->msize, "9P2000"); | ||
686 | break; | ||
687 | default: | ||
688 | return -EINVAL; | ||
689 | break; | ||
690 | } | ||
691 | |||
675 | if (IS_ERR(req)) | 692 | if (IS_ERR(req)) |
676 | return PTR_ERR(req); | 693 | return PTR_ERR(req); |
677 | 694 | ||
@@ -683,7 +700,9 @@ int p9_client_version(struct p9_client *c) | |||
683 | } | 700 | } |
684 | 701 | ||
685 | P9_DPRINTK(P9_DEBUG_9P, "<<< RVERSION msize %d %s\n", msize, version); | 702 | P9_DPRINTK(P9_DEBUG_9P, "<<< RVERSION msize %d %s\n", msize, version); |
686 | if (!strncmp(version, "9P2000.u", 8)) | 703 | if (!strncmp(version, "9P2010.L", 8)) |
704 | c->proto_version = p9_proto_2010L; | ||
705 | else if (!strncmp(version, "9P2000.u", 8)) | ||
687 | c->proto_version = p9_proto_2000u; | 706 | c->proto_version = p9_proto_2000u; |
688 | else if (!strncmp(version, "9P2000", 6)) | 707 | else if (!strncmp(version, "9P2000", 6)) |
689 | c->proto_version = p9_proto_legacy; | 708 | c->proto_version = p9_proto_legacy; |