]> Pileus Git - ~andy/linux/blobdiff - fs/ext4/file.c
Merge branch 'topic/isa' into topic/misc
[~andy/linux] / fs / ext4 / file.c
index 5313ae4cda2d2149d58efc5f228e4973f1e8f33f..ee92b66d45589c4ec97d6b7b2e5d93d871df5320 100644 (file)
@@ -70,7 +70,8 @@ ext4_file_write(struct kiocb *iocb, const struct iovec *iov,
                struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb);
                size_t length = iov_length(iov, nr_segs);
 
-               if (pos > sbi->s_bitmap_maxbytes)
+               if ((pos > sbi->s_bitmap_maxbytes ||
+                   (pos == sbi->s_bitmap_maxbytes && length > 0)))
                        return -EFBIG;
 
                if (pos + length > sbi->s_bitmap_maxbytes) {
@@ -123,7 +124,7 @@ static int ext4_file_open(struct inode * inode, struct file * filp)
                if (!IS_ERR(cp)) {
                        memcpy(sbi->s_es->s_last_mounted, cp,
                               sizeof(sbi->s_es->s_last_mounted));
-                       sb->s_dirt = 1;
+                       ext4_mark_super_dirty(sb);
                }
        }
        return dquot_file_open(inode, filp);