mirror of
https://github.com/torvalds/linux.git
synced 2026-09-14 16:10:02 +02:00
xfs: don't modify file attributes or poke fsnotify for dry runs
I noticed that we shouldn't be removing file privileges when doing a dry
run of an exchange-range operation. LOLLM also points out that a dry
run shouldn't poke fsnotify because we don't actually change the files.
Fix both by gating them on !DRY_RUN.
Cc: stable@vger.kernel.org # v6.10
Fixes: 42672471f9 ("xfs: bind together the front and back ends of the file range exchange code")
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Assisted-by: LOLLM # finding obvious bugs
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
This commit is contained in:
parent
b71ae66863
commit
365fe37e10
|
|
@ -504,6 +504,9 @@ xfs_exchange_range_finish(
|
|||
{
|
||||
int error;
|
||||
|
||||
if (fxr->flags & XFS_EXCHANGE_RANGE_DRY_RUN)
|
||||
return 0;
|
||||
|
||||
error = file_remove_privs(fxr->file1);
|
||||
if (error)
|
||||
return error;
|
||||
|
|
@ -783,9 +786,12 @@ xfs_exchange_range(
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
fsnotify_modify(fxr->file1);
|
||||
if (fxr->file2 != fxr->file1)
|
||||
fsnotify_modify(fxr->file2);
|
||||
if (!(fxr->flags & XFS_EXCHANGE_RANGE_DRY_RUN)) {
|
||||
fsnotify_modify(fxr->file1);
|
||||
if (fxr->file2 != fxr->file1)
|
||||
fsnotify_modify(fxr->file2);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user