diff options
| author | Marek Vasut <[email protected]> | 2025-04-13 10:54:59 +0200 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2025-04-21 11:07:04 -0600 |
| commit | aeed1373724e862acec9fda972d352c9241ee901 (patch) | |
| tree | 9afe02dfcf5272c14ea8fb6baa6001492e3a7048 | |
| parent | 739ad58dbee874a3ad3bddd116e995212a254e07 (diff) | |
fs: exfat: Flush node before put in read() callback
Make sure the node is never dirty before being released, flush
the node first using exfat_flush_node() and only then release
the node using exfat_put_node(). This now matches the behavior
of exfat_fs_write() too.
Fixes: b86a651b646c ("fs: exfat: Add U-Boot porting layer")
Signed-off-by: Marek Vasut <[email protected]>
| -rw-r--r-- | fs/exfat/io.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/exfat/io.c b/fs/exfat/io.c index 81e82829c72..12498a4a6ec 100644 --- a/fs/exfat/io.c +++ b/fs/exfat/io.c @@ -898,9 +898,7 @@ int exfat_fs_read(const char *filename, void *buf, loff_t offset, loff_t len, *actread = sz; - exfat_put_node(&ctxt.ef, node); - - return exfat_flush_node(&ctxt.ef, node); + err = exfat_flush_node(&ctxt.ef, node); exit: exfat_put_node(&ctxt.ef, node); return err; |
