commit 5628cf43c089e347669e6de2cde46dfa1ccf1e44
Author: Erez_Zadok <[EMAIL PROTECTED]>
Date: Sat Jul 7 22:41:34 2007 -0400
Unionfs: call complete() after calling sioq code to create a symlink
bugfix: without complete(), we hang when copying up symlinks.
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
diff --git a/fs/unionfs/sioq.c b/fs/unionfs/sioq.c
index 320c9a1..3f7c23e 100644
--- a/fs/unionfs/sioq.c
+++ b/fs/unionfs/sioq.c
@@ -53,7 +53,7 @@ void run_sioq(void (*func)(void *arg), struct sioq_args *args)
init_completion(&args->comp);
while (!queue_work(sioq, &wk)) {
- // TODO: do accounting if needed
+ /* TODO: do accounting if needed */
schedule();
}
wait_for_completion(&args->comp);
@@ -85,12 +85,14 @@ void __unionfs_mknod(void *data)
args->mknod.mode, args->mknod.dev);
complete(&args->comp);
}
+
void __unionfs_symlink(void *data)
{
struct sioq_args *args = data;
args->err = vfs_symlink(args->symlink.parent, args->symlink.dentry,
args->symlink.symbuf, args->symlink.mode);
+ complete(&args->comp);
}
void __unionfs_unlink(void *data)
@@ -106,7 +108,6 @@ void __delete_whiteouts(void *data) {
args->err = do_delete_whiteouts(args->deletewh.dentry,
args->deletewh.bindex,
args->deletewh.namelist);
-
complete(&args->comp);
}
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs