Skip to content

Commit 1cb69c8

Browse files
committed
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
2 parents 7fd350f + 6191cf3 commit 1cb69c8

File tree

2 files changed

+4
-36
lines changed

2 files changed

+4
-36
lines changed

fs/xfs/xfs_icache.c

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1854,28 +1854,20 @@ xfs_inodegc_worker(
18541854
}
18551855

18561856
/*
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.
18601859
*/
18611860
void
18621861
xfs_inodegc_flush(
18631862
struct xfs_mount *mp)
18641863
{
1865-
struct xfs_inodegc *gc;
1866-
int cpu;
1867-
18681864
if (!xfs_is_inodegc_enabled(mp))
18691865
return;
18701866

18711867
trace_xfs_inodegc_flush(mp, __return_address);
18721868

18731869
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);
18791871
}
18801872

18811873
/*
@@ -1886,18 +1878,12 @@ void
18861878
xfs_inodegc_stop(
18871879
struct xfs_mount *mp)
18881880
{
1889-
struct xfs_inodegc *gc;
1890-
int cpu;
1891-
18921881
if (!xfs_clear_inodegc_enabled(mp))
18931882
return;
18941883

18951884
xfs_inodegc_queue_all(mp);
1885+
drain_workqueue(mp->m_inodegc_wq);
18961886

1897-
for_each_online_cpu(cpu) {
1898-
gc = per_cpu_ptr(mp->m_inodegc, cpu);
1899-
cancel_work_sync(&gc->work);
1900-
}
19011887
trace_xfs_inodegc_stop(mp, __return_address);
19021888
}
19031889

fs/xfs/xfs_ioctl32.h

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -142,24 +142,6 @@ typedef struct compat_xfs_fsop_attrmulti_handlereq {
142142
_IOW('X', 123, struct compat_xfs_fsop_attrmulti_handlereq)
143143

144144
#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-
163145
typedef struct compat_xfs_fsop_geom_v1 {
164146
__u32 blocksize; /* filesystem (data) block size */
165147
__u32 rtextsize; /* realtime extent size */

0 commit comments

Comments
 (0)