<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-next.git/tools/testing/selftests/filesystems, branch master</title>
<subtitle>Linux kernel latest source</subtitle>
<id>http://mirrors.hust.edu.cn/git/linux-next.git/atom?h=master</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/linux-next.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/'/>
<updated>2026-09-04T17:21:27+00:00</updated>
<entry>
<title>Merge branch 'fs-next' of linux-next</title>
<updated>2026-09-04T17:21:27+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2026-09-04T17:21:27+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=216eca0e015dc8e7f443a486a874a6511daf8673'/>
<id>urn:sha1:216eca0e015dc8e7f443a486a874a6511daf8673</id>
<content type='text'>
# Conflicts:
#	tools/testing/selftests/Makefile
</content>
</entry>
<entry>
<title>Merge branch 'vfs.all' of https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git</title>
<updated>2026-09-04T16:31:54+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2026-09-04T16:31:54+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=38bc41f9c548222c56919fe5534c184afafb351c'/>
<id>urn:sha1:38bc41f9c548222c56919fe5534c184afafb351c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>selftests/epoll: fix race condition in multi-waiter wakeup tests</title>
<updated>2026-09-04T00:39:47+00:00</updated>
<author>
<name>Florian Schmaus</name>
<email>florian.schmaus@codasip.com</email>
</author>
<published>2026-08-28T15:54:07+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=1557dc7a51e30fc20d2247ef848357cd6ef7e2b9'/>
<id>urn:sha1:1557dc7a51e30fc20d2247ef848357cd6ef7e2b9</id>
<content type='text'>
In tests with multiple concurrent waiters on edge-triggered epoll
instances where an emitter writes to multiple sockets (epoll16, epoll56,
epoll58):

When the emitter performs its first write(), ep_poll_callback() fires and
wakes up both waiters because one waiter uses epoll_wait() and the other
one uses poll().  This translates to different wait queues, ep-&gt;wq for
epoll and ep-&gt;poll_wait for poll/select, which are both awoken by the
kernel because of that single write.  Next, both waiter threads invoke
epoll_wait(), but since there is only one event, only one epoll_wait()
will return non-zero because of the edge-triggered mode being used (in
level-triggered mode, the kernel would re-queue the event because of
remaining unread data).

Since the second waiter sees an empty ready list, it does not increment
ctx.count and the test fails spuriously with ctx.count == 1 instead of 2.

  Emitter (CPU 0)      Thread 0 (CPU 1)        Thread 1 (CPU 2)
  ===============      ================        ================
                       epoll_wait(e0, -1)      poll(e0, -1)
                       [on e0-&gt;wq]             [on e0-&gt;poll_wait]

  write(sfd[1])
       |
       +--(Kernel wakes BOTH e0-&gt;wq and e0-&gt;poll_wait via callback)--+
       |                                                             |
       |               wakes up                wakes up              |
       |               epoll_wait() reaps e1   poll() returns 1      |
       |               (e1 removed via ET)     (wants event)         |
       |               e0-&gt;rdllist is EMPTY          |               |
       |               count++ (count = 1)           v               |
       |                                       epoll_wait(e0, 0)     |
       |                                       sees EMPTY list!      |
       |                                       returns 0!            |
       |                                       thread exits          |
       v                                                             |
  write(sfd[3])                                                      |
  (event arrives too late!)                                          v
                           EXPECT_EQ(count, 2)  &lt;-- SPURIOUS FAILURE!

Introduce waiter_entry1ap_loop() to retry poll() if the initial
epoll_wait(..., 0) yielded no events.  This ensures the thread waits for
the subsequent write rather than failing immediately.  Apply this helper
in epoll16, epoll56, and for both waiter threads in epoll58.

Link: https://lore.kernel.org/20260828-selftest-epoll-fix-race-v2-1-953ab57fd60a@codasip.com
Fixes: f2728fe80cef ("selftests: add epoll selftests")
Signed-off-by: Florian Schmaus &lt;florian.schmaus@codasip.com&gt;
Cc: Heiher &lt;r@hev.cc&gt;
Cc: Roman Penyaev &lt;rpenyaev@suse.de&gt;
Cc: Shuah Khan &lt;shuah@kernel.org&gt;
Cc: Christian Brauner &lt;brauner@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'vfs-7.4.misc' into vfs.all</title>
<updated>2026-09-02T20:44:30+00:00</updated>
<author>
<name>Christian Brauner</name>
<email>brauner@kernel.org</email>
</author>
<published>2026-09-02T20:44:30+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=43bdb059059436c2cf5463eac7530dc9424cc2d7'/>
<id>urn:sha1:43bdb059059436c2cf5463eac7530dc9424cc2d7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>selftests/fuse: add test for FUSE_HAS_SYNCFS privilege gating</title>
<updated>2026-09-02T07:36:07+00:00</updated>
<author>
<name>Jimmy Zuber</name>
<email>jamz@amazon.com</email>
</author>
<published>2026-08-20T13:01:58+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=a6ca1a573e1fd9474c6226412fb743b4ef7e3472'/>
<id>urn:sha1:a6ca1a573e1fd9474c6226412fb743b4ef7e3472</id>
<content type='text'>
Add a selftest that talks the raw FUSE protocol over /dev/fuse (rather
than via libfuse, which negotiates INIT internally) so it can both choose
whether to advertise FUSE_HAS_SYNCFS and directly observe whether a
FUSE_SYNCFS opcode is forwarded by the kernel.

Three cases are covered:

  T1: host-root mount, server sets FUSE_HAS_SYNCFS
      -&gt; FUSE_SYNCFS must reach the server.
  T2: host-root mount, server does not opt in
      -&gt; FUSE_SYNCFS must not be sent (back-compat).
  T3: server opts in but opened /dev/fuse without CAP_SYS_ADMIN while still
      in the initial user namespace
      -&gt; FUSE_SYNCFS must be withheld.  This is the case that distinguishes
         gating on the server's privilege from gating on the mount's user
         namespace.

Signed-off-by: Jimmy Zuber &lt;jamz@amazon.com&gt;
Assisted-by: Claude:claude-opus-4-8 [Claude-Code]
Signed-off-by: Miklos Szeredi &lt;mszeredi@redhat.com&gt;
</content>
</entry>
<entry>
<title>selftests/filesystems: Add .gitignore for fscontext_ns_test</title>
<updated>2026-08-31T09:55:48+00:00</updated>
<author>
<name>Mahad Ibrahim</name>
<email>mahad.ibrahim.dev@gmail.com</email>
</author>
<published>2026-08-19T16:17:38+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=b573f7966695470dd9f5659d32681e7e2821d426'/>
<id>urn:sha1:b573f7966695470dd9f5659d32681e7e2821d426</id>
<content type='text'>
fscontext_ns_test is listed in TEST_GEN_PROGS and is built in the
fscontext_ns directory, but the directory has no .gitignore. The binary
is thus left untracked by git after being compiled.

git status lists:

  Untracked files:
    (use "git add &lt;file&gt;..." to include in what will be committed)
	  tools/testing/selftests/filesystems/fscontext_ns/fscontext_ns_test

Every test directory must include a .gitignore which contains all the
generated objects, as per the documentation and convention.

Add .gitignore to ignore fscontext_ns_test.

Fixes: d64ba78b749a ("selftests/filesystems: test completing a context from another user namespace")
Signed-off-by: Mahad Ibrahim &lt;mahad.ibrahim.dev@gmail.com&gt;
Link: https://patch.msgid.link/20260819161738.3517-1-mahad.ibrahim.dev@gmail.com
Signed-off-by: Christian Brauner (Amutable) &lt;brauner@kernel.org&gt;
</content>
</entry>
<entry>
<title>selftests/filesystems: skip listxattr kernfs test if xattrs are present</title>
<updated>2026-08-31T09:55:42+00:00</updated>
<author>
<name>Disha Goel</name>
<email>disgoel@linux.ibm.com</email>
</author>
<published>2026-08-03T15:08:37+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=f8f42dbbb9c6056a8ce50942ceb242c46cf91815'/>
<id>urn:sha1:f8f42dbbb9c6056a8ce50942ceb242c46cf91815</id>
<content type='text'>
kernfs_test assumes that flistxattr() on /sys/kernel/warn_count always
returns an empty list. However, systems with SELinux enabled may expose
security.selinux xattr via listxattr() during policy load, which makes
the test fail even though kernfs is behaving correctly.

Skip the xattr content check if any xattrs are present, while still
verifying that flistxattr() succeeds (returns &gt;= 0) on a kernfs file.
The existing user.foo getxattr check remains unchanged.

This avoids false failures on SELinux-enabled systems while preserving
the original purpose of the test.

Tested-by: Yeswanth Krishna &lt;yeswanth@linux.ibm.com&gt;
Signed-off-by: Disha Goel &lt;disgoel@linux.ibm.com&gt;
Link: https://patch.msgid.link/20260803150837.91604-1-disgoel@linux.ibm.com
Signed-off-by: Christian Brauner (Amutable) &lt;brauner@kernel.org&gt;
</content>
</entry>
<entry>
<title>selftest: add tests for open*(O_CREAT|O_DIRECTORY)</title>
<updated>2026-08-31T08:32:27+00:00</updated>
<author>
<name>Jori Koolstra</name>
<email>jkoolstra@xs4all.nl</email>
</author>
<published>2026-08-23T16:07:06+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=f54e04941355e0c97b0ce825964afd2a89a54f6a'/>
<id>urn:sha1:f54e04941355e0c97b0ce825964afd2a89a54f6a</id>
<content type='text'>
Add some tests for the new valid O_CREAT|O_DIRECTORY flag combination for
open*(2) to test compliance and to showcase its behaviour.

Signed-off-by: Jori Koolstra &lt;jkoolstra@xs4all.nl&gt;
Link: https://patch.msgid.link/20260823160706.358293-11-jkoolstra@xs4all.nl
Signed-off-by: Christian Brauner (Amutable) &lt;brauner@kernel.org&gt;
</content>
</entry>
<entry>
<title>selftests/filesystems: Move file_stressor to dedicated subdirectory</title>
<updated>2026-08-31T07:48:48+00:00</updated>
<author>
<name>Disha Goel</name>
<email>disgoel@linux.ibm.com</email>
</author>
<published>2026-05-21T10:17:56+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=5550456dad376f1c215f38f019f129b9218a740e'/>
<id>urn:sha1:5550456dad376f1c215f38f019f129b9218a740e</id>
<content type='text'>
The file_stressor test requires a 30-minute timeout (1800 seconds) due to
its 15-minute runtime plus setup/teardown overhead. This is significantly
longer than the default 45-second timeout used by other filesystem tests.

Move file_stressor into its own subdirectory (filesystems/file_stressor/)
with a dedicated settings file to isolate its timeout configuration. This
prevents the long timeout from affecting other fast-running tests in the
filesystems/ directory.

This restructuring follows the pattern used by other selftests with special
requirements and ensures proper timeout handling in CI/CD environments
while maintaining the default 45-second timeout for other filesystem tests.

Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Closes: https://lore.kernel.org/all/202605192100.DvRgEGZ3-lkp@intel.com/
Signed-off-by: Disha Goel &lt;disgoel@linux.ibm.com&gt;
Link: https://patch.msgid.link/20260521101758.14639-1-disgoel@linux.ibm.com
Tested-by: Yeswanth Krishna &lt;yeswanth@linux.ibm.com&gt;
Reviewed-by: Ojaswin Mujoo &lt;ojaswin@linux.ibm.com&gt;
Signed-off-by: Christian Brauner (Amutable) &lt;brauner@kernel.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'fuse-update-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse</title>
<updated>2026-08-25T14:59:44+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2026-08-25T14:59:44+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=9cebfe6504488198b012e746bc6b313f88b95439'/>
<id>urn:sha1:9cebfe6504488198b012e746bc6b313f88b95439</id>
<content type='text'>
Pull fuse updates from Miklos Szeredi:

 - Improve performance of the io-uring transport by introducing buffer
   pools and zero-copy (Joanne)

 - Fix lots of bugs (Baokun Li)

 - Fix io-uring initialization issues (Joanne, Bernd)

 - More prep work for large folios (Joanne)

 - Don't limit buffered read to 128k (Jim Harris)

 - Fix zeroing of page end (dirtied with mmap) on file size extension
   (Jimmy Zuber)

 - Improve performance in certain cases with wake_up_sync() when queuing
   request (Xuewen Yan)

 - Misc fixes and cleanups (Xuewen Yan)

* tag 'fuse-update-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: (35 commits)
  fuse: zero the partial EOF page when extending a file
  io_uring: Add missing include for ITER_SOURCE and ITER_DEST
  fuse: Fix the condition to enable over-io-uring
  fuse: invalidate the correct range after O_APPEND direct write
  selftests/fuse: test post-EOF page zeroing when a file is extended
  fuse: wake one waiter per freed slot when raising max_background
  fuse: use min_not_zero() in fuse_init_server_timeout()
  fuse: copy request headers via a stack buffer for io-uring
  fuse: give wakeup hints to the scheduler for synchronous requests
  fuse: check for NULL root inode in fuse_fill_super_submount
  fuse: reject a duplicate fd= mount option
  cuse: wait for pending RCU callbacks on module exit
  fuse: fix invalidate lock leak on open O_TRUNC DAX failure
  fuse: fix invalidate lock leak on setattr writeback failure
  fuse: wait for FR_FINISHED on abort_on_kill to prevent use-after-free
  fuse: make dentry_tree_work static
  docs: fuse: document io-uring buffer pool and zero-copy uapi
  fuse: add zero-copy over io-uring
  fuse: support registered buffer pools in io-uring
  fuse: add io-uring buffer pools
  ...
</content>
</entry>
</feed>
