Re: [PATCH 26/35] Unionfs: Privileged operations workqueue

From: Josef Sipek
Date: Tue Dec 05 2006 - 14:51:53 EST


On Tue, Dec 05, 2006 at 08:27:51PM +0100, Jan Engelhardt wrote:
>
> On Dec 4 2006 07:30, Josef 'Jeff' Sipek wrote:
> >+#include "union.h"
> >+
> >+struct workqueue_struct *sioq;
> >+
> >+int __init init_sioq(void)
>
> Although it's just me, I'd prefer sioq_init(), sioq_exit(),
> sioq_run(), etc. to go in hand with what most drivers use as naming
> (i.e. <modulename> "_" <function>).

That makes sense.

> >+ sioq = create_workqueue("unionfs_siod");
>
> Beat me: what does SIO stand for?

Super-user IO - sometimes we need to perform actions which would fail due to
the unix permissions on the parent directory (e.g., rmdir a directory which
appears empty, but in reality contains whiteouts).

> >+void fin_sioq(void)
>
> No __exit tag?

Good catch.

> >+void __unionfs_mknod(void *data)
> >+{
> >+ struct sioq_args *args = data;
> >+ struct mknod_args *m = &args->mknod;
>
> Care to make that: const struct mknod_args *m = &args->mknod;?
> (Same for other places)

Right.

> >+
> >+ args->err = vfs_mknod(m->parent, m->dentry, m->mode, m->dev);
> >+ complete(&args->comp);
> >+}
> >+void __unionfs_symlink(void *data)
> >+{
>
> Hah, missing free line :^)

:)

> >+ struct sioq_args *args = data;
> >+ struct symlink_args *s = &args->symlink;
> >+
> >+ args->err = vfs_symlink(s->parent, s->dentry, s->symbuf, s->mode);
> >+ complete(&args->comp);
> >+}
> >+
>
> >+++ b/fs/unionfs/sioq.h
> >+struct isopaque_args {
> >+ struct dentry *dentry;
> >+};
>
> This name puzzled me at first. iso - paque - "same (o)paque"?
> Try is_opaque_args.

Will do.

> >+/* Extern definitions for our privledge escalation helpers */
>
> -> privilege

Why do I keep misspelling that?

Thanks for the comments.

Josef "Jeff" Sipek.

--
Bad pun of the week: The formula 1 control computer suffered from a race
condition
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/