[Ocfs2-commits] jlbec commits r1932 - trunk/fs/usysfs
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Wed Mar 2 12:17:24 CST 2005
Author: jlbec
Signed-off-by: zab
Date: 2005-03-02 12:17:23 -0600 (Wed, 02 Mar 2005)
New Revision: 1932
Modified:
trunk/fs/usysfs/dir.c
Log:
o Move about _register with an eye towards making _mkdir and _register
have a shared call wrapping _create_dir and populate_dir. Turns out
to be more work, so I'm leaving it be for now, but it still gets rid
of a couple gotos.
Signed-off-by: zab
Modified: trunk/fs/usysfs/dir.c
===================================================================
--- trunk/fs/usysfs/dir.c 2005-03-02 04:51:55 UTC (rev 1931)
+++ trunk/fs/usysfs/dir.c 2005-03-02 18:17:23 UTC (rev 1932)
@@ -673,29 +673,27 @@
if (!dentry)
goto out_release;
+ d_add(dentry, NULL);
+
err = usysfs_create_dir(&k->kobj, dentry);
- if (err)
- goto out_dput;
+ if (!err) {
+ err = populate_dir(&k->kobj);
+ if (!err)
+ dentry = NULL;
+ else {
+ usysfs_remove_dir(&k->kobj);
+ d_delete(dentry);
+ }
+ }
- d_rehash(dentry);
up(&usysfs_sb->s_root->d_inode->i_sem);
- err = populate_dir(&k->kobj);
- if (err) {
- down(&usysfs_sb->s_root->d_inode->i_sem);
- usysfs_remove_dir(&k->kobj);
- up(&usysfs_sb->s_root->d_inode->i_sem);
- d_delete(dentry);
- goto out_dput;
+ if (dentry) {
+ dput(dentry);
+out_release:
+ usysfs_release_fs();
}
- return 0;
-
-out_dput:
- dput(dentry);
-out_release:
- usysfs_release_fs();
-
return err;
}
More information about the Ocfs2-commits
mailing list