Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'xfs-5.17-merge-7' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux

Pull xfs fixes from Darrick Wong:
"One of the patches removes some dead code from xfs_ioctl32.h and the
other fixes broken workqueue flushing in the inode garbage collector.

- Minor cleanup of ioctl32 cruft

- Clean up open coded inodegc workqueue function calls"

* tag 'xfs-5.17-merge-7' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
xfs: flush inodegc workqueue tasks before cancel
xfs: remove unused xfs_ioctl32.h declarations

+4 -36
+4 -18
fs/xfs/xfs_icache.c
··· 1854 1854 } 1855 1855 1856 1856 /* 1857 - * Force all currently queued inode inactivation work to run immediately, and 1858 - * wait for the work to finish. Two pass - queue all the work first pass, wait 1859 - * for it in a second pass. 1857 + * Force all currently queued inode inactivation work to run immediately and 1858 + * wait for the work to finish. 1860 1859 */ 1861 1860 void 1862 1861 xfs_inodegc_flush( 1863 1862 struct xfs_mount *mp) 1864 1863 { 1865 - struct xfs_inodegc *gc; 1866 - int cpu; 1867 - 1868 1864 if (!xfs_is_inodegc_enabled(mp)) 1869 1865 return; 1870 1866 1871 1867 trace_xfs_inodegc_flush(mp, __return_address); 1872 1868 1873 1869 xfs_inodegc_queue_all(mp); 1874 - 1875 - for_each_online_cpu(cpu) { 1876 - gc = per_cpu_ptr(mp->m_inodegc, cpu); 1877 - flush_work(&gc->work); 1878 - } 1870 + flush_workqueue(mp->m_inodegc_wq); 1879 1871 } 1880 1872 1881 1873 /* ··· 1878 1886 xfs_inodegc_stop( 1879 1887 struct xfs_mount *mp) 1880 1888 { 1881 - struct xfs_inodegc *gc; 1882 - int cpu; 1883 - 1884 1889 if (!xfs_clear_inodegc_enabled(mp)) 1885 1890 return; 1886 1891 1887 1892 xfs_inodegc_queue_all(mp); 1893 + drain_workqueue(mp->m_inodegc_wq); 1888 1894 1889 - for_each_online_cpu(cpu) { 1890 - gc = per_cpu_ptr(mp->m_inodegc, cpu); 1891 - cancel_work_sync(&gc->work); 1892 - } 1893 1895 trace_xfs_inodegc_stop(mp, __return_address); 1894 1896 } 1895 1897
-18
fs/xfs/xfs_ioctl32.h
··· 142 142 _IOW('X', 123, struct compat_xfs_fsop_attrmulti_handlereq) 143 143 144 144 #ifdef BROKEN_X86_ALIGNMENT 145 - /* on ia32 l_start is on a 32-bit boundary */ 146 - typedef struct compat_xfs_flock64 { 147 - __s16 l_type; 148 - __s16 l_whence; 149 - __s64 l_start __attribute__((packed)); 150 - /* len == 0 means until end of file */ 151 - __s64 l_len __attribute__((packed)); 152 - __s32 l_sysid; 153 - __u32 l_pid; 154 - __s32 l_pad[4]; /* reserve area */ 155 - } compat_xfs_flock64_t; 156 - 157 - #define XFS_IOC_RESVSP_32 _IOW('X', 40, struct compat_xfs_flock64) 158 - #define XFS_IOC_UNRESVSP_32 _IOW('X', 41, struct compat_xfs_flock64) 159 - #define XFS_IOC_RESVSP64_32 _IOW('X', 42, struct compat_xfs_flock64) 160 - #define XFS_IOC_UNRESVSP64_32 _IOW('X', 43, struct compat_xfs_flock64) 161 - #define XFS_IOC_ZERO_RANGE_32 _IOW('X', 57, struct compat_xfs_flock64) 162 - 163 145 typedef struct compat_xfs_fsop_geom_v1 { 164 146 __u32 blocksize; /* filesystem (data) block size */ 165 147 __u32 rtextsize; /* realtime extent size */