diff options
| author | Frank Sorenson <sorenson@redhat.com> | 2026-07-24 11:30:35 -0500 |
|---|---|---|
| committer | Steve French <stfrench@microsoft.com> | 2026-07-27 19:37:59 -0500 |
| commit | 0e3ea5445c228048f937ad5a944c27859a78f971 (patch) | |
| tree | ced58fc9d0327aa53b5354e68aced85565efa5e0 /tools/perf/scripts/python/bin/stackcollapse-record | |
| parent | b476724a6d9b2e7db43cb7a59defd396f94cf77c (diff) | |
cifs: consolidate time_last_write stamp into _cifsFileInfo_put()
The time_last_write stamp was scattered across cifs_close(),
smb2_deferred_work_close(), and the three drain functions in misc.c.
This missed the case where background I/O holds the final reference
after userspace close() returns, and required explicit maintenance at
each close-path site.
Move the smp_store_release() into _cifsFileInfo_put(), immediately
before releasing open_file_lock. This single location covers all
close paths unconditionally: normal close, background I/O dropping the
final reference, deferred close via timer or external drain. The
spinlock's store-release/load-acquire pairing with is_inode_writable()
already provides the ordering guarantee documented in
is_size_safe_to_change().
Remove the now-redundant stamps from cifs_close(),
smb2_deferred_work_close(), and all six stamp sites in the misc.c
deferred-close drain functions.
Fixes: e8a8d54c2d50 ("cifs: prevent readdir from changing file size due to stale directory metadata")
Signed-off-by: Frank Sorenson <sorenson@redhat.com>
Reviewed-by: Paulo Alcantara (Red Hat) <pc@manguebit.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-record')
0 files changed, 0 insertions, 0 deletions
