Commit 77249539 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4

Pull ext4 bug fixes from Theodore Ts'o:
 "This update contains two bug fixes, both destined for the stable tree.
  Perhaps the most important is one which fixes ext4 when used with file
  systems originally formatted for use with ext3, but then later
  converted to take advantage of ext4."

* tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
  ext4: don't set i_flags in EXT4_IOC_SETFLAGS
  ext4: fix the free blocks calculation for ext3 file systems w/ uninit_bg
parents 3e9ca022 b22b1f17
...@@ -90,8 +90,8 @@ unsigned ext4_num_overhead_clusters(struct super_block *sb, ...@@ -90,8 +90,8 @@ unsigned ext4_num_overhead_clusters(struct super_block *sb,
* unusual file system layouts. * unusual file system layouts.
*/ */
if (ext4_block_in_group(sb, ext4_block_bitmap(sb, gdp), block_group)) { if (ext4_block_in_group(sb, ext4_block_bitmap(sb, gdp), block_group)) {
block_cluster = EXT4_B2C(sbi, (start - block_cluster = EXT4_B2C(sbi,
ext4_block_bitmap(sb, gdp))); ext4_block_bitmap(sb, gdp) - start);
if (block_cluster < num_clusters) if (block_cluster < num_clusters)
block_cluster = -1; block_cluster = -1;
else if (block_cluster == num_clusters) { else if (block_cluster == num_clusters) {
...@@ -102,7 +102,7 @@ unsigned ext4_num_overhead_clusters(struct super_block *sb, ...@@ -102,7 +102,7 @@ unsigned ext4_num_overhead_clusters(struct super_block *sb,
if (ext4_block_in_group(sb, ext4_inode_bitmap(sb, gdp), block_group)) { if (ext4_block_in_group(sb, ext4_inode_bitmap(sb, gdp), block_group)) {
inode_cluster = EXT4_B2C(sbi, inode_cluster = EXT4_B2C(sbi,
start - ext4_inode_bitmap(sb, gdp)); ext4_inode_bitmap(sb, gdp) - start);
if (inode_cluster < num_clusters) if (inode_cluster < num_clusters)
inode_cluster = -1; inode_cluster = -1;
else if (inode_cluster == num_clusters) { else if (inode_cluster == num_clusters) {
...@@ -114,7 +114,7 @@ unsigned ext4_num_overhead_clusters(struct super_block *sb, ...@@ -114,7 +114,7 @@ unsigned ext4_num_overhead_clusters(struct super_block *sb,
itbl_blk = ext4_inode_table(sb, gdp); itbl_blk = ext4_inode_table(sb, gdp);
for (i = 0; i < sbi->s_itb_per_group; i++) { for (i = 0; i < sbi->s_itb_per_group; i++) {
if (ext4_block_in_group(sb, itbl_blk + i, block_group)) { if (ext4_block_in_group(sb, itbl_blk + i, block_group)) {
c = EXT4_B2C(sbi, start - itbl_blk + i); c = EXT4_B2C(sbi, itbl_blk + i - start);
if ((c < num_clusters) || (c == inode_cluster) || if ((c < num_clusters) || (c == inode_cluster) ||
(c == block_cluster) || (c == itbl_cluster)) (c == block_cluster) || (c == itbl_cluster))
continue; continue;
......
...@@ -123,7 +123,6 @@ long ext4_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) ...@@ -123,7 +123,6 @@ long ext4_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
else else
ext4_clear_inode_flag(inode, i); ext4_clear_inode_flag(inode, i);
} }
ei->i_flags = flags;
ext4_set_inode_flags(inode); ext4_set_inode_flags(inode);
inode->i_ctime = ext4_current_time(inode); inode->i_ctime = ext4_current_time(inode);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment