Hello, On Tue, Aug 07, 2007 at 03:31:18PM -0600, Eric W. Biederman wrote: > This patch modifies the sysfs_rename_dir and sysfs_move_dir > to support multiple sysfs dentry trees rooted in different > sysfs superblocks. > > Signed-off-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> > +struct sysfs_rename_struct { > + struct list_head list; > + struct dentry *old_dentry; > + struct dentry *new_dentry; > + struct dentry *old_parent; > + struct dentry *new_parent; > +}; Please rename to sysfs_rename_cxt to it consistent with sysfs_addrm_cxt. > +static void post_rename(struct list_head *head) Please rename to sysfs_post_rename() and add comment. > +{ > + struct sysfs_rename_struct *srs; > + while (!list_empty(head)) { > + srs = list_entry(head->next, struct sysfs_rename_struct, list); > + dput(srs->old_dentry); > + dput(srs->new_dentry); > + dput(srs->old_parent); > + dput(srs->new_parent); > + list_del(&srs->list); > + kfree(srs); > + } > +} > + > +static int prep_rename(struct list_head *head, > + struct sysfs_dirent *sd, struct sysfs_dirent *new_parent_sd, > + const char *name) Ditto. > +{ > + struct sysfs_rename_struct *srs; > + struct super_block *sb; > + struct dentry *dentry; > + int error; > + > + list_for_each_entry(sb, &sysfs_fs_type.fs_supers, s_instances) { > + dentry = sysfs_get_dentry(sb, sd); > + if (!dentry) > + continue; sysfs_get_dentry() return ERR_PTR() value. Oops, sysfs_get_dentry() implementation is wrong too. Also, please move sysfs_grab/release_supers() near this patch and add (a lot of) comments there. Other than that, I think this is as clean as this can be. Great. -- tejun _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers