On Tue, Jun 16, 2015 at 10:33:44AM +1000, Dave Chinner wrote: > On Tue, Jun 02, 2015 at 02:41:33PM -0400, Brian Foster wrote: > > Hi all, > > > > Now that the sparse inode chunks feature is merged into the kernel tree > > for 4.2, here is the first official drop of userspace support. This > > series is based on the current libxfs-4.1-update branch. > > > > Patches 1-10 are libxfs infrastructure and correspond to the similarly > > named kernel patches. The bits not relevant to userspace are dropped > > along with the bulk of the sparse inode chunk allocation logic from the > > kernel due to the combination of non-existent dependencies in userspace > > (e.g., xfs_bit.c) and the fact that this code isn't invoked from > > userspace. > > Ok, so this is causing problems with merging other code into > userspace. What I'm trying to do is keepthe kernel fs/xfs/libxfs/ > code as close to identical with the xfsprogs libxfs/ code so that > patches just port straight across. I came across this difference > because my rmap btree patches fail to apply cleanly to xfs_ialloc.c > and it's because of all this missing code in userspace. > > Rather than wait another day or two for you to rework this, Brian, > I'm simply going to rework this series to pull all the kernel patches > across and make it compile in userspace so that I can pull all the > rmap btree stuff across without needing to rework bits and peices of > the patchset. BTW, with patches I'll soon commit: $ tools/libxfs-apply --source ../kern/xfsdev/ --commit 22419ac..22ce1e1 Commits to apply: d4cc540 xfs: create individual inode alloc. helper 999633d xfs: update free inode record logic to support sparse inode records bfe46d4 xfs: support min/max agbno args in block allocator fb4f2b4 xfs: add sparse inode chunk alignment superblock field 066a188 xfs: use sparse chunk alignment for min. inode allocation requirement e5376fc xfs: sparse inode chunks feature helpers and mount requirements 502a4e7 xfs: add fs geometry bit for sparse inode chunks 5419040 xfs: introduce inode record hole mask for sparse inode chunks 12d0714 xfs: use actual inode count for sparse records in bulkstat/inumbers 463958a xfs: pass inode count through ordered icreate log item 7f43c90 xfs: handle sparse inode chunks in icreate log recovery 4148c34 xfs: helper to convert holemask to inode alloc. bitmap 56d1115 xfs: allocate sparse inode chunks on full chunk allocation failure 1cdadee xfs: randomly do sparse inode allocations in DEBUG mode 26dd521 xfs: filter out sparse regions from individual inode allocation 10ae3dc7 xfs: only free allocated regions of inode chunks 09b5660 xfs: skip unallocated regions of inode chunks in xfs_ifree_cluster() 22ce1e1 xfs: enable sparse inode chunks for v5 superblocks Proceed [y|N]? y Applying patch..xfs__create_individual_inode_alloc_helper Patch applied. Patch xfs__create_individual_inode_alloc_helper refreshed Applying patch..xfs__update_free_inode_record_logic_to_support_sparse_inode_records Patch applied. Patch xfs__update_free_inode_record_logic_to_support_sparse_inode_records refreshed Applying patch..xfs__support_min-max_agbno_args_in_block_allocator Patch applied. Patch xfs__support_min-max_agbno_args_in_block_allocator refreshed Applying patch..xfs__add_sparse_inode_chunk_alignment_superblock_field Patch applied. Patch xfs__add_sparse_inode_chunk_alignment_superblock_field refreshed Applying patch..xfs__use_sparse_chunk_alignment_for_min_inode_allocation_requirement Patch applied. Patch xfs__use_sparse_chunk_alignment_for_min_inode_allocation_requirement refreshed Applying patch..xfs__sparse_inode_chunks_feature_helpers_and_mount_requirements Patch applied. Patch xfs__sparse_inode_chunks_feature_helpers_and_mount_requirements refreshed Applying patch..xfs__add_fs_geometry_bit_for_sparse_inode_chunks Patch applied. Patch xfs__add_fs_geometry_bit_for_sparse_inode_chunks refreshed Applying patch..xfs__introduce_inode_record_hole_mask_for_sparse_inode_chunks Patch applied. Patch xfs__introduce_inode_record_hole_mask_for_sparse_inode_chunks refreshed Applying patch..xfs__use_actual_inode_count_for_sparse_records_in_bulkstat-inumbers Patch applied. Patch xfs__use_actual_inode_count_for_sparse_records_in_bulkstat-inumbers refreshed Applying patch..xfs__pass_inode_count_through_ordered_icreate_log_item Patch applied. Patch xfs__pass_inode_count_through_ordered_icreate_log_item refreshed Applying patch..xfs__handle_sparse_inode_chunks_in_icreate_log_recovery Patch applied. Patch xfs__handle_sparse_inode_chunks_in_icreate_log_recovery refreshed Applying patch..xfs__helper_to_convert_holemask_to_inode_alloc_bitmap Patch applied. Patch xfs__helper_to_convert_holemask_to_inode_alloc_bitmap refreshed Applying patch..xfs__allocate_sparse_inode_chunks_on_full_chunk_allocation_failure Patch applied. Patch xfs__allocate_sparse_inode_chunks_on_full_chunk_allocation_failure refreshed Applying patch..xfs__randomly_do_sparse_inode_allocations_in_debug_mode Patch applied. Patch xfs__randomly_do_sparse_inode_allocations_in_debug_mode refreshed Applying patch..xfs__filter_out_sparse_regions_from_individual_inode_allocation Patch applied. Patch xfs__filter_out_sparse_regions_from_individual_inode_allocation refreshed Applying patch..xfs__only_free_allocated_regions_of_inode_chunks Patch applied. Patch xfs__only_free_allocated_regions_of_inode_chunks refreshed Applying patch..xfs__skip_unallocated_regions_of_inode_chunks_in_xfs_ifree_cluster Patch applied. Patch xfs__skip_unallocated_regions_of_inode_chunks_in_xfs_ifree_cluster refreshed Applying patch..xfs__enable_sparse_inode_chunks_for_v5_superblocks Patch applied. Patch xfs__enable_sparse_inode_chunks_for_v5_superblocks refreshed $ The series has applied cleanly with less than 30s work, now I can go and do the bits I need to make it compile.... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs