Whamcloud - gitweb
ChangeLog, mkdir.c:
authorTheodore Ts'o <tytso@mit.edu>
Fri, 19 Nov 1999 18:49:27 +0000 (18:49 +0000)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 19 Nov 1999 18:49:27 +0000 (18:49 +0000)
  mkdir.c (ext2fs_mkdir): Only update the parent's inode link counts if
   the link was successful.  Patch suggested by jeremy@goop.org.

lib/ext2fs/ChangeLog
lib/ext2fs/mkdir.c

index d669693..e282a0a 100644 (file)
@@ -1,5 +1,9 @@
 1999-11-19    <tytso@valinux.com>
 
+       * mkdir.c (ext2fs_mkdir): Only update the parent's inode link
+               counts if the link was successful.  Patch suggested by
+               jeremy@goop.org.
+
        * Makefile.in (distclean): Remove TAGS and Makefile.in.old from
                the source directory.
 
index 06fd903..eca9a1d 100644 (file)
@@ -95,19 +95,6 @@ errcode_t ext2fs_mkdir(ext2_filsys fs, ino_t parent, ino_t inum,
                goto cleanup;
 
        /*
-        * Update parent inode's counts
-        */
-       if (parent != ino) {
-               retval = ext2fs_read_inode(fs, parent, &inode);
-               if (retval)
-                       goto cleanup;
-               inode.i_links_count++;
-               retval = ext2fs_write_inode(fs, parent, &inode);
-               if (retval)
-                       goto cleanup;
-       }
-       
-       /*
         * Link the directory into the filesystem hierarchy
         */
        if (name) {
@@ -126,6 +113,19 @@ errcode_t ext2fs_mkdir(ext2_filsys fs, ino_t parent, ino_t inum,
        }
 
        /*
+        * Update parent inode's counts
+        */
+       if (parent != ino) {
+               retval = ext2fs_read_inode(fs, parent, &inode);
+               if (retval)
+                       goto cleanup;
+               inode.i_links_count++;
+               retval = ext2fs_write_inode(fs, parent, &inode);
+               if (retval)
+                       goto cleanup;
+       }
+       
+       /*
         * Update accounting....
         */
        ext2fs_mark_block_bitmap(fs->block_map, blk);