e2fsprogs: add two compile fixes.
Thank you Joe Roback for reporting and fixing compiling on Darwin. SVN-Revision: 24720
This commit is contained in:
parent
efb7c910ee
commit
ba45b5a907
36
tools/e2fsprogs/patches/003-darwin_directio_fix.patch
Normal file
36
tools/e2fsprogs/patches/003-darwin_directio_fix.patch
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
--- a/lib/ext2fs/unix_io.c
|
||||||
|
+++ b/lib/ext2fs/unix_io.c
|
||||||
|
@@ -428,6 +428,7 @@ static errcode_t unix_open(const char *n
|
||||||
|
struct unix_private_data *data = NULL;
|
||||||
|
errcode_t retval;
|
||||||
|
int open_flags;
|
||||||
|
+ int f_nocache = 0;
|
||||||
|
struct stat st;
|
||||||
|
#ifdef __linux__
|
||||||
|
struct utsname ut;
|
||||||
|
@@ -464,7 +465,11 @@ static errcode_t unix_open(const char *n
|
||||||
|
if (flags & IO_FLAG_EXCLUSIVE)
|
||||||
|
open_flags |= O_EXCL;
|
||||||
|
if (flags & IO_FLAG_DIRECT_IO)
|
||||||
|
+#if !defined(O_DIRECT) && defined(F_NOCACHE)
|
||||||
|
+ f_nocache = F_NOCACHE;
|
||||||
|
+#else
|
||||||
|
open_flags |= O_DIRECT;
|
||||||
|
+#endif
|
||||||
|
data->flags = flags;
|
||||||
|
|
||||||
|
#ifdef HAVE_OPEN64
|
||||||
|
@@ -477,6 +482,13 @@ static errcode_t unix_open(const char *n
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if (f_nocache) {
|
||||||
|
+ if (fcntl(data->dev, f_nocache, 1) < 0) {
|
||||||
|
+ retval = errno;
|
||||||
|
+ goto cleanup;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
#ifdef BLKSSZGET
|
||||||
|
if (flags & IO_FLAG_DIRECT_IO) {
|
||||||
|
if (ioctl(data->dev, BLKSSZGET, &data->align) != 0)
|
26
tools/e2fsprogs/patches/004-big_endian_compile_fix.patch
Normal file
26
tools/e2fsprogs/patches/004-big_endian_compile_fix.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
From: Theodore Ts'o <tytso@mit.edu>
|
||||||
|
Date: Fri, 17 Dec 2010 03:11:43 +0000 (-0500)
|
||||||
|
Subject: libext2fs: Fix compile bug on big-endian architectures
|
||||||
|
X-Git-Url: http://git.kernel.org/?p=fs%2Fext2%2Fe2fsprogs.git;a=commitdiff_plain;h=9098c986b64bb65a2b7fcd2724a400ba1f451f6b
|
||||||
|
|
||||||
|
libext2fs: Fix compile bug on big-endian architectures
|
||||||
|
|
||||||
|
Addresses-Sourceforge-Bug: #3138115
|
||||||
|
|
||||||
|
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
|
||||||
|
---
|
||||||
|
|
||||||
|
diff --git a/lib/ext2fs/swapfs.c b/lib/ext2fs/swapfs.c
|
||||||
|
index 6f6cec2..12427e0 100644
|
||||||
|
--- a/lib/ext2fs/swapfs.c
|
||||||
|
+++ b/lib/ext2fs/swapfs.c
|
||||||
|
@@ -72,7 +72,7 @@ void ext2fs_swap_super(struct ext2_super_block * sb)
|
||||||
|
sb->s_flags = ext2fs_swab32(sb->s_flags);
|
||||||
|
sb->s_kbytes_written = ext2fs_swab64(sb->s_kbytes_written);
|
||||||
|
sb->s_snapshot_inum = ext2fs_swab32(sb->s_snapshot_inum);
|
||||||
|
- sb->s_snapshot_id = ext2fs_swab32(s_snapshot_id);
|
||||||
|
+ sb->s_snapshot_id = ext2fs_swab32(sb->s_snapshot_id);
|
||||||
|
sb->s_snapshot_r_blocks_count =
|
||||||
|
ext2fs_swab64(sb->s_snapshot_r_blocks_count);
|
||||||
|
sb->s_snapshot_list = ext2fs_swab32(sb->s_snapshot_list);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user