resize.c (5b805f2a7675634fbdf9ac1c9b2256905ab2ea68) | resize.c (37be2f59d3149b95afaeeeff94edde2c07f165d2) |
---|---|
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. --- 769 unchanged lines hidden (view full) --- 778 } 779 780 err = ext4_journal_get_write_access(handle, EXT4_SB(sb)->s_sbh); 781 if (unlikely(err)) 782 goto exit_dind; 783 784 err = ext4_journal_get_write_access(handle, gdb_bh); 785 if (unlikely(err)) | 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. --- 769 unchanged lines hidden (view full) --- 778 } 779 780 err = ext4_journal_get_write_access(handle, EXT4_SB(sb)->s_sbh); 781 if (unlikely(err)) 782 goto exit_dind; 783 784 err = ext4_journal_get_write_access(handle, gdb_bh); 785 if (unlikely(err)) |
786 goto exit_sbh; | 786 goto exit_dind; |
787 788 err = ext4_journal_get_write_access(handle, dind); 789 if (unlikely(err)) 790 ext4_std_error(sb, err); 791 792 /* ext4_reserve_inode_write() gets a reference on the iloc */ 793 err = ext4_reserve_inode_write(handle, inode, &iloc); 794 if (unlikely(err)) | 787 788 err = ext4_journal_get_write_access(handle, dind); 789 if (unlikely(err)) 790 ext4_std_error(sb, err); 791 792 /* ext4_reserve_inode_write() gets a reference on the iloc */ 793 err = ext4_reserve_inode_write(handle, inode, &iloc); 794 if (unlikely(err)) |
795 goto exit_dindj; | 795 goto exit_dind; |
796 797 n_group_desc = ext4_kvmalloc((gdb_num + 1) * 798 sizeof(struct buffer_head *), 799 GFP_NOFS); 800 if (!n_group_desc) { 801 err = -ENOMEM; 802 ext4_warning(sb, "not enough memory for %lu groups", 803 gdb_num + 1); --- 37 unchanged lines hidden (view full) --- 841 err = ext4_handle_dirty_super(handle, sb); 842 if (err) 843 ext4_std_error(sb, err); 844 845 return err; 846 847exit_inode: 848 ext4_kvfree(n_group_desc); | 796 797 n_group_desc = ext4_kvmalloc((gdb_num + 1) * 798 sizeof(struct buffer_head *), 799 GFP_NOFS); 800 if (!n_group_desc) { 801 err = -ENOMEM; 802 ext4_warning(sb, "not enough memory for %lu groups", 803 gdb_num + 1); --- 37 unchanged lines hidden (view full) --- 841 err = ext4_handle_dirty_super(handle, sb); 842 if (err) 843 ext4_std_error(sb, err); 844 845 return err; 846 847exit_inode: 848 ext4_kvfree(n_group_desc); |
849 /* ext4_handle_release_buffer(handle, iloc.bh); */ | |
850 brelse(iloc.bh); | 849 brelse(iloc.bh); |
851exit_dindj: 852 /* ext4_handle_release_buffer(handle, dind); */ 853exit_sbh: 854 /* ext4_handle_release_buffer(handle, EXT4_SB(sb)->s_sbh); */ | |
855exit_dind: 856 brelse(dind); 857exit_bh: 858 brelse(gdb_bh); 859 860 ext4_debug("leaving with error %d\n", err); 861 return err; 862} --- 101 unchanged lines hidden (view full) --- 964 err = gdbackups; 965 goto exit_bh; 966 } 967 if (++data >= end) 968 data = (__le32 *)dind->b_data; 969 } 970 971 for (i = 0; i < reserved_gdb; i++) { | 850exit_dind: 851 brelse(dind); 852exit_bh: 853 brelse(gdb_bh); 854 855 ext4_debug("leaving with error %d\n", err); 856 return err; 857} --- 101 unchanged lines hidden (view full) --- 959 err = gdbackups; 960 goto exit_bh; 961 } 962 if (++data >= end) 963 data = (__le32 *)dind->b_data; 964 } 965 966 for (i = 0; i < reserved_gdb; i++) { |
972 if ((err = ext4_journal_get_write_access(handle, primary[i]))) { 973 /* 974 int j; 975 for (j = 0; j < i; j++) 976 ext4_handle_release_buffer(handle, primary[j]); 977 */ | 967 if ((err = ext4_journal_get_write_access(handle, primary[i]))) |
978 goto exit_bh; | 968 goto exit_bh; |
979 } | |
980 } 981 982 if ((err = ext4_reserve_inode_write(handle, inode, &iloc))) 983 goto exit_bh; 984 985 /* 986 * Finally we can add each of the reserved backup GDT blocks from 987 * the new group to its reserved primary GDT block. --- 1013 unchanged lines hidden --- | 969 } 970 971 if ((err = ext4_reserve_inode_write(handle, inode, &iloc))) 972 goto exit_bh; 973 974 /* 975 * Finally we can add each of the reserved backup GDT blocks from 976 * the new group to its reserved primary GDT block. --- 1013 unchanged lines hidden --- |