]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/ext2/ialloc.c
Merge branch 'work.uaccess' into for-linus
[karo-tx-linux.git] / fs / ext2 / ialloc.c
index efe5fb21c5332197e9bb4ebe302fa408d3be5e38..395fc074c0db8b6bd7e4e89a2922ce5e0c56aff0 100644 (file)
@@ -465,6 +465,11 @@ struct inode *ext2_new_inode(struct inode *dir, umode_t mode,
 
        for (i = 0; i < sbi->s_groups_count; i++) {
                gdp = ext2_get_group_desc(sb, group, &bh2);
+               if (!gdp) {
+                       if (++group == sbi->s_groups_count)
+                               group = 0;
+                       continue;
+               }
                brelse(bitmap_bh);
                bitmap_bh = read_inode_bitmap(sb, group);
                if (!bitmap_bh) {
@@ -551,7 +556,7 @@ got:
 
        inode->i_ino = ino;
        inode->i_blocks = 0;
-       inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME_SEC;
+       inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
        memset(ei->i_data, 0, sizeof(ei->i_data));
        ei->i_flags =
                ext2_mask_flags(mode, EXT2_I(dir)->i_flags & EXT2_FL_INHERITED);