Clarify tablespace.c::TablespaceCreateDbspace() comments.
authorBruce Momjian <bruce@momjian.us>
Thu, 7 Jan 2010 04:05:39 +0000 (04:05 +0000)
committerBruce Momjian <bruce@momjian.us>
Thu, 7 Jan 2010 04:05:39 +0000 (04:05 +0000)
src/backend/commands/tablespace.c

index 5c6767d613866fa19b78553789e03310135c4ac6..08a54ebec16e6efcefe3f648aa0c71e73536f75b 100644 (file)
@@ -37,7 +37,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/commands/tablespace.c,v 1.68 2010/01/06 23:23:51 momjian Exp $
+ *   $PostgreSQL: pgsql/src/backend/commands/tablespace.c,v 1.69 2010/01/07 04:05:39 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -89,7 +89,7 @@ static void write_version_file(const char *path);
  * Each database using a table space is isolated into its own name space
  * by a subdirectory named for the database OID.  On first creation of an
  * object in the tablespace, create the subdirectory.  If the subdirectory
- * already exists, just fall through quietly.
+ * already exists, fall through quietly.
  *
  * isRedo indicates that we are creating an object during WAL replay.
  * In this case we will cope with the possibility of the tablespace
@@ -137,29 +137,32 @@ TablespaceCreateDbspace(Oid spcNode, Oid dbNode, bool isRedo)
             */
            if (stat(dir, &st) == 0 && S_ISDIR(st.st_mode))
            {
-               /* need not do anything */
+               /* Directory was created. */
            }
            else
            {
-               /* OK, go for it */
+               /* Directory creation failed? */
                if (mkdir(dir, S_IRWXU) < 0)
                {
                    char       *parentdir;
 
+                   /* Failure other than not exists? */
                    if (errno != ENOENT || !isRedo)
                        ereport(ERROR,
                                (errcode_for_file_access(),
                              errmsg("could not create directory \"%s\": %m",
                                     dir)));
-                   /* Try to make parent directory too */
+                   /* Parent directory must be missing */
                    parentdir = pstrdup(dir);
                    get_parent_directory(parentdir);
+                   /* Can't create parent either? */
                    if (mkdir(parentdir, S_IRWXU) < 0)
                        ereport(ERROR,
                                (errcode_for_file_access(),
                              errmsg("could not create directory \"%s\": %m",
                                     parentdir)));
                    pfree(parentdir);
+                   /* Create database directory */
                    if (mkdir(dir, S_IRWXU) < 0)
                        ereport(ERROR,
                                (errcode_for_file_access(),
@@ -179,7 +182,7 @@ TablespaceCreateDbspace(Oid spcNode, Oid dbNode, bool isRedo)
    }
    else
    {
-       /* be paranoid */
+       /* Is it not a directory? */
        if (!S_ISDIR(st.st_mode))
            ereport(ERROR,
                    (errcode(ERRCODE_WRONG_OBJECT_TYPE),