head	1.1;
access;
symbols
	LKML-branch:1.1.0.2;
locks; strict;
comment	@# @;


1.1
date	2006.12.31.04.33.16;	author jsipek;	state dead;
branches
	1.1.2.1;
next	;

1.1.2.1
date	2006.12.31.04.33.16;	author jsipek;	state Exp;
branches;
next	1.1.2.2;

1.1.2.2
date	2006.12.31.23.15.17;	author jsipek;	state Exp;
branches;
next	1.1.2.3;

1.1.2.3
date	2007.01.04.22.20.12;	author jsipek;	state dead;
branches;
next	;


desc
@@


1.1
log
@file compile-fix was initially added on branch LKML-branch.
@
text
@@


1.1.2.1
log
@Few compile fixes
@
text
@a0 36
diff -r 5f13da24ca23 fs/unionfs/lookup.c
--- a/fs/unionfs/lookup.c	Mon Dec 11 09:55:12 2006 -0500
+++ b/fs/unionfs/lookup.c	Mon Dec 11 10:19:26 2006 -0500
@@@@ -438,7 +438,7 @@@@ int new_dentry_private_data(struct dentr
 	spin_lock(&dentry->d_lock);
 	if (!info) {
 		dentry->d_fsdata = kmem_cache_alloc(unionfs_dentry_cachep,
-						SLAB_ATOMIC);
+						GFP_ATOMIC);
 		info = UNIONFS_D(dentry);
 
 		if (!info)
diff -r 5f13da24ca23 fs/unionfs/rdstate.c
--- a/fs/unionfs/rdstate.c	Mon Dec 11 09:55:12 2006 -0500
+++ b/fs/unionfs/rdstate.c	Mon Dec 11 10:18:57 2006 -0500
@@@@ -235,7 +235,7 @@@@ inline struct filldir_node *alloc_filldi
 inline struct filldir_node *alloc_filldir_node(const char *name, int namelen,
 					       unsigned int hash, int bindex)
 {
-	return kmem_cache_alloc(unionfs_filldir_cachep, SLAB_KERNEL);
+	return kmem_cache_alloc(unionfs_filldir_cachep, GFP_KERNEL);
 }
 
 int add_filldir_node(struct unionfs_dir_state *rdstate, const char *name,
diff -r 5f13da24ca23 fs/unionfs/super.c
--- a/fs/unionfs/super.c	Mon Dec 11 09:55:12 2006 -0500
+++ b/fs/unionfs/super.c	Mon Dec 11 10:18:36 2006 -0500
@@@@ -188,7 +188,7 @@@@ static struct inode *unionfs_alloc_inode
 {
 	struct unionfs_inode_info *i;
 
-	i = kmem_cache_alloc(unionfs_inode_cachep, SLAB_KERNEL);
+	i = kmem_cache_alloc(unionfs_inode_cachep, GFP_KERNEL);
 	if (!i)
 		return NULL;
 
@


1.1.2.2
log
@Things now compile again
@
text
@d1 4
a4 5
diff --git a/fs/unionfs/lookup.c b/fs/unionfs/lookup.c
index 8649ffa..576e224 100644
--- a/fs/unionfs/lookup.c
+++ b/fs/unionfs/lookup.c
@@@@ -438,7 +438,7 @@@@ int new_dentry_private_data(struct dentry *dentry)
d13 4
a16 5
diff --git a/fs/unionfs/rdstate.c b/fs/unionfs/rdstate.c
index b24e244..a970346 100644
--- a/fs/unionfs/rdstate.c
+++ b/fs/unionfs/rdstate.c
@@@@ -235,7 +235,7 @@@@ struct filldir_node *find_filldir_node(struct unionfs_dir_state *rdstate,
d25 4
a28 140
diff --git a/fs/unionfs/sioq.c b/fs/unionfs/sioq.c
index fe72e00..444a3e5 100644
--- a/fs/unionfs/sioq.c
+++ b/fs/unionfs/sioq.c
@@@@ -46,74 +46,74 @@@@ void __exit stop_sioq(void)
 		destroy_workqueue(sioq);
 }
 
-void run_sioq(void (*func)(void *arg), struct sioq_args *args)
+void run_sioq(work_func_t func, struct sioq_args *args)
 {
-	DECLARE_WORK(wk, func, &args->comp);
+	INIT_WORK(&args->work, func);
 
 	init_completion(&args->comp);
-	while (!queue_work(sioq, &wk)) {
+	while (!queue_work(sioq, &args->work)) {
 		/* TODO: do accounting if needed */
 		schedule();
 	}
 	wait_for_completion(&args->comp);
 }
 
-void __unionfs_create(void *data)
+void __unionfs_create(struct work_struct *work)
 {
-	struct sioq_args *args = data;
+	struct sioq_args *args = container_of(work, struct sioq_args, work);
 	struct create_args *c = &args->create;
 
 	args->err = vfs_create(c->parent, c->dentry, c->mode, c->nd);
 	complete(&args->comp);
 }
 
-void __unionfs_mkdir(void *data)
+void __unionfs_mkdir(struct work_struct *work)
 {
-	struct sioq_args *args = data;
+	struct sioq_args *args = container_of(work, struct sioq_args, work);
 	struct mkdir_args *m = &args->mkdir;
 
 	args->err = vfs_mkdir(m->parent, m->dentry, m->mode);
 	complete(&args->comp);
 }
 
-void __unionfs_mknod(void *data)
+void __unionfs_mknod(struct work_struct *work)
 {
-	struct sioq_args *args = data;
+	struct sioq_args *args = container_of(work, struct sioq_args, work);
 	struct mknod_args *m = &args->mknod;
 
 	args->err = vfs_mknod(m->parent, m->dentry, m->mode, m->dev);
 	complete(&args->comp);
 }
 
-void __unionfs_symlink(void *data)
+void __unionfs_symlink(struct work_struct *work)
 {
-	struct sioq_args *args = data;
+	struct sioq_args *args = container_of(work, struct sioq_args, work);
 	struct symlink_args *s = &args->symlink;
 
 	args->err = vfs_symlink(s->parent, s->dentry, s->symbuf, s->mode);
 	complete(&args->comp);
 }
 
-void __unionfs_unlink(void *data)
+void __unionfs_unlink(struct work_struct *work)
 {
-	struct sioq_args *args = data;
+	struct sioq_args *args = container_of(work, struct sioq_args, work);
 	struct unlink_args *u = &args->unlink;
 
 	args->err = vfs_unlink(u->parent, u->dentry);
 	complete(&args->comp);
 }
 
-void __delete_whiteouts(void *data) {
-	struct sioq_args *args = data;
+void __delete_whiteouts(struct work_struct *work) {
+	struct sioq_args *args = container_of(work, struct sioq_args, work);
 	struct deletewh_args *d = &args->deletewh;
 
 	args->err = do_delete_whiteouts(d->dentry, d->bindex, d->namelist);
 	complete(&args->comp);
 }
 
-void __is_opaque_dir(void *data)
+void __is_opaque_dir(struct work_struct *work)
 {
-	struct sioq_args *args = data;
+	struct sioq_args *args = container_of(work, struct sioq_args, work);
 
 	args->ret = lookup_one_len(UNIONFS_DIR_OPAQUE, args->is_opaque.dentry,
 				sizeof(UNIONFS_DIR_OPAQUE) - 1);
diff --git a/fs/unionfs/sioq.h b/fs/unionfs/sioq.h
index 43f85df..5a93414 100644
--- a/fs/unionfs/sioq.h
+++ b/fs/unionfs/sioq.h
@@@@ -45,8 +45,8 @@@@ struct unlink_args {
 
 
 struct sioq_args {
-
 	struct completion comp;
+	struct work_struct work;
 	int err;
 	void *ret;
 
@@@@ -64,16 +64,16 @@@@ struct sioq_args {
 extern struct workqueue_struct *sioq;
 extern int __init init_sioq(void);
 extern __exit void stop_sioq(void);
-extern void run_sioq(void (*func)(void *arg), struct sioq_args *args);
+extern void run_sioq(work_func_t func, struct sioq_args *args);
 
 /* Extern definitions for our privlege escalation helpers */
-extern void __unionfs_create(void *data);
-extern void __unionfs_mkdir(void *data);
-extern void __unionfs_mknod(void *data);
-extern void __unionfs_symlink(void *data);
-extern void __unionfs_unlink(void *data);
-extern void __delete_whiteouts(void *data);
-extern void __is_opaque_dir(void *data);
+extern void __unionfs_create(struct work_struct *work);
+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 __delete_whiteouts(struct work_struct *work);
+extern void __is_opaque_dir(struct work_struct *work);
 
 #endif /* _SIOQ_H */
 
diff --git a/fs/unionfs/super.c b/fs/unionfs/super.c
index b59824a..25085bf 100644
--- a/fs/unionfs/super.c
+++ b/fs/unionfs/super.c
@@@@ -188,7 +188,7 @@@@ static struct inode *unionfs_alloc_inode(struct super_block *sb)
@


1.1.2.3
log
@Removed compile-fix as the changes are already folded into unionfs
@
text
@@


