Re: [PATCH RFC 0/8] xfs: introduce inode data inline feature

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jul 06, 2018 at 11:12:21AM +0800, Shan Hai wrote:
> 
> This series implements xfs inode data inlining feature.
> 
> Refered below link during development:
> https://marc.info/?l=linux-xfs&m=120493585731509&w=2
> 
> 
> How it works:
> - the data inlining happens at:
>   write_iter: for DIO/DAX write
>   writeback: for buffered write
> - extents to local format conversion is done in writeback but not in write_iter
> - local to extents format conversion is done in the write_iter and writeback
> - log the whole inode (core/data) on extents to local conversion
> - add a new mkfs.xfs option to enable data inline feature
> 
> How to test:
> mkfs.xfs -f -i size=2048,inline=1 -m crc=1,finobt=1,rmapbt=1,reflink=1 /dev/sdX
> mount /dev/sdX mnt_pnt
> 
> Test results:
> mkfs.xfs -f -i size=2048,inline=1 -m crc=1,finobt=1,rmapbt=1,reflink=1 /dev/sdb
> mkfs.xfs -f -i size=2048          -m crc=1,finobt=1,rmapbt=1,reflink=1 /dev/sdd
> mount /dev/sdb /mnt/sdb
> mount /dev/sdd /mnt/sdd
> 
> Copy the linux v4.18-rc3 source code to /mnt/sdb and /mnt/sdd respectively:
> Filesystem                        Size  Used Avail Use% Mounted on
> /dev/sdb                           10G  2.4G  7.7G  24% /mnt/sdb
> /dev/sdd                           10G  3.1G  6.9G  31% /mnt/sdd
> 
> mkfs.xfs -f -i size=2048,inline=1 -m crc=1,finobt=1,rmapbt=1,reflink=1 /dev/sdc
> mkfs.xfs -f -i size=2048          -m crc=1,finobt=1,rmapbt=1,reflink=1 /dev/sde
> mount /dev/sdc /mnt/sdc
> mount /dev/sde /mnt/sde
> 
> Build the v4.18-rc3 kernel on /dev/sdc and /dev/sde respectively:
> make x86_64_defconfig
> 
> Filesystem                        Size  Used Avail Use% Mounted on
> /dev/sdc                           10G  689M  9.4G   7% /mnt/sdc
> /dev/sde                           10G  694M  9.4G   7% /mnt/sde

Not much of a savings... but I'll give this a preliminary review anyway.

Also, I am probably going to merge hch's bufferhead killing series for
4.19, which will rip right through a lot of this. :)

--D

> 
> Kernel part:
> 0001-xfs-introduce-inline-data-superblock-feature-bit.patch
> 0002-xfs-introduce-extents-to-local-conversion-helper.patch
> 0003-xfs-convert-inode-from-extents-to-local-format.patch
> 0004-xfs-implement-inline-data-read-write-code.patch
> 0005-xfs-consider-the-local-format-inode-in-misc-operatio.patch
> 0006-xfs-fix-imbalanced-locking.patch
> 0007-xfs-return-non-zero-blocks-for-inline-data.patch
> 0008-xfs-skip-local-format-inode-for-reflinking.patch
> 
>  fs/xfs/libxfs/xfs_bmap.c      |  78 +++++++++++++++++++++++++++++++-----
>  fs/xfs/libxfs/xfs_bmap.h      |   4 ++
>  fs/xfs/libxfs/xfs_format.h    |  10 ++++-
>  fs/xfs/libxfs/xfs_fs.h        |   1 +
>  fs/xfs/libxfs/xfs_inode_buf.c |   6 ---
>  fs/xfs/libxfs/xfs_sb.c        |   2 +
>  fs/xfs/scrub/inode.c          |   2 +-
>  fs/xfs/xfs_aops.c             |  60 ++++++++++++++++++++++++++++
>  fs/xfs/xfs_bmap_util.c        |  11 +++++-
>  fs/xfs/xfs_file.c             | 244 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
>  fs/xfs/xfs_inode.c            |  20 +++++++---
>  fs/xfs/xfs_inode_item.c       |   5 ++-
>  fs/xfs/xfs_ioctl.c            |   5 ++-
>  fs/xfs/xfs_iomap.c            |   5 ++-
>  fs/xfs/xfs_iops.c             |   8 +++-
>  fs/xfs/xfs_log_recover.c      |   3 +-
>  fs/xfs/xfs_reflink.c          |   6 +++
>  17 files changed, 437 insertions(+), 33 deletions(-)
> 
> xfsprogs part:
> 0001-xfsprogs-add-inode-inline-data-support.patch 
> 
>  growfs/xfs_growfs.c | 14 +++++++++-----
>  libxfs/xfs_format.h |  4 +++-
>  libxfs/xfs_fs.h     |  1 +
>  mkfs/xfs_mkfs.c     | 20 +++++++++++++++++---
>  4 files changed, 30 insertions(+), 9 deletions(-)
> 
> 
> Thanks
> Shan Hai
> --
> To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux