Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 402982 Details for
Bug 549100
sys-fs/xfsprogs - patches for building in a musl environment
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
musl fixes for sys-fs/xfsprogs, from Alpine Linux
xfsprogs-musl-fixes.patch (text/plain), 3.51 KB, created by
Joshua Kinard
on 2015-05-10 18:41:42 UTC
(
hide
)
Description:
musl fixes for sys-fs/xfsprogs, from Alpine Linux
Filename:
MIME Type:
Creator:
Joshua Kinard
Created:
2015-05-10 18:41:42 UTC
Size:
3.51 KB
patch
obsolete
>diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c >index 6f00b41..5b4af53 100644 >--- a/fsr/xfs_fsr.c >+++ b/fsr/xfs_fsr.c >@@ -44,6 +44,10 @@ > #define _PATH_FSRLAST "/var/tmp/.fsrlast_xfs" > #define _PATH_PROC_MOUNTS "/proc/mounts" > >+#ifndef _PATH_MOUNTED >+#define _PATH_MOUNTED MOUNTED >+#endif >+ > > char *progname; > >diff --git a/include/platform_defs.h.in b/include/platform_defs.h.in >index ac260bc..0e7fccf 100644 >--- a/include/platform_defs.h.in >+++ b/include/platform_defs.h.in >@@ -68,6 +68,32 @@ typedef __u64 __bitwise __be64; > > typedef struct filldir filldir_t; > >+#ifndef __uint8_t >+#define __uint8_t uint8_t >+#endif >+#ifndef __uint16_t >+#define __uint16_t uint16_t >+#endif >+#ifndef __uint32_t >+#define __uint32_t uint32_t >+#endif >+#ifndef __uint64_t >+#define __uint64_t uint64_t >+#endif >+ >+#ifndef __int8_t >+#define __int8_t int8_t >+#endif >+#ifndef __int16_t >+#define __int16_t int16_t >+#endif >+#ifndef __int32_t >+#define __int32_t int32_t >+#endif >+#ifndef __int64_t >+#define __int64_t int64_t >+#endif >+ > #if defined(__linux__) > #include <xfs/linux.h> > #elif defined(__FreeBSD__) >diff --git a/libhandle/handle.c b/libhandle/handle.c >index 9a232fa..1db7772 100644 >--- a/libhandle/handle.c >+++ b/libhandle/handle.c >@@ -20,6 +20,9 @@ > #include <xfs/xfs.h> > #include <xfs/handle.h> > #include <xfs/parent.h> >+#if defined(__linux__) >+#include <linux/limits.h> >+#endif > > /* just pick a value we know is more than big enough */ > #define MAXHANSIZ 64 >diff --git a/libhandle/jdm.c b/libhandle/jdm.c >index 070407b..8dd6322 100644 >--- a/libhandle/jdm.c >+++ b/libhandle/jdm.c >@@ -20,6 +20,9 @@ > #include <xfs/handle.h> > #include <xfs/jdm.h> > #include <xfs/parent.h> >+#if defined(__linux__) >+#include <linux/limits.h> >+#endif > > /* internal fshandle - typecast to a void for external use */ > #define FSHANDLE_SZ 8 >diff --git a/libxfs/linux.c b/libxfs/linux.c >index 2e07d54..4075786 100644 >--- a/libxfs/linux.c >+++ b/libxfs/linux.c >@@ -16,12 +16,9 @@ > * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA > */ > >-#define ustat __kernel_ustat > #include <xfs/libxfs.h> > #include <mntent.h> > #include <sys/stat.h> >-#undef ustat >-#include <sys/ustat.h> > #include <sys/mount.h> > #include <sys/ioctl.h> > #include <sys/sysinfo.h> >@@ -49,9 +46,12 @@ static int max_block_alignment; > int > platform_check_ismounted(char *name, char *block, struct stat64 *s, int verbose) > { >- /* Pad ust; pre-2.6.28 linux copies out too much in 32bit compat mode */ >- struct ustat ust[2]; > struct stat64 st; >+ FILE *f; >+ struct stat64 mst; >+ struct mntent *mnt; >+ char mounts[MAXPATHLEN]; >+ int ismounted = 0; > > if (!s) { > if (stat64(block, &st) < 0) >@@ -61,14 +61,25 @@ platform_check_ismounted(char *name, char *block, struct stat64 *s, int verbose) > s = &st; > } > >- if (ustat(s->st_rdev, ust) >= 0) { >+ strcpy(mounts, (!access(PROC_MOUNTED, R_OK)) ? PROC_MOUNTED : MOUNTED); >+ if ((f = setmntent(mounts, "r")) == NULL) >+ return 0; >+ >+ while ((mnt = getmntent(f)) != NULL) { >+ if (stat64(mnt->mnt_dir, &mst) < 0) >+ continue; >+ if (mst.st_dev != s->st_rdev) >+ continue; >+ > if (verbose) > fprintf(stderr, > _("%s: %s contains a mounted filesystem\n"), > progname, name); >- return 1; >+ ismounted = 1; >+ break; > } >- return 0; >+ endmntent(f); >+ return ismounted; > } > > int >--- ./repair/attr_repair.c.orig >+++ ./repair/attr_repair.c >@@ -24,6 +24,10 @@ > #include "bmap.h" > #include "protos.h" > #include "dir2.h" >+#if defined(__linux__) >+#include <linux/limits.h> >+#endif >+ > > static int xfs_acl_valid(struct xfs_mount *mp, struct xfs_acl *daclp); > static int xfs_mac_valid(xfs_mac_label_t *lp);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 549100
: 402982 |
402984
|
411828