Skip to content
Snippets Groups Projects
Select Git revision
  • 80a85a4cbd3b8a03549d7a2eecac1e827f5265d8
  • openEuler-1.0-LTS default protected
  • openEuler-22.09
  • OLK-5.10
  • openEuler-22.03-LTS
  • openEuler-22.03-LTS-Ascend
  • master
  • openEuler-22.03-LTS-LoongArch-NW
  • openEuler-22.09-HCK
  • openEuler-20.03-LTS-SP3
  • openEuler-21.09
  • openEuler-21.03
  • openEuler-20.09
  • 4.19.90-2210.5.0
  • 5.10.0-123.0.0
  • 5.10.0-60.63.0
  • 5.10.0-60.62.0
  • 4.19.90-2210.4.0
  • 5.10.0-121.0.0
  • 5.10.0-60.61.0
  • 4.19.90-2210.3.0
  • 5.10.0-60.60.0
  • 5.10.0-120.0.0
  • 5.10.0-60.59.0
  • 5.10.0-119.0.0
  • 4.19.90-2210.2.0
  • 4.19.90-2210.1.0
  • 5.10.0-118.0.0
  • 5.10.0-106.19.0
  • 5.10.0-60.58.0
  • 4.19.90-2209.6.0
  • 5.10.0-106.18.0
  • 5.10.0-106.17.0
33 results

client.c

Blame
  • client.c 51.75 KiB
    /*
     * net/9p/clnt.c
     *
     * 9P Client
     *
     *  Copyright (C) 2008 by Eric Van Hensbergen <ericvh@gmail.com>
     *  Copyright (C) 2007 by Latchesar Ionkov <lucho@ionkov.net>
     *
     *  This program is free software; you can redistribute it and/or modify
     *  it under the terms of the GNU General Public License version 2
     *  as published by the Free Software Foundation.
     *
     *  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
     *
     */
    
    #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
    
    #include <linux/module.h>
    #include <linux/errno.h>
    #include <linux/fs.h>
    #include <linux/poll.h>
    #include <linux/idr.h>
    #include <linux/mutex.h>
    #include <linux/slab.h>
    #include <linux/sched/signal.h>
    #include <linux/uaccess.h>
    #include <linux/uio.h>
    #include <net/9p/9p.h>
    #include <linux/parser.h>
    #include <linux/seq_file.h>
    #include <net/9p/client.h>
    #include <net/9p/transport.h>
    #include "protocol.h"
    
    #define CREATE_TRACE_POINTS
    #include <trace/events/9p.h>
    
    /*
      * Client Option Parsing (code inspired by NFS code)
      *  - a little lazy - parse all client options
      */
    
    enum {
    	Opt_msize,
    	Opt_trans,
    	Opt_legacy,
    	Opt_version,
    	Opt_err,
    };
    
    static const match_table_t tokens = {
    	{Opt_msize, "msize=%u"},
    	{Opt_legacy, "noextend"},
    	{Opt_trans, "trans=%s"},
    	{Opt_version, "version=%s"},
    	{Opt_err, NULL},
    };
    
    inline int p9_is_proto_dotl(struct p9_client *clnt)
    {