• L
    ext4: Add EXT4_IOC_TRIM ioctl to handle batched discard · e681c047
    Lukas Czerner 提交于
    Filesystem independent ioctl was rejected as not common enough to be in
    core vfs ioctl. Since we still need to access to this functionality this
    commit adds ext4 specific ioctl EXT4_IOC_TRIM to dispatch
    ext4_trim_fs().
    
    It takes fstrim_range structure as an argument. fstrim_range is definec in
    the include/linux/fs.h and its definition is as follows.
    
    struct fstrim_range {
    	__u64 start;
    	__u64 len;
    	__u64 minlen;
    }
    
    start	- first Byte to trim
    len	- number of Bytes to trim from start
    minlen	- minimum extent length to trim, free extents shorter than this
      number of Bytes will be ignored. This will be rounded up to fs
      block size.
    
    After the FITRIM is done, the number of actually discarded Bytes is stored
    in fstrim_range.len to give the user better insight on how much storage
    space has been really released for wear-leveling.
    Signed-off-by: NLukas Czerner <lczerner@redhat.com>
    Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
    e681c047
ioctl.c 9.9 KB