commit 86763a18468e780d327618880f4f037121df5fdd
Author: Yiannis Pericleous <[EMAIL PROTECTED]>
Date: Wed Mar 14 16:37:59 2007 -0400
skeleton for an asynchronous odf thread
diff --git a/fs/unionfs/odf.h b/fs/unionfs/odf.h
index df52ee1..20cc1a2 100644
--- a/fs/unionfs/odf.h
+++ b/fs/unionfs/odf.h
@@ -60,6 +60,9 @@
#define ODF_DIRENT_MAGIC 0x0DFD1300
+/* Reclaim thread timeout */
+#define ODF_RC_TIMEOUT 1000
+
/* super */
struct odf_sb_info* odf_read_super(char *options);
void odf_put_super(struct odf_sb_info *osi);
diff --git a/fs/unionfs/sioq.c b/fs/unionfs/sioq.c
index a2cc293..3a7e2a4 100644
--- a/fs/unionfs/sioq.c
+++ b/fs/unionfs/sioq.c
@@ -46,7 +46,7 @@ void stop_sioq(void)
destroy_workqueue(superio_workqueue);
}
-void run_sioq(work_func_t func, struct sioq_args *args)
+void __run_sioq(work_func_t func, struct sioq_args *args, int async)
{
INIT_WORK(&args->work, func);
@@ -55,7 +55,8 @@ void run_sioq(work_func_t func, struct sioq_args *args)
/* TODO: do accounting if needed */
schedule();
}
- wait_for_completion(&args->comp);
+ if (!async)
+ wait_for_completion(&args->comp);
}
int __run_sioa(void *args)
diff --git a/fs/unionfs/sioq.h b/fs/unionfs/sioq.h
index a7be2f0..ec8d760 100644
--- a/fs/unionfs/sioq.h
+++ b/fs/unionfs/sioq.h
@@ -52,6 +52,7 @@ struct sioq_args {
struct mknod_args mknod;
struct symlink_args symlink;
struct unlink_args unlink;
+ struct reclaim_args reclaim;
};
};
@@ -84,6 +85,7 @@ extern void __unionfs_mkdir(struct work_struct *work);
extern void __unionfs_mknod(struct work_struct *work);
extern void __unionfs_symlink(struct work_struct *work);
extern void __unionfs_unlink(struct work_struct *work);
+extern void __unionfs_reclaim(struct work_struct *work);
#endif /* _SIOQ_H */
diff --git a/fs/unionfs/union.h b/fs/unionfs/union.h
index 979e4b7..0c7387e 100644
--- a/fs/unionfs/union.h
+++ b/fs/unionfs/union.h
@@ -122,6 +122,7 @@ struct odf_sb_info {
struct odf_dentry_info *odi_sb;
struct odf_dentry_info *odi_rc;
struct odf_dentry_info *odi_ic;
+ struct sioq_args *sioq;
};
/* unionfs inode data in memory */
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs