Pull XFS updates from Darrick Wong: "For this release, we changed quite a few things. Highlights: - Fixed some long tail latency problems in the block allocator - Removed some long deprecated (and for the past several years no-op) mount options and ioctls - Strengthened the extended attribute and directory verifiers - Audited and fixed all the places where we could return EFSCORRUPTED without logging anything - Refactored the old SGI space allocation ioctls to make the equivalent fallocate calls - Fixed a race between fallocate and directio - Fixed an integer overflow when files have more than a few billion(!) extents - Fixed a longstanding bug where quota accounting could be incorrect when performing unwritten extent conversion on a freshly mounted fs - Fixed various complaints in scrub about soft lockups and unresponsiveness to signals - De-vtable'd the directory handling code, which should make it faster - Converted to the new mount api, for better or for worse - Cleaned up some memory leaks and quite a lot of other smaller fixes and cleanups. A more detailed summary: - Fill out the build string - Prevent inode fork extent count overflows - Refactor the allocator to reduce long tail latency - Rework incore log locking a little to reduce spinning - Break up the xfs_iomap_begin functions into smaller more cohesive parts - Fix allocation alignment being dropped too early when the allocation request is for more blocks than an AG is large - Other small cleanups - Clean up file buftarg retrieval helpers - Hoist the resvsp and unresvsp ioctls to the vfs - Remove the undocumented biosize mount option, since it has never been mentioned as existing or supported on linux - Clean up some of the mount option printing and parsing - Enhance attr leaf verifier to check block structure - Check dirent and attr names for invalid characters before passing them to the vfs - Refactor open-coded bmbt walking - Fix a few places where we return EIO instead of EFSCORRUPTED after failing metadata sanity checks - Fix a synchronization problem between fallocate and aio dio corrupting the file length - Clean up various loose ends in the iomap and bmap code - Convert to the new mount api - Make sure we always log something when returning EFSCORRUPTED - Fix some problems where long running scrub loops could trigger soft lockup warnings and/or fail to exit due to fatal signals pending - Fix various Coverity complaints - Remove most of the function pointers from the directory code to reduce indirection penalties - Ensure that dquots are attached to the inode when performing unwritten extent conversion after io - Deuglify incore projid and crtime types - Fix another AGI/AGF locking order deadlock when renaming - Clean up some quota typedefs - Remove the FSSETDM ioctls which haven't done anything in 20 years - Fix some memory leaks when mounting the log fails - Fix an underflow when updating an xattr leaf freemap - Remove some trivial wrappers - Report metadata corruption as an error, not a (potentially) fatal assertion - Clean up the dir/attr buffer mapping code - Allow fatal signals to kill scrub during parent pointer checks" * tag 'xfs-5.5-merge-16' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (198 commits) xfs: allow parent directory scans to be interrupted with fatal signals xfs: remove the mappedbno argument to xfs_da_get_buf xfs: remove the mappedbno argument to xfs_da_read_buf xfs: split xfs_da3_node_read xfs: remove the mappedbno argument to xfs_dir3_leafn_read xfs: remove the mappedbno argument to xfs_dir3_leaf_read xfs: remove the mappedbno argument to xfs_attr3_leaf_read xfs: remove the mappedbno argument to xfs_da_reada_buf xfs: improve the xfs_dabuf_map calling conventions xfs: refactor xfs_dabuf_map xfs: simplify mappedbno handling in xfs_da_{get,read}_buf xfs: report corruption only as a regular error xfs: Remove kmem_zone_free() wrapper xfs: Remove kmem_zone_destroy() wrapper xfs: Remove slab init wrappers xfs: fix attr leaf header freemap.size underflow xfs: fix some memory leaks in log recovery xfs: fix another missing include xfs: remove XFS_IOC_FSSETDM and XFS_IOC_FSSETDM_BY_HANDLE xfs: remove duplicated include from xfs_dir2_data.c ...
Showing the changes to include/linux (2 of 126 files). Show all
Unified · Split
| @@ -20,7 +20,10 @@ struct space_resv { · 19 unmodified lines | |||
| 20 | }; | 20 | }; |
| 21 | 21 | ||
| 22 | #define FS_IOC_RESVSP _IOW('X', 40, struct space_resv) | 22 | #define FS_IOC_RESVSP _IOW('X', 40, struct space_resv) |
| 23 | #define FS_IOC_UNRESVSP _IOW('X', 41, struct space_resv) | ||
| 23 | #define FS_IOC_RESVSP64 _IOW('X', 42, struct space_resv) | 24 | #define FS_IOC_RESVSP64 _IOW('X', 42, struct space_resv) |
| 25 | #define FS_IOC_UNRESVSP64 _IOW('X', 43, struct space_resv) | ||
| 26 | #define FS_IOC_ZERO_RANGE _IOW('X', 57, struct space_resv) | ||
| 24 | 27 | ||
| 25 | #define FALLOC_FL_SUPPORTED_MASK (FALLOC_FL_KEEP_SIZE | \ | 28 | #define FALLOC_FL_SUPPORTED_MASK (FALLOC_FL_KEEP_SIZE | \ |
| 26 | FALLOC_FL_PUNCH_HOLE | \ | 29 | FALLOC_FL_PUNCH_HOLE | \ |
| @@ -42,10 +45,13 @@ struct space_resv_32 { · 15 unmodified lines | |||
| 42 | __s32 l_pad[4]; /* reserve area */ | 45 | __s32 l_pad[4]; /* reserve area */ |
| 43 | }; | 46 | }; |
| 44 | 47 | ||
| 45 | #define FS_IOC_RESVSP_32 _IOW ('X', 40, struct space_resv_32) | 48 | #define FS_IOC_RESVSP_32 _IOW ('X', 40, struct space_resv_32) |
| 49 | #define FS_IOC_UNRESVSP_32 _IOW ('X', 41, struct space_resv_32) | ||
| 46 | #define FS_IOC_RESVSP64_32 _IOW ('X', 42, struct space_resv_32) | 50 | #define FS_IOC_RESVSP64_32 _IOW ('X', 42, struct space_resv_32) |
| 51 | #define FS_IOC_UNRESVSP64_32 _IOW ('X', 43, struct space_resv_32) | ||
| 52 | #define FS_IOC_ZERO_RANGE_32 _IOW ('X', 57, struct space_resv_32) | ||
| 47 | 53 | ||
| 48 | int compat_ioctl_preallocate(struct file *, struct space_resv_32 __user *); | 54 | int compat_ioctl_preallocate(struct file *, int, struct space_resv_32 __user *); |
| 49 | 55 | ||
| 50 | #endif | 56 | #endif |
| 51 | 57 | ||
| @@ -2554,7 +2554,7 @@ extern int finish_no_open(struct file *file, struct dentry *dentry); · 2553 unmodified lines | |||
| 2554 | 2554 | ||
| 2555 | /* fs/ioctl.c */ | 2555 | /* fs/ioctl.c */ |
| 2556 | 2556 | ||
| 2557 | extern int ioctl_preallocate(struct file *filp, void __user *argp); | 2557 | extern int ioctl_preallocate(struct file *filp, int mode, void __user *argp); |
| 2558 | 2558 | ||
| 2559 | /* fs/dcache.c */ | 2559 | /* fs/dcache.c */ |
| 2560 | extern void __init vfs_caches_init_early(void); | 2560 | extern void __init vfs_caches_init_early(void); |