Skip to content
Snippets Groups Projects
Select Git revision
  • d4d24d2d0a7ea3b62efd7336bfc2344e29b36bc5
  • vme-testing default
  • ci-test
  • master
  • remoteproc
  • am625-sk-ov5640
  • pcal6534-upstreaming
  • lps22df-upstreaming
  • msc-upstreaming
  • imx8mp
  • iio/noa1305
  • vme-next
  • vme-next-4.14-rc4
  • v4.14-rc4
  • v4.14-rc3
  • v4.14-rc2
  • v4.14-rc1
  • v4.13
  • vme-next-4.13-rc7
  • v4.13-rc7
  • v4.13-rc6
  • v4.13-rc5
  • v4.13-rc4
  • v4.13-rc3
  • v4.13-rc2
  • v4.13-rc1
  • v4.12
  • v4.12-rc7
  • v4.12-rc6
  • v4.12-rc5
  • v4.12-rc4
  • v4.12-rc3
32 results

conf.py

Blame
  • xfs_iops.c 33.29 KiB
    // SPDX-License-Identifier: GPL-2.0
    /*
     * Copyright (c) 2000-2005 Silicon Graphics, Inc.
     * All Rights Reserved.
     */
    #include "xfs.h"
    #include "xfs_fs.h"
    #include "xfs_shared.h"
    #include "xfs_format.h"
    #include "xfs_log_format.h"
    #include "xfs_trans_resv.h"
    #include "xfs_mount.h"
    #include "xfs_inode.h"
    #include "xfs_acl.h"
    #include "xfs_quota.h"
    #include "xfs_attr.h"
    #include "xfs_trans.h"
    #include "xfs_trace.h"
    #include "xfs_icache.h"
    #include "xfs_symlink.h"
    #include "xfs_dir2.h"
    #include "xfs_iomap.h"
    
    #include <linux/xattr.h>
    #include <linux/posix_acl.h>
    #include <linux/security.h>
    #include <linux/iversion.h>
    
    /*
     * Directories have different lock order w.r.t. mmap_sem compared to regular
     * files. This is due to readdir potentially triggering page faults on a user
     * buffer inside filldir(), and this happens with the ilock on the directory
     * held. For regular files, the lock order is the other way around - the
     * mmap_sem is taken during the page fault, and then we lock the ilock to do
     * block mapping. Hence we need a different class for the directory ilock so
     * that lockdep can tell them apart.
     */
    static struct lock_class_key xfs_nondir_ilock_class;
    static struct lock_class_key xfs_dir_ilock_class;
    
    static int
    xfs_initxattrs(
    	struct inode		*inode,
    	const struct xattr	*xattr_array,
    	void			*fs_info)
    {
    	const struct xattr	*xattr;
    	struct xfs_inode	*ip = XFS_I(inode);
    	int			error = 0;
    
    	for (xattr = xattr_array; xattr->name != NULL; xattr++) {
    		error = xfs_attr_set(ip, xattr->name, xattr->value,
    				      xattr->value_len, ATTR_SECURE);
    		if (error < 0)
    			break;
    	}
    	return error;
    }
    
    /*
     * Hook in SELinux.  This is not quite correct yet, what we really need
     * here (as we do for default ACLs) is a mechanism by which creation of
     * these attrs can be journalled at inode creation time (along with the
     * inode, of course, such that log replay can't cause these to be lost).
     */
    
    STATIC int
    xfs_init_security(
    	struct inode	*inode,
    	struct inode	*dir,