resize.c (2b2d6d019724de6e51ac5bcf22b5ef969daefa8b) resize.c (37609fd5ae62db75026d9f53096a1fbc35e040d9)
1/*
2 * linux/fs/ext4/resize.c
3 *
4 * Support for resizing an ext4 filesystem while it is mounted.
5 *
6 * Copyright (C) 2001, 2002 Andreas Dilger <adilger@clusterfs.com>
7 *
8 * This could probably be made into a module, because it is not often in use.

--- 759 unchanged lines hidden (view full) ---

768 if (le32_to_cpu(es->s_inodes_count) + EXT4_INODES_PER_GROUP(sb) <
769 le32_to_cpu(es->s_inodes_count)) {
770 ext4_warning(sb, __func__, "inodes_count overflow\n");
771 return -EINVAL;
772 }
773
774 if (reserved_gdb || gdb_off == 0) {
775 if (!EXT4_HAS_COMPAT_FEATURE(sb,
1/*
2 * linux/fs/ext4/resize.c
3 *
4 * Support for resizing an ext4 filesystem while it is mounted.
5 *
6 * Copyright (C) 2001, 2002 Andreas Dilger <adilger@clusterfs.com>
7 *
8 * This could probably be made into a module, because it is not often in use.

--- 759 unchanged lines hidden (view full) ---

768 if (le32_to_cpu(es->s_inodes_count) + EXT4_INODES_PER_GROUP(sb) <
769 le32_to_cpu(es->s_inodes_count)) {
770 ext4_warning(sb, __func__, "inodes_count overflow\n");
771 return -EINVAL;
772 }
773
774 if (reserved_gdb || gdb_off == 0) {
775 if (!EXT4_HAS_COMPAT_FEATURE(sb,
776 EXT4_FEATURE_COMPAT_RESIZE_INODE)){
776 EXT4_FEATURE_COMPAT_RESIZE_INODE)
777 || !le16_to_cpu(es->s_reserved_gdt_blocks)) {
777 ext4_warning(sb, __func__,
778 "No reserved GDT blocks, can't resize");
779 return -EPERM;
780 }
781 inode = ext4_iget(sb, EXT4_RESIZE_INO);
782 if (IS_ERR(inode)) {
783 ext4_warning(sb, __func__,
784 "Error opening resize inode");

--- 337 unchanged lines hidden ---
778 ext4_warning(sb, __func__,
779 "No reserved GDT blocks, can't resize");
780 return -EPERM;
781 }
782 inode = ext4_iget(sb, EXT4_RESIZE_INO);
783 if (IS_ERR(inode)) {
784 ext4_warning(sb, __func__,
785 "Error opening resize inode");

--- 337 unchanged lines hidden ---