- if (err != 0)
- error (EXIT_FAILURE, 0, "ext2fs_mkdir: %s/%s: %s",
- dirname, basename, error_message (err));
+ if (err != 0) {
+ /* See: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=217892 */
+ if (err == EXT2_ET_DIR_NO_SPACE) {
+ err = ext2fs_expand_dir (fs, dir_ino);
+ if (err)
+ error (EXIT_FAILURE, 0, "ext2fs_expand_dir: %s/%s: %s",
+ dirname, basename, error_message (err));
+ goto try_again;
+ } else
+ error (EXIT_FAILURE, 0, "ext2fs_mkdir: %s/%s: %s",
+ dirname, basename, error_message (err));
+ }