[Concept,02/10] ext4l: Add fsync.c to build
Commit Message
From: Simon Glass <simon.glass@canonical.com>
Add fsync.c which provides filesystem sync operations.
Changes needed:
- Add ext4_uboot.h include to fsync.c
- Remove redundant Linux header includes
- Add trace_ext4_sync_file_enter/exit stubs
- Add dentry operation stubs (d_find_any_alias, dget_parent)
- Add sync operation stubs (sync_mapping_buffers, sync_inode_metadata,
generic_buffers_fsync_noflush, file_write_and_wait_range,
file_check_and_advance_wb_err)
- Add jbd2_trans_will_send_data_barrier stub
- Remove ext4_sync_file stub from stub.c (now in fsync.c)
Co-developed-by: Claude <noreply@anthropic.com>
Signed-off-by: Simon Glass <simon.glass@canonical.com>
---
fs/ext4l/Makefile | 2 +-
fs/ext4l/ext4_uboot.h | 13 +++++++++++++
fs/ext4l/fsync.c | 9 +--------
fs/ext4l/stub.c | 10 ++++++----
4 files changed, 21 insertions(+), 13 deletions(-)
@@ -6,7 +6,7 @@
obj-y := interface.o stub.o
obj-y += balloc.o bitmap.o block_validity.o dir.o ext4_jbd2.o extents.o \
- extents_status.o file.o hash.o ialloc.o \
+ extents_status.o file.o fsync.o hash.o ialloc.o \
indirect.o inode.o \
super.o xattr_hurd.o xattr_trusted.o \
xattr_user.o orphan.o
@@ -1289,6 +1289,19 @@ typedef unsigned int projid_t;
#define trace_ext4_write_begin(...) do { } while (0)
#define trace_ext4_write_end(...) do { } while (0)
#define trace_ext4_journalled_write_end(...) do { } while (0)
+#define trace_ext4_sync_file_enter(...) do { } while (0)
+#define trace_ext4_sync_file_exit(...) do { } while (0)
+
+/* Dentry operations - stubs */
+#define d_find_any_alias(i) ({ (void)(i); (struct dentry *)NULL; })
+#define dget_parent(d) ({ (void)(d); (struct dentry *)NULL; })
+
+/* Sync operations - stubs */
+#define sync_mapping_buffers(m) ({ (void)(m); 0; })
+#define sync_inode_metadata(i, w) ({ (void)(i); (void)(w); 0; })
+#define generic_buffers_fsync_noflush(f, s, e, d) ({ (void)(f); (void)(s); (void)(e); (void)(d); 0; })
+#define file_write_and_wait_range(f, s, e) ({ (void)(f); (void)(s); (void)(e); 0; })
+#define file_check_and_advance_wb_err(f) ({ (void)(f); 0; })
/* DAX stubs - DAX not supported in U-Boot */
#define IS_DAX(inode) (0)
@@ -23,18 +23,11 @@
* we can depend on generic_block_fdatasync() to sync the data blocks.
*/
-#include <linux/time.h>
-#include <linux/fs.h>
-#include <linux/sched.h>
-#include <linux/writeback.h>
-#include <linux/blkdev.h>
-#include <linux/buffer_head.h>
+#include "ext4_uboot.h"
#include "ext4.h"
#include "ext4_jbd2.h"
-#include <trace/events/ext4.h>
-
/*
* If we're not journaling and this is a just-created file, we have to
* sync our parent directory (if it was freshly created) since
@@ -107,6 +107,11 @@ int jbd2__journal_restart(void *handle, int nblocks, int revoke_records,
return 0;
}
+int jbd2_trans_will_send_data_barrier(journal_t *journal, unsigned long tid)
+{
+ return 0;
+}
+
/*
* Stubs for balloc.c
*/
@@ -512,10 +517,7 @@ int ext4_dirblock_csum_verify(struct inode *inode, struct buffer_head *bh)
/* ext4_ioctl is now in super.c */
-int ext4_sync_file(struct file *file, loff_t start, loff_t end, int datasync)
-{
- return 0;
-}
+/* ext4_sync_file is now in fsync.c */
/*
* Stubs for super.c