diff --git a/e2fsprogs-1.41.1-splash_support.patch b/e2fsprogs-1.41.1-splash_support.patch
index 2caa28b..4f87082 100644
--- a/e2fsprogs-1.41.1-splash_support.patch
+++ b/e2fsprogs-1.41.1-splash_support.patch
@@ -91,7 +91,7 @@ Index: e2fsck/splash.c
 +	written = write(fd, msg, size);
 +	if (written != size) {
 +		if (verbose)
-+			printf("size = %i, written = %i\n", size, written);
++			printf("size = %zd, written = %zd\n", size, written);
 +	}
 +
 +	close(fd);
diff --git a/e2fsprogs.changes b/e2fsprogs.changes
index 2af51b3..a19e99d 100644
--- a/e2fsprogs.changes
+++ b/e2fsprogs.changes
@@ -1,3 +1,8 @@
+-------------------------------------------------------------------
+Mon Feb 25 16:01:07 UTC 2013 - jack@suse.cz
+
+- Fix compilation warnings
+
 -------------------------------------------------------------------
 Fri Feb 22 15:46:21 UTC 2013 - jack@suse.cz
 
diff --git a/e2fsprogs.spec b/e2fsprogs.spec
index 200031e..5ee3e16 100644
--- a/e2fsprogs.spec
+++ b/e2fsprogs.spec
@@ -47,6 +47,10 @@ Source4:        e2fsck.conf
 # e2fsprogs patches
 #
 Patch1:         e2fsprogs-1.41.1-splash_support.patch
+Patch6:         e2p-Fix-s-handling-in-parse_num_blocks2.patch
+Patch7:         libext2fs-Fix-return-value-in-ext2fs_test_block_bitm.patch
+Patch8:         libext2fs-Provide-prototype-for-ext2fs_symlink.patch
+Patch9:         resize-bigalloc_check-should-have-return-type-void.patch
 # libcom_err patches
 Patch2:         libcom_err-compile_et_permissions.patch
 Patch4:         e2fsprogs-1.42-implicit_fortify_decl.patch
@@ -128,6 +132,10 @@ Development files for the com_err error message display library.
 %setup -q
 # e2fsprogs patches
 %patch1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
 # libcom_err patches
 %patch2 -p1
 %patch4
diff --git a/e2p-Fix-s-handling-in-parse_num_blocks2.patch b/e2p-Fix-s-handling-in-parse_num_blocks2.patch
new file mode 100644
index 0000000..a0d430a
--- /dev/null
+++ b/e2p-Fix-s-handling-in-parse_num_blocks2.patch
@@ -0,0 +1,33 @@
+From fbe898cc01b25a68fa77f8ba9b41b70c9f4e4692 Mon Sep 17 00:00:00 2001
+From: Jan Kara <jack@suse.cz>
+Date: Mon, 25 Feb 2013 15:57:48 +0100
+Subject: [PATCH 1/4] e2p: Fix 's' handling in parse_num_blocks2()
+
+parse_num_blocks2() wrongly did:
+	num << 1;
+when log_block_size < 0. That is obviously wrong as such statement has
+no effect (and the compiler properly warns about it). Callers expect
+returned value to be in bytes when log_block_size < 0 so fix the
+statement accordingly.
+
+Signed-off-by: Jan Kara <jack@suse.cz>
+---
+ lib/e2p/parse_num.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/lib/e2p/parse_num.c b/lib/e2p/parse_num.c
+index cb0dc5b..e8d6283 100644
+--- a/lib/e2p/parse_num.c
++++ b/lib/e2p/parse_num.c
+@@ -42,7 +42,7 @@ unsigned long long parse_num_blocks2(const char *arg, int log_block_size)
+ 		break;
+ 	case 's':
+ 		if (log_block_size < 0)
+-			num << 1;
++			num <<= 9;
+ 		else
+ 			num >>= (1+log_block_size);
+ 		break;
+-- 
+1.7.1
+
diff --git a/libext2fs-Fix-return-value-in-ext2fs_test_block_bitm.patch b/libext2fs-Fix-return-value-in-ext2fs_test_block_bitm.patch
new file mode 100644
index 0000000..6f3de45
--- /dev/null
+++ b/libext2fs-Fix-return-value-in-ext2fs_test_block_bitm.patch
@@ -0,0 +1,29 @@
+From 00a3c713fd9b910f23428178f5272ca7ca24f025 Mon Sep 17 00:00:00 2001
+From: Jan Kara <jack@suse.cz>
+Date: Mon, 25 Feb 2013 16:13:19 +0100
+Subject: [PATCH 2/4] libext2fs: Fix return value in ext2fs_test_block_bitmap_range2()
+
+We used return without a return value in
+ext2fs_test_block_bitmap_range2() despite the fuction returns int.
+
+Signed-off-by: Jan Kara <jack@suse.cz>
+---
+ lib/ext2fs/gen_bitmap64.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/lib/ext2fs/gen_bitmap64.c b/lib/ext2fs/gen_bitmap64.c
+index 42a97d4..44ac499 100644
+--- a/lib/ext2fs/gen_bitmap64.c
++++ b/lib/ext2fs/gen_bitmap64.c
+@@ -658,7 +658,7 @@ int ext2fs_test_block_bitmap_range2(ext2fs_block_bitmap bmap,
+ 	if ((block < bmap->start) || (block+num-1 > bmap->end)) {
+ 		ext2fs_warn_bitmap(EXT2_ET_BAD_BLOCK_TEST, block,
+ 				   bmap->description);
+-		return;
++		return EINVAL;
+ 	}
+ 
+ 	return bmap->bitmap_ops->test_clear_bmap_extent(bmap, block, num);
+-- 
+1.7.1
+
diff --git a/libext2fs-Provide-prototype-for-ext2fs_symlink.patch b/libext2fs-Provide-prototype-for-ext2fs_symlink.patch
new file mode 100644
index 0000000..a414490
--- /dev/null
+++ b/libext2fs-Provide-prototype-for-ext2fs_symlink.patch
@@ -0,0 +1,33 @@
+From dd67bbc2f5ae1bf5eb14c2ee56368f28195a2474 Mon Sep 17 00:00:00 2001
+From: Jan Kara <jack@suse.cz>
+Date: Mon, 25 Feb 2013 16:49:02 +0100
+Subject: [PATCH 3/4] libext2fs: Provide prototype for ext2fs_symlink()
+
+New function ext2fs_symlink() doesn't have a prototype in ext2fs.h and
+thus debugfs compilation gives warning:
+
+debugfs.c:2219:2: warning: implicit declaration of function 'ext2fs_symlink'
+
+Signed-off-by: Jan Kara <jack@suse.cz>
+---
+ lib/ext2fs/ext2fs.h |    4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+diff --git a/lib/ext2fs/ext2fs.h b/lib/ext2fs/ext2fs.h
+index 7139b4d..cd59473 100644
+--- a/lib/ext2fs/ext2fs.h
++++ b/lib/ext2fs/ext2fs.h
+@@ -1449,6 +1449,10 @@ errcode_t ext2fs_link(ext2_filsys fs, ext2_ino_t dir, const char *name,
+ errcode_t ext2fs_unlink(ext2_filsys fs, ext2_ino_t dir, const char *name,
+ 			ext2_ino_t ino, int flags);
+ 
++/* symlink.c */
++errcode_t ext2fs_symlink(ext2_filsys fs, ext2_ino_t parent, ext2_ino_t ino,
++			 const char *name, char *target);
++
+ /* mmp.c */
+ errcode_t ext2fs_mmp_read(ext2_filsys fs, blk64_t mmp_blk, void *buf);
+ errcode_t ext2fs_mmp_write(ext2_filsys fs, blk64_t mmp_blk, void *buf);
+-- 
+1.7.1
+
diff --git a/resize-bigalloc_check-should-have-return-type-void.patch b/resize-bigalloc_check-should-have-return-type-void.patch
new file mode 100644
index 0000000..8b707ce
--- /dev/null
+++ b/resize-bigalloc_check-should-have-return-type-void.patch
@@ -0,0 +1,26 @@
+From 2892bd7a8074d020f5c62f9daeee9cea3883c0de Mon Sep 17 00:00:00 2001
+From: Jan Kara <jack@suse.cz>
+Date: Mon, 25 Feb 2013 16:51:48 +0100
+Subject: [PATCH 4/4] resize: bigalloc_check() should have return type void
+
+Signed-off-by: Jan Kara <jack@suse.cz>
+---
+ resize/main.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/resize/main.c b/resize/main.c
+index 4cbfe69..b648a15 100644
+--- a/resize/main.c
++++ b/resize/main.c
+@@ -147,7 +147,7 @@ static void determine_fs_stride(ext2_filsys fs)
+ #endif
+ }
+ 
+-static bigalloc_check(ext2_filsys fs, int force)
++static void bigalloc_check(ext2_filsys fs, int force)
+ {
+ 	if (!force && EXT2_HAS_RO_COMPAT_FEATURE(fs->super,
+ 				EXT4_FEATURE_RO_COMPAT_BIGALLOC)) {
+-- 
+1.7.1
+