All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Bill Wendling <morbo@google.com>
Cc: oe-kbuild-all@lists.linux.dev,
	Christian Brauner <christianvanbrauner@gmail.com>,
	Christian Brauner <brauner@kernel.org>,
	Bradley Morgan <brads@mainlining.org>
Subject: [brauner-vfs:namespace-7.4.misc 6/7] fs/btrfs/tests/inode-tests.c:16:13: error: conflicting types for 'insert_extent'
Date: Fri, 11 Sep 2026 10:09:44 +0800	[thread overview]
Message-ID: <202609110937.zHKPPXJk-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git namespace-7.4.misc
head:   34a496d638705dc227cc6dd2aaaa9e450893502f
commit: f6f1a2496ba5dcc076d7fb7aa329887cd6ae55fa [6/7] userns: Add KUnit test suite for uid_gid_map
config: powerpc64-randconfig-r123-20260910 (https://download.01.org/0day-ci/archive/20260911/202609110937.zHKPPXJk-lkp@intel.com/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260911/202609110937.zHKPPXJk-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609110937.zHKPPXJk-lkp@intel.com/

All errors (new ones prefixed by >>):

>> fs/btrfs/tests/inode-tests.c:16:13: error: conflicting types for 'insert_extent'
      16 | static void insert_extent(struct btrfs_root *root, u64 start, u64 len,
         |             ^
   include/linux/user_namespace.h:212:12: note: previous declaration is here
     212 | extern int insert_extent(struct uid_gid_map *map, struct uid_gid_extent *extent);
         |            ^
>> fs/btrfs/tests/inode-tests.c:112:30: error: too many arguments to function call, expected 2, have 10
     112 |         insert_extent(root, offset, 6, 6, 0, 0, 0, BTRFS_FILE_EXTENT_INLINE, 0,
         |         ~~~~~~~~~~~~~               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     113 |                       slot);
         |                       ~~~~
   include/linux/user_namespace.h:212:12: note: 'insert_extent' declared here
     212 | extern int insert_extent(struct uid_gid_map *map, struct uid_gid_extent *extent);
         |            ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/btrfs/tests/inode-tests.c:118:30: error: too many arguments to function call, expected 2, have 10
     118 |         insert_extent(root, offset, sectorsize, sectorsize, 0,
         |         ~~~~~~~~~~~~~               ^~~~~~~~~~~~~~~~~~~~~~~~~~
     119 |                       disk_bytenr, sectorsize, BTRFS_FILE_EXTENT_REG, 0, slot);
         |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/user_namespace.h:212:12: note: 'insert_extent' declared here
     212 | extern int insert_extent(struct uid_gid_map *map, struct uid_gid_extent *extent);
         |            ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/btrfs/tests/inode-tests.c:132:30: error: too many arguments to function call, expected 2, have 10
     132 |         insert_extent(root, offset, sectorsize, 4 * sectorsize, 0, disk_bytenr,
         |         ~~~~~~~~~~~~~               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     133 |                       4 * sectorsize, BTRFS_FILE_EXTENT_REG, 0, slot);
         |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/user_namespace.h:212:12: note: 'insert_extent' declared here
     212 | extern int insert_extent(struct uid_gid_map *map, struct uid_gid_extent *extent);
         |            ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/btrfs/tests/inode-tests.c:138:30: error: too many arguments to function call, expected 2, have 10
     138 |         insert_extent(root, offset, sectorsize, sectorsize, 0, 0, 0,
         |         ~~~~~~~~~~~~~               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     139 |                       BTRFS_FILE_EXTENT_REG, 0, slot);
         |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/user_namespace.h:212:12: note: 'insert_extent' declared here
     212 | extern int insert_extent(struct uid_gid_map *map, struct uid_gid_extent *extent);
         |            ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/btrfs/tests/inode-tests.c:144:30: error: too many arguments to function call, expected 2, have 10
     144 |         insert_extent(root, offset, 2 * sectorsize, 4 * sectorsize,
         |         ~~~~~~~~~~~~~               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     145 |                       2 * sectorsize, disk_bytenr, 4 * sectorsize,
         |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     146 |                       BTRFS_FILE_EXTENT_REG, 0, slot);
         |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/user_namespace.h:212:12: note: 'insert_extent' declared here
     212 | extern int insert_extent(struct uid_gid_map *map, struct uid_gid_extent *extent);
         |            ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/btrfs/tests/inode-tests.c:152:30: error: too many arguments to function call, expected 2, have 10
     152 |         insert_extent(root, offset, sectorsize, sectorsize, 0, disk_bytenr,
         |         ~~~~~~~~~~~~~               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     153 |                 sectorsize, BTRFS_FILE_EXTENT_PREALLOC, 0, slot);
         |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/user_namespace.h:212:12: note: 'insert_extent' declared here
     212 | extern int insert_extent(struct uid_gid_map *map, struct uid_gid_extent *extent);
         |            ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/btrfs/tests/inode-tests.c:170:30: error: too many arguments to function call, expected 2, have 10
     170 |         insert_extent(root, offset, sectorsize, 4 * sectorsize, 0, disk_bytenr,
         |         ~~~~~~~~~~~~~               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     171 |                       4 * sectorsize, BTRFS_FILE_EXTENT_PREALLOC, 0, slot);
         |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/user_namespace.h:212:12: note: 'insert_extent' declared here
     212 | extern int insert_extent(struct uid_gid_map *map, struct uid_gid_extent *extent);
         |            ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/btrfs/tests/inode-tests.c:176:30: error: too many arguments to function call, expected 2, have 10
     176 |         insert_extent(root, offset, sectorsize, 4 * sectorsize, sectorsize,
         |         ~~~~~~~~~~~~~               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     177 |                       disk_bytenr, 4 * sectorsize, BTRFS_FILE_EXTENT_REG, 0,
         |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     178 |                       slot);
         |                       ~~~~
   include/linux/user_namespace.h:212:12: note: 'insert_extent' declared here
     212 | extern int insert_extent(struct uid_gid_map *map, struct uid_gid_extent *extent);
         |            ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/btrfs/tests/inode-tests.c:183:30: error: too many arguments to function call, expected 2, have 10
     183 |         insert_extent(root, offset, 2 * sectorsize, 4 * sectorsize,
         |         ~~~~~~~~~~~~~               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     184 |                       2 * sectorsize, disk_bytenr, 4 * sectorsize,
         |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     185 |                       BTRFS_FILE_EXTENT_PREALLOC, 0, slot);
         |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/user_namespace.h:212:12: note: 'insert_extent' declared here
     212 | extern int insert_extent(struct uid_gid_map *map, struct uid_gid_extent *extent);
         |            ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/btrfs/tests/inode-tests.c:191:30: error: too many arguments to function call, expected 2, have 10
     191 |         insert_extent(root, offset, 2 * sectorsize, 2 * sectorsize, 0,
         |         ~~~~~~~~~~~~~               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     192 |                       disk_bytenr, sectorsize, BTRFS_FILE_EXTENT_REG,
         |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     193 |                       BTRFS_COMPRESS_ZLIB, slot);
         |                       ~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/user_namespace.h:212:12: note: 'insert_extent' declared here
     212 | extern int insert_extent(struct uid_gid_map *map, struct uid_gid_extent *extent);
         |            ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/btrfs/tests/inode-tests.c:200:30: error: too many arguments to function call, expected 2, have 10
     200 |         insert_extent(root, offset, sectorsize, 4 * sectorsize, 0, disk_bytenr,
         |         ~~~~~~~~~~~~~               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     201 |                       sectorsize, BTRFS_FILE_EXTENT_REG,
         |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     202 |                       BTRFS_COMPRESS_ZLIB, slot);
         |                       ~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/user_namespace.h:212:12: note: 'insert_extent' declared here
     212 | extern int insert_extent(struct uid_gid_map *map, struct uid_gid_extent *extent);
         |            ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/btrfs/tests/inode-tests.c:207:30: error: too many arguments to function call, expected 2, have 10
     207 |         insert_extent(root, offset, sectorsize, sectorsize, 0,
         |         ~~~~~~~~~~~~~               ^~~~~~~~~~~~~~~~~~~~~~~~~~


vim +/insert_extent +16 fs/btrfs/tests/inode-tests.c

aaedb55bc08f38 Josef Bacik   2013-10-11   15  
aaedb55bc08f38 Josef Bacik   2013-10-11  @16  static void insert_extent(struct btrfs_root *root, u64 start, u64 len,
aaedb55bc08f38 Josef Bacik   2013-10-11   17  			  u64 ram_bytes, u64 offset, u64 disk_bytenr,
aaedb55bc08f38 Josef Bacik   2013-10-11   18  			  u64 disk_len, u32 type, u8 compression, int slot)
aaedb55bc08f38 Josef Bacik   2013-10-11   19  {
aaedb55bc08f38 Josef Bacik   2013-10-11   20  	struct btrfs_path path;
aaedb55bc08f38 Josef Bacik   2013-10-11   21  	struct btrfs_file_extent_item *fi;
aaedb55bc08f38 Josef Bacik   2013-10-11   22  	struct extent_buffer *leaf = root->node;
aaedb55bc08f38 Josef Bacik   2013-10-11   23  	struct btrfs_key key;
aaedb55bc08f38 Josef Bacik   2013-10-11   24  	u32 value_len = sizeof(struct btrfs_file_extent_item);
aaedb55bc08f38 Josef Bacik   2013-10-11   25  
aaedb55bc08f38 Josef Bacik   2013-10-11   26  	if (type == BTRFS_FILE_EXTENT_INLINE)
aaedb55bc08f38 Josef Bacik   2013-10-11   27  		value_len += len;
aaedb55bc08f38 Josef Bacik   2013-10-11   28  	memset(&path, 0, sizeof(path));
aaedb55bc08f38 Josef Bacik   2013-10-11   29  
aaedb55bc08f38 Josef Bacik   2013-10-11   30  	path.nodes[0] = leaf;
aaedb55bc08f38 Josef Bacik   2013-10-11   31  	path.slots[0] = slot;
aaedb55bc08f38 Josef Bacik   2013-10-11   32  
aaedb55bc08f38 Josef Bacik   2013-10-11   33  	key.objectid = BTRFS_FIRST_FREE_OBJECTID;
aaedb55bc08f38 Josef Bacik   2013-10-11   34  	key.type = BTRFS_EXTENT_DATA_KEY;
aaedb55bc08f38 Josef Bacik   2013-10-11   35  	key.offset = start;
aaedb55bc08f38 Josef Bacik   2013-10-11   36  
50564b651d01c1 Filipe Manana 2023-09-12   37  	/*
50564b651d01c1 Filipe Manana 2023-09-12   38  	 * Passing a NULL trans handle is fine here, we have a dummy root eb
50564b651d01c1 Filipe Manana 2023-09-12   39  	 * and the tree is a single node (level 0).
50564b651d01c1 Filipe Manana 2023-09-12   40  	 */
50564b651d01c1 Filipe Manana 2023-09-12   41  	btrfs_setup_item_for_insert(NULL, root, &path, &key, value_len);
aaedb55bc08f38 Josef Bacik   2013-10-11   42  	fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item);
aaedb55bc08f38 Josef Bacik   2013-10-11   43  	btrfs_set_file_extent_generation(leaf, fi, 1);
aaedb55bc08f38 Josef Bacik   2013-10-11   44  	btrfs_set_file_extent_type(leaf, fi, type);
aaedb55bc08f38 Josef Bacik   2013-10-11   45  	btrfs_set_file_extent_disk_bytenr(leaf, fi, disk_bytenr);
aaedb55bc08f38 Josef Bacik   2013-10-11   46  	btrfs_set_file_extent_disk_num_bytes(leaf, fi, disk_len);
aaedb55bc08f38 Josef Bacik   2013-10-11   47  	btrfs_set_file_extent_offset(leaf, fi, offset);
aaedb55bc08f38 Josef Bacik   2013-10-11   48  	btrfs_set_file_extent_num_bytes(leaf, fi, len);
aaedb55bc08f38 Josef Bacik   2013-10-11   49  	btrfs_set_file_extent_ram_bytes(leaf, fi, ram_bytes);
aaedb55bc08f38 Josef Bacik   2013-10-11   50  	btrfs_set_file_extent_compression(leaf, fi, compression);
aaedb55bc08f38 Josef Bacik   2013-10-11   51  	btrfs_set_file_extent_encryption(leaf, fi, 0);
aaedb55bc08f38 Josef Bacik   2013-10-11   52  	btrfs_set_file_extent_other_encoding(leaf, fi, 0);
aaedb55bc08f38 Josef Bacik   2013-10-11   53  }
aaedb55bc08f38 Josef Bacik   2013-10-11   54  
0e30db86a4524f Josef Bacik   2013-10-14   55  static void insert_inode_item_key(struct btrfs_root *root)
0e30db86a4524f Josef Bacik   2013-10-14   56  {
0e30db86a4524f Josef Bacik   2013-10-14   57  	struct btrfs_path path;
0e30db86a4524f Josef Bacik   2013-10-14   58  	struct extent_buffer *leaf = root->node;
0e30db86a4524f Josef Bacik   2013-10-14   59  	struct btrfs_key key;
0e30db86a4524f Josef Bacik   2013-10-14   60  	u32 value_len = 0;
0e30db86a4524f Josef Bacik   2013-10-14   61  
0e30db86a4524f Josef Bacik   2013-10-14   62  	memset(&path, 0, sizeof(path));
0e30db86a4524f Josef Bacik   2013-10-14   63  
0e30db86a4524f Josef Bacik   2013-10-14   64  	path.nodes[0] = leaf;
0e30db86a4524f Josef Bacik   2013-10-14   65  	path.slots[0] = 0;
0e30db86a4524f Josef Bacik   2013-10-14   66  
0e30db86a4524f Josef Bacik   2013-10-14   67  	key.objectid = BTRFS_INODE_ITEM_KEY;
0e30db86a4524f Josef Bacik   2013-10-14   68  	key.type = BTRFS_INODE_ITEM_KEY;
0e30db86a4524f Josef Bacik   2013-10-14   69  	key.offset = 0;
0e30db86a4524f Josef Bacik   2013-10-14   70  
50564b651d01c1 Filipe Manana 2023-09-12   71  	/*
50564b651d01c1 Filipe Manana 2023-09-12   72  	 * Passing a NULL trans handle is fine here, we have a dummy root eb
50564b651d01c1 Filipe Manana 2023-09-12   73  	 * and the tree is a single node (level 0).
50564b651d01c1 Filipe Manana 2023-09-12   74  	 */
50564b651d01c1 Filipe Manana 2023-09-12   75  	btrfs_setup_item_for_insert(NULL, root, &path, &key, value_len);
0e30db86a4524f Josef Bacik   2013-10-14   76  }
0e30db86a4524f Josef Bacik   2013-10-14   77  
aaedb55bc08f38 Josef Bacik   2013-10-11   78  /*
aaedb55bc08f38 Josef Bacik   2013-10-11   79   * Build the most complicated map of extents the earth has ever seen.  We want
aaedb55bc08f38 Josef Bacik   2013-10-11   80   * this so we can test all of the corner cases of btrfs_get_extent.  Here is a
aaedb55bc08f38 Josef Bacik   2013-10-11   81   * diagram of how the extents will look though this may not be possible we still
aaedb55bc08f38 Josef Bacik   2013-10-11   82   * want to make sure everything acts normally (the last number is not inclusive)
aaedb55bc08f38 Josef Bacik   2013-10-11   83   *
d77b90cfe08f4c Qu Wenruo     2026-01-22   84   * The numbers are using 4K fs block size as an example, the real test will scale
d77b90cfe08f4c Qu Wenruo     2026-01-22   85   * all the extent maps (except the inlined one) according to the block size.
aaedb55bc08f38 Josef Bacik   2013-10-11   86   *
d77b90cfe08f4c Qu Wenruo     2026-01-22   87   * [ 0  - 6 ][ 6 - 4K       ][ 4K - 8K ][ 8K -  12K      ]
d77b90cfe08f4c Qu Wenruo     2026-01-22   88   * [ inline ][ implied hole ][ regular ][ regular1 split ]
d77b90cfe08f4c Qu Wenruo     2026-01-22   89   *
d77b90cfe08f4c Qu Wenruo     2026-01-22   90   * [ 12K - 16K ][ 16K - 24K      ][ 24K - 28K ][ 28K - 32K ][ 32K - 36K         ]
b9ef22dedde08a Feifei Xu     2016-06-01   91   * [ hole      ][ regular1 split ][ prealloc  ][ prealloc1 ][ prealloc1 written ]
aaedb55bc08f38 Josef Bacik   2013-10-11   92   *
d77b90cfe08f4c Qu Wenruo     2026-01-22   93   * [ 36K - 44K ][ 44K - 52K  ][ 52K - 56K   ][ 56K - 60K ][ 60K - 68 K  ]
b9ef22dedde08a Feifei Xu     2016-06-01   94   * [ prealloc1 ][ compressed ][ compressed1 ][ regular   ][ compressed1 ]
aaedb55bc08f38 Josef Bacik   2013-10-11   95   *
d77b90cfe08f4c Qu Wenruo     2026-01-22   96   * [ 68K - 72K ][ 72K - 84K          ][ 84K - 88K ]
b9ef22dedde08a Feifei Xu     2016-06-01   97   * [  regular  ][ hole but no extent ][ regular   ]
aaedb55bc08f38 Josef Bacik   2013-10-11   98   */
b9ef22dedde08a Feifei Xu     2016-06-01   99  static void setup_file_extents(struct btrfs_root *root, u32 sectorsize)
aaedb55bc08f38 Josef Bacik   2013-10-11  100  {
aaedb55bc08f38 Josef Bacik   2013-10-11  101  	int slot = 0;
ee22184b53c823 Byongho Lee   2015-12-15  102  	u64 disk_bytenr = SZ_1M;
aaedb55bc08f38 Josef Bacik   2013-10-11  103  	u64 offset = 0;
aaedb55bc08f38 Josef Bacik   2013-10-11  104  
aaedb55bc08f38 Josef Bacik   2013-10-11  105  	/*
d77b90cfe08f4c Qu Wenruo     2026-01-22  106  	 * Start 0, length 6, inlined.
d77b90cfe08f4c Qu Wenruo     2026-01-22  107  	 *
d52a1365258b57 Qu Wenruo     2022-09-16  108  	 * Tree-checker has strict limits on inline extents that they can only
d52a1365258b57 Qu Wenruo     2022-09-16  109  	 * exist at file offset 0, thus we can only have one inline file extent
d52a1365258b57 Qu Wenruo     2022-09-16  110  	 * at most.
aaedb55bc08f38 Josef Bacik   2013-10-11  111  	 */
d52a1365258b57 Qu Wenruo     2022-09-16 @112  	insert_extent(root, offset, 6, 6, 0, 0, 0, BTRFS_FILE_EXTENT_INLINE, 0,
aaedb55bc08f38 Josef Bacik   2013-10-11  113  		      slot);
aaedb55bc08f38 Josef Bacik   2013-10-11  114  	slot++;
b9ef22dedde08a Feifei Xu     2016-06-01  115  	offset = sectorsize;
aaedb55bc08f38 Josef Bacik   2013-10-11  116  
d77b90cfe08f4c Qu Wenruo     2026-01-22  117  	/* Start 1 * blocksize, length 1 * blocksize, regular. */
d77b90cfe08f4c Qu Wenruo     2026-01-22  118  	insert_extent(root, offset, sectorsize, sectorsize, 0,
d77b90cfe08f4c Qu Wenruo     2026-01-22  119  		      disk_bytenr, sectorsize, BTRFS_FILE_EXTENT_REG, 0, slot);
aaedb55bc08f38 Josef Bacik   2013-10-11  120  	slot++;
aaedb55bc08f38 Josef Bacik   2013-10-11  121  
d77b90cfe08f4c Qu Wenruo     2026-01-22  122  	/* We don't want the regular em merged with the next one. */
d77b90cfe08f4c Qu Wenruo     2026-01-22  123  	disk_bytenr += 2 * sectorsize;
d77b90cfe08f4c Qu Wenruo     2026-01-22  124  	offset += sectorsize;
aaedb55bc08f38 Josef Bacik   2013-10-11  125  
aaedb55bc08f38 Josef Bacik   2013-10-11  126  	/*
d77b90cfe08f4c Qu Wenruo     2026-01-22  127  	 * Start 2 * blocksize, length 1 * blocksize, regular.
d77b90cfe08f4c Qu Wenruo     2026-01-22  128  	 *
aaedb55bc08f38 Josef Bacik   2013-10-11  129  	 * Now for 3 extents that were split from a hole punch so we test
aaedb55bc08f38 Josef Bacik   2013-10-11  130  	 * offsets properly.
aaedb55bc08f38 Josef Bacik   2013-10-11  131  	 */
b9ef22dedde08a Feifei Xu     2016-06-01  132  	insert_extent(root, offset, sectorsize, 4 * sectorsize, 0, disk_bytenr,
b9ef22dedde08a Feifei Xu     2016-06-01  133  		      4 * sectorsize, BTRFS_FILE_EXTENT_REG, 0, slot);
aaedb55bc08f38 Josef Bacik   2013-10-11  134  	slot++;
b9ef22dedde08a Feifei Xu     2016-06-01  135  	offset += sectorsize;
d77b90cfe08f4c Qu Wenruo     2026-01-22  136  
d77b90cfe08f4c Qu Wenruo     2026-01-22  137  	/* Start 3 * blocksize, length 1 * blocksize, regular, explicit hole. */
b9ef22dedde08a Feifei Xu     2016-06-01  138  	insert_extent(root, offset, sectorsize, sectorsize, 0, 0, 0,
b9ef22dedde08a Feifei Xu     2016-06-01  139  		      BTRFS_FILE_EXTENT_REG, 0, slot);
aaedb55bc08f38 Josef Bacik   2013-10-11  140  	slot++;
b9ef22dedde08a Feifei Xu     2016-06-01  141  	offset += sectorsize;
d77b90cfe08f4c Qu Wenruo     2026-01-22  142  
d77b90cfe08f4c Qu Wenruo     2026-01-22  143  	/* Start 4 * blocksize, length 2 * blocksize, regular. */
b9ef22dedde08a Feifei Xu     2016-06-01  144  	insert_extent(root, offset, 2 * sectorsize, 4 * sectorsize,
b9ef22dedde08a Feifei Xu     2016-06-01  145  		      2 * sectorsize, disk_bytenr, 4 * sectorsize,
aaedb55bc08f38 Josef Bacik   2013-10-11  146  		      BTRFS_FILE_EXTENT_REG, 0, slot);
aaedb55bc08f38 Josef Bacik   2013-10-11  147  	slot++;
b9ef22dedde08a Feifei Xu     2016-06-01  148  	offset += 2 * sectorsize;
b9ef22dedde08a Feifei Xu     2016-06-01  149  	disk_bytenr += 4 * sectorsize;
aaedb55bc08f38 Josef Bacik   2013-10-11  150  
d77b90cfe08f4c Qu Wenruo     2026-01-22  151  	/* Start 6 * blocksize, length 1 * blocksize, preallocated. */
b9ef22dedde08a Feifei Xu     2016-06-01  152  	insert_extent(root, offset, sectorsize, sectorsize, 0, disk_bytenr,
b9ef22dedde08a Feifei Xu     2016-06-01  153  		sectorsize, BTRFS_FILE_EXTENT_PREALLOC, 0, slot);
aaedb55bc08f38 Josef Bacik   2013-10-11  154  	slot++;
b9ef22dedde08a Feifei Xu     2016-06-01  155  	offset += sectorsize;
aaedb55bc08f38 Josef Bacik   2013-10-11  156  
aaedb55bc08f38 Josef Bacik   2013-10-11  157  	/*
aaedb55bc08f38 Josef Bacik   2013-10-11  158  	 * We want to jack up disk_bytenr a little more so the em stuff doesn't
aaedb55bc08f38 Josef Bacik   2013-10-11  159  	 * merge our records.
aaedb55bc08f38 Josef Bacik   2013-10-11  160  	 */
b9ef22dedde08a Feifei Xu     2016-06-01  161  	disk_bytenr += 2 * sectorsize;
aaedb55bc08f38 Josef Bacik   2013-10-11  162  
aaedb55bc08f38 Josef Bacik   2013-10-11  163  	/*
d77b90cfe08f4c Qu Wenruo     2026-01-22  164  	 * Start 7 * blocksize, length 1 * blocksize, prealloc.
d77b90cfe08f4c Qu Wenruo     2026-01-22  165  	 *
aaedb55bc08f38 Josef Bacik   2013-10-11  166  	 * Now for a partially written prealloc extent, basically the same as
aaedb55bc08f38 Josef Bacik   2013-10-11  167  	 * the hole punch example above.  Ram_bytes never changes when you mark
aaedb55bc08f38 Josef Bacik   2013-10-11  168  	 * extents written btw.
aaedb55bc08f38 Josef Bacik   2013-10-11  169  	 */
b9ef22dedde08a Feifei Xu     2016-06-01  170  	insert_extent(root, offset, sectorsize, 4 * sectorsize, 0, disk_bytenr,
b9ef22dedde08a Feifei Xu     2016-06-01  171  		      4 * sectorsize, BTRFS_FILE_EXTENT_PREALLOC, 0, slot);
aaedb55bc08f38 Josef Bacik   2013-10-11  172  	slot++;
b9ef22dedde08a Feifei Xu     2016-06-01  173  	offset += sectorsize;
d77b90cfe08f4c Qu Wenruo     2026-01-22  174  
d77b90cfe08f4c Qu Wenruo     2026-01-22  175  	/* Start 8 * blocksize, length 1 * blocksize, regular. */
b9ef22dedde08a Feifei Xu     2016-06-01  176  	insert_extent(root, offset, sectorsize, 4 * sectorsize, sectorsize,
b9ef22dedde08a Feifei Xu     2016-06-01  177  		      disk_bytenr, 4 * sectorsize, BTRFS_FILE_EXTENT_REG, 0,
b9ef22dedde08a Feifei Xu     2016-06-01  178  		      slot);
aaedb55bc08f38 Josef Bacik   2013-10-11  179  	slot++;
b9ef22dedde08a Feifei Xu     2016-06-01  180  	offset += sectorsize;
d77b90cfe08f4c Qu Wenruo     2026-01-22  181  
d77b90cfe08f4c Qu Wenruo     2026-01-22  182  	/* Start 9 * blocksize, length 2 * blocksize, prealloc. */
b9ef22dedde08a Feifei Xu     2016-06-01  183  	insert_extent(root, offset, 2 * sectorsize, 4 * sectorsize,
b9ef22dedde08a Feifei Xu     2016-06-01  184  		      2 * sectorsize, disk_bytenr, 4 * sectorsize,
aaedb55bc08f38 Josef Bacik   2013-10-11  185  		      BTRFS_FILE_EXTENT_PREALLOC, 0, slot);
aaedb55bc08f38 Josef Bacik   2013-10-11  186  	slot++;
b9ef22dedde08a Feifei Xu     2016-06-01  187  	offset += 2 * sectorsize;
b9ef22dedde08a Feifei Xu     2016-06-01  188  	disk_bytenr += 4 * sectorsize;
aaedb55bc08f38 Josef Bacik   2013-10-11  189  
d77b90cfe08f4c Qu Wenruo     2026-01-22  190  	/* Start 11 * blocksize, length 2 * blocksize, regular. */
b9ef22dedde08a Feifei Xu     2016-06-01  191  	insert_extent(root, offset, 2 * sectorsize, 2 * sectorsize, 0,
b9ef22dedde08a Feifei Xu     2016-06-01  192  		      disk_bytenr, sectorsize, BTRFS_FILE_EXTENT_REG,
b9ef22dedde08a Feifei Xu     2016-06-01  193  		      BTRFS_COMPRESS_ZLIB, slot);
aaedb55bc08f38 Josef Bacik   2013-10-11  194  	slot++;
b9ef22dedde08a Feifei Xu     2016-06-01  195  	offset += 2 * sectorsize;
aaedb55bc08f38 Josef Bacik   2013-10-11  196  	/* No merges */
b9ef22dedde08a Feifei Xu     2016-06-01  197  	disk_bytenr += 2 * sectorsize;
aaedb55bc08f38 Josef Bacik   2013-10-11  198  
d77b90cfe08f4c Qu Wenruo     2026-01-22  199  	/* Start 13 * blocksize, length 1 * blocksize, regular. */
b9ef22dedde08a Feifei Xu     2016-06-01  200  	insert_extent(root, offset, sectorsize, 4 * sectorsize, 0, disk_bytenr,
b9ef22dedde08a Feifei Xu     2016-06-01  201  		      sectorsize, BTRFS_FILE_EXTENT_REG,
b9ef22dedde08a Feifei Xu     2016-06-01  202  		      BTRFS_COMPRESS_ZLIB, slot);
aaedb55bc08f38 Josef Bacik   2013-10-11  203  	slot++;
b9ef22dedde08a Feifei Xu     2016-06-01  204  	offset += sectorsize;
d77b90cfe08f4c Qu Wenruo     2026-01-22  205  
d77b90cfe08f4c Qu Wenruo     2026-01-22  206  	/* Start 14 * blocksize, length 1 * blocksize, regular. */
b9ef22dedde08a Feifei Xu     2016-06-01  207  	insert_extent(root, offset, sectorsize, sectorsize, 0,
b9ef22dedde08a Feifei Xu     2016-06-01  208  		      disk_bytenr + sectorsize, sectorsize,
aaedb55bc08f38 Josef Bacik   2013-10-11  209  		      BTRFS_FILE_EXTENT_REG, 0, slot);
aaedb55bc08f38 Josef Bacik   2013-10-11  210  	slot++;
b9ef22dedde08a Feifei Xu     2016-06-01  211  	offset += sectorsize;
d77b90cfe08f4c Qu Wenruo     2026-01-22  212  
d77b90cfe08f4c Qu Wenruo     2026-01-22  213  	/* Start 15 * blocksize, length 2 * blocksize, regular. */
b9ef22dedde08a Feifei Xu     2016-06-01  214  	insert_extent(root, offset, 2 * sectorsize, 4 * sectorsize,
b9ef22dedde08a Feifei Xu     2016-06-01  215  		      2 * sectorsize, disk_bytenr, sectorsize,
aaedb55bc08f38 Josef Bacik   2013-10-11  216  		      BTRFS_FILE_EXTENT_REG, BTRFS_COMPRESS_ZLIB, slot);
aaedb55bc08f38 Josef Bacik   2013-10-11  217  	slot++;
b9ef22dedde08a Feifei Xu     2016-06-01  218  	offset += 2 * sectorsize;
b9ef22dedde08a Feifei Xu     2016-06-01  219  	disk_bytenr += 2 * sectorsize;
aaedb55bc08f38 Josef Bacik   2013-10-11  220  
d77b90cfe08f4c Qu Wenruo     2026-01-22  221  	/* Start 17 * blocksize, length 1 * blocksize, regular. */
b9ef22dedde08a Feifei Xu     2016-06-01  222  	insert_extent(root, offset, sectorsize, sectorsize, 0, disk_bytenr,
b9ef22dedde08a Feifei Xu     2016-06-01  223  		      sectorsize, BTRFS_FILE_EXTENT_REG, 0, slot);
aaedb55bc08f38 Josef Bacik   2013-10-11  224  	slot++;
b9ef22dedde08a Feifei Xu     2016-06-01  225  	offset += 4 * sectorsize;
b9ef22dedde08a Feifei Xu     2016-06-01  226  	disk_bytenr += sectorsize;
d77b90cfe08f4c Qu Wenruo     2026-01-22  227  
d77b90cfe08f4c Qu Wenruo     2026-01-22  228  	/*
d77b90cfe08f4c Qu Wenruo     2026-01-22  229  	 * Start 18 * blocksize, length 3 * blocksize, implied hole (aka no
d77b90cfe08f4c Qu Wenruo     2026-01-22  230  	 * file extent item).
d77b90cfe08f4c Qu Wenruo     2026-01-22  231  	 *
d77b90cfe08f4c Qu Wenruo     2026-01-22  232  	 * Start 21 * blocksize, length 1 * blocksize, regular.
d77b90cfe08f4c Qu Wenruo     2026-01-22  233  	 */
b9ef22dedde08a Feifei Xu     2016-06-01  234  	insert_extent(root, offset, sectorsize, sectorsize, 0, disk_bytenr,
b9ef22dedde08a Feifei Xu     2016-06-01  235  		      sectorsize, BTRFS_FILE_EXTENT_REG, 0, slot);
aaedb55bc08f38 Josef Bacik   2013-10-11  236  }
aaedb55bc08f38 Josef Bacik   2013-10-11  237  

:::::: The code at line 16 was first introduced by commit
:::::: aaedb55bc08f384b7f57dbb3222a511baed4decf Btrfs: add tests for btrfs_get_extent

:::::: TO: Josef Bacik <jbacik@fusionio.com>
:::::: CC: Chris Mason <chris.mason@fusionio.com>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

                 reply	other threads:[~2026-09-11  2:14 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202609110937.zHKPPXJk-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=brads@mainlining.org \
    --cc=brauner@kernel.org \
    --cc=christianvanbrauner@gmail.com \
    --cc=morbo@google.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.