Whamcloud - gitweb
Clean up properly if llog_lvfs_close() fails.
authoradilger <adilger>
Wed, 17 Mar 2004 10:53:44 +0000 (10:53 +0000)
committeradilger <adilger>
Wed, 17 Mar 2004 10:53:44 +0000 (10:53 +0000)
b=2325

lustre/obdclass/llog_lvfs.c

index efaf2d3..556ee1b 100644 (file)
@@ -564,12 +564,13 @@ static int llog_lvfs_destroy(struct llog_handle *handle)
                 push_ctxt(&saved, &obd->obd_ctxt, NULL);
                 dget(fdentry);
                 rc = llog_lvfs_close(handle);
-                if (rc)
-                        RETURN(rc);
 
-                down(&inode->i_sem);
-                rc = vfs_unlink(inode, fdentry);
-                up(&inode->i_sem);
+                if (rc == 0) {
+                        down(&inode->i_sem);
+                        rc = vfs_unlink(inode, fdentry);
+                        up(&inode->i_sem);
+                }
+
                 dput(fdentry);
                 pop_ctxt(&saved, &obd->obd_ctxt, NULL);
                 RETURN(rc);