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

i915_request.c

Blame
  • extents.c 155.65 KiB
    /*
     * Copyright (c) 2003-2006, Cluster File Systems, Inc, info@clusterfs.com
     * Written by Alex Tomas <alex@clusterfs.com>
     *
     * Architecture independence:
     *   Copyright (c) 2005, Bull S.A.
     *   Written by Pierre Peiffer <pierre.peiffer@bull.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 Licens
     * along with this program; if not, write to the Free Software
     * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-
     */
    
    /*
     * Extents support for EXT4
     *
     * TODO:
     *   - ext4*_error() should be used in some situations
     *   - analyze all BUG()/BUG_ON(), use -EIO where appropriate
     *   - smart tree reduction
     */
    
    #include <linux/fs.h>
    #include <linux/time.h>
    #include <linux/jbd2.h>
    #include <linux/highuid.h>
    #include <linux/pagemap.h>
    #include <linux/quotaops.h>
    #include <linux/string.h>
    #include <linux/slab.h>
    #include <asm/uaccess.h>
    #include <linux/fiemap.h>
    #include "ext4_jbd2.h"
    #include "ext4_extents.h"
    #include "xattr.h"
    
    #include <trace/events/ext4.h>
    
    /*
     * used by extent splitting.
     */
    #define EXT4_EXT_MAY_ZEROOUT	0x1  /* safe to zeroout if split fails \
    					due to ENOSPC */
    #define EXT4_EXT_MARK_UNWRIT1	0x2  /* mark first half unwritten */
    #define EXT4_EXT_MARK_UNWRIT2	0x4  /* mark second half unwritten */
    
    #define EXT4_EXT_DATA_VALID1	0x8  /* first half contains valid data */
    #define EXT4_EXT_DATA_VALID2	0x10 /* second half contains valid data */
    
    static __le32 ext4_extent_block_csum(struct inode *inode,
    				     struct ext4_extent_header *eh)
    {
    	struct ext4_inode_info *ei = EXT4_I(inode);
    	struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb);
    	__u32 csum;
    
    	csum = ext4_chksum(sbi, ei->i_csum_seed, (__u8 *)eh,
    			   EXT4_EXTENT_TAIL_OFFSET(eh));
    	return cpu_to_le32(csum);
    }