Skip to content
Snippets Groups Projects
Select Git revision
  • 33f2c35a54dfd75ad0e7e86918dcbe4de799a56c
  • 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

md_p.h

  • vfs_inode.c 33.21 KiB
    /*
     *  linux/fs/9p/vfs_inode.c
     *
     * This file contains vfs inode ops for the 9P2000 protocol.
     *
     *  Copyright (C) 2004 by Eric Van Hensbergen <ericvh@gmail.com>
     *  Copyright (C) 2002 by Ron Minnich <rminnich@lanl.gov>
     *
     *  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/file.h>
    #include <linux/pagemap.h>
    #include <linux/stat.h>
    #include <linux/string.h>
    #include <linux/inet.h>
    #include <linux/namei.h>
    #include <linux/idr.h>
    #include <linux/sched.h>
    #include <linux/slab.h>
    #include <linux/xattr.h>
    #include <linux/posix_acl.h>
    #include <net/9p/9p.h>
    #include <net/9p/client.h>
    
    #include "v9fs.h"
    #include "v9fs_vfs.h"
    #include "fid.h"
    #include "cache.h"
    #include "xattr.h"
    #include "acl.h"
    
    static const struct inode_operations v9fs_dir_inode_operations;
    static const struct inode_operations v9fs_dir_inode_operations_dotu;
    static const struct inode_operations v9fs_file_inode_operations;
    static const struct inode_operations v9fs_symlink_inode_operations;
    
    /**
     * unixmode2p9mode - convert unix mode bits to plan 9
     * @v9ses: v9fs session information
     * @mode: mode to convert
     *
     */
    
    static u32 unixmode2p9mode(struct v9fs_session_info *v9ses, umode_t mode)
    {
    	int res;
    	res = mode & 0777;
    	if (S_ISDIR(mode))
    		res |= P9_DMDIR;
    	if (v9fs_proto_dotu(v9ses)) {