summaryrefslogtreecommitdiff
path: root/filesystems/xfsprogs/files
diff options
context:
space:
mode:
authorRobert Clausecker <fuz@FreeBSD.org>2024-09-27 12:48:46 +0200
committerRobert Clausecker <fuz@FreeBSD.org>2024-11-06 16:17:35 +0100
commit6e2da9672f79f44048d597f0f61e4646cdeade9d (patch)
treec92e4b3158e3419e8cec38e00227d08dcdaab3e9 /filesystems/xfsprogs/files
parentmath/sdpa: speed up build (diff)
filesystems: add new category for file systems and related utilities
The filesystems category houses file systems and file system utilities. It is added mainly to turn the sysutils/fusefs-* pseudo-category into a proper one, but is also useful for the sundry of other file systems related ports found in the tree. Ports that seem like they belong there are moved to the new category. Two ports, sysutils/fusefs-funionfs and sysutils/fusefs-fusepak are not moved as they currently don't fetch and don't have TIMESTAMP set in their distinfo, but that is required to be able to push a rename of the port by the pre-receive hook. Approved by: portmgr (rene) Reviewed by: mat Pull Request: https://github.com/freebsd/freebsd-ports/pull/302 PR: 281988
Diffstat (limited to 'filesystems/xfsprogs/files')
-rw-r--r--filesystems/xfsprogs/files/patch-fsr_xfs__fsr.c266
-rw-r--r--filesystems/xfsprogs/files/patch-include_freebsd.h17
-rw-r--r--filesystems/xfsprogs/files/patch-include_libxfs.h10
-rw-r--r--filesystems/xfsprogs/files/patch-include_list.h11
-rw-r--r--filesystems/xfsprogs/files/patch-include_xfs__bit.h11
-rw-r--r--filesystems/xfsprogs/files/patch-io_mmap.c41
-rw-r--r--filesystems/xfsprogs/files/patch-io_readdir.c20
-rw-r--r--filesystems/xfsprogs/files/patch-libhandle_handle.c10
-rw-r--r--filesystems/xfsprogs/files/patch-libhandle_jdm.c11
-rw-r--r--filesystems/xfsprogs/files/patch-libxcmd_paths.c11
-rw-r--r--filesystems/xfsprogs/files/patch-libxfs_crc32.c10
-rw-r--r--filesystems/xfsprogs/files/patch-libxfs_rdwr.c19
-rw-r--r--filesystems/xfsprogs/files/patch-libxfs_util.c10
-rw-r--r--filesystems/xfsprogs/files/patch-libxfs_xfs__attr__remote.c10
-rw-r--r--filesystems/xfsprogs/files/patch-libxlog_util.c10
-rw-r--r--filesystems/xfsprogs/files/patch-po_de.po11
-rw-r--r--filesystems/xfsprogs/files/patch-repair_agheader.c10
-rw-r--r--filesystems/xfsprogs/files/patch-repair_attr__repair.c10
-rw-r--r--filesystems/xfsprogs/files/patch-repair_attr__repair.h10
-rw-r--r--filesystems/xfsprogs/files/patch-repair_bmap.c10
-rw-r--r--filesystems/xfsprogs/files/patch-repair_dino__chunks.c10
-rw-r--r--filesystems/xfsprogs/files/patch-repair_dinode.c10
-rw-r--r--filesystems/xfsprogs/files/patch-repair_dir2.c10
-rw-r--r--filesystems/xfsprogs/files/patch-repair_incore.c10
-rw-r--r--filesystems/xfsprogs/files/patch-repair_phase2.c10
-rw-r--r--filesystems/xfsprogs/files/patch-repair_phase3.c10
-rw-r--r--filesystems/xfsprogs/files/patch-repair_phase4.c10
-rw-r--r--filesystems/xfsprogs/files/patch-repair_phase6.c19
-rw-r--r--filesystems/xfsprogs/files/patch-repair_phase7.c10
-rw-r--r--filesystems/xfsprogs/files/patch-repair_progress.c8
-rw-r--r--filesystems/xfsprogs/files/patch-repair_sb.c10
-rw-r--r--filesystems/xfsprogs/files/patch-repair_scan.c10
-rw-r--r--filesystems/xfsprogs/files/patch-repair_xfs__repair.c10
33 files changed, 655 insertions, 0 deletions
diff --git a/filesystems/xfsprogs/files/patch-fsr_xfs__fsr.c b/filesystems/xfsprogs/files/patch-fsr_xfs__fsr.c
new file mode 100644
index 000000000000..2ded0bf3606c
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-fsr_xfs__fsr.c
@@ -0,0 +1,266 @@
+--- fsr/xfs_fsr.c.orig 2015-07-24 04:28:04 UTC
++++ fsr/xfs_fsr.c
+@@ -26,15 +26,13 @@
+
+ #include <fcntl.h>
+ #include <errno.h>
+-#include <malloc.h>
+-#include <mntent.h>
++#include <sys/mount.h>
+ #include <syslog.h>
+ #include <signal.h>
+ #include <sys/ioctl.h>
+ #include <sys/wait.h>
+-#include <sys/vfs.h>
+ #include <sys/statvfs.h>
+-#include <sys/xattr.h>
++#include <sys/extattr.h>
+
+
+ #ifndef XFS_XFLAG_NODEFRAG
+@@ -184,10 +182,13 @@ aborter(int unused)
+ static char *
+ find_mountpoint(char *mtab, char *argname, struct stat64 *sb)
+ {
+- struct mntent *t;
++ struct statfs *t;
+ struct stat64 ms;
+- FILE *mtabp;
+ char *mntp = NULL;
++ int nt;
++
++#ifdef __linux__
++ FILE *mtabp;
+
+ mtabp = setmntent(mtab, "r");
+ if (!mtabp) {
+@@ -195,40 +196,43 @@ find_mountpoint(char *mtab, char *argnam
+ progname, mtab);
+ exit(1);
+ }
++#endif
+
+- while ((t = getmntent(mtabp))) {
++ for (nt = getmntinfo(&t, MNT_NOWAIT); nt--; t++) {
+ if (S_ISDIR(sb->st_mode)) { /* mount point */
+- if (stat64(t->mnt_dir, &ms) < 0)
++ if (stat64(t->f_mntonname, &ms) < 0)
+ continue;
+ if (sb->st_ino != ms.st_ino)
+ continue;
+ if (sb->st_dev != ms.st_dev)
+ continue;
+- if (strcmp(t->mnt_type, MNTTYPE_XFS) != 0)
++ if (strcmp(t->f_fstypename, MNTTYPE_XFS) != 0)
+ continue;
+ } else { /* device */
+ struct stat64 sb2;
+
+- if (stat64(t->mnt_fsname, &ms) < 0)
++ if (stat64(t->f_mntfromname, &ms) < 0)
+ continue;
+ if (sb->st_rdev != ms.st_rdev)
+ continue;
+- if (strcmp(t->mnt_type, MNTTYPE_XFS) != 0)
++ if (strcmp(t->f_fstypename, MNTTYPE_XFS) != 0)
+ continue;
+
+ /*
+ * Make sure the mountpoint given by mtab is accessible
+ * before using it.
+ */
+- if (stat64(t->mnt_dir, &sb2) < 0)
++ if (stat64(t->f_mntonname, &sb2) < 0)
+ continue;
+ }
+
+- mntp = t->mnt_dir;
++ mntp = t->f_mntonname;
+ break;
+ }
+
++#ifdef __linux__
+ endmntent(mtabp);
++#endif
+ return mntp;
+ }
+
+@@ -304,6 +308,7 @@ main(int argc, char **argv)
+ }
+ }
+
++#ifdef __linux__
+ /*
+ * If the user did not specify an explicit mount table, try to use
+ * /proc/mounts if it is available, else /etc/mtab. We prefer
+@@ -317,6 +322,7 @@ main(int argc, char **argv)
+ else
+ mtab = _PATH_MOUNTED;
+ }
++#endif
+
+ if (vflag)
+ setbuf(stdout, NULL);
+@@ -392,7 +398,7 @@ usage(int ret)
+ " -t time How long to run in seconds.\n"
+ " -p passes Number of passes before terminating global re-org.\n"
+ " -f leftoff Use this instead of %s.\n"
+-" -m mtab Use something other than /etc/mtab.\n"
++" -m mtab Use this instead of /etc/mtab (ignored on FreeBSD).\n"
+ " -d Debug, print even more.\n"
+ " -v Verbose, more -v's more verbose.\n"
+ " -V Print version number and exit.\n"
+@@ -406,17 +412,20 @@ usage(int ret)
+ static void
+ initallfs(char *mtab)
+ {
+- FILE *fp;
+- struct mntent *mp;
+- int mi;
++ struct statfs *mp;
++ int mi, nmp;
+ char *cp;
+ struct stat64 sb;
+
++#ifdef __linux__
++ FILE *fp;
++
+ fp = setmntent(mtab, "r");
+ if (fp == NULL) {
+ fsrprintf(_("could not open mtab file: %s\n"), mtab);
+ exit(1);
+ }
++#endif
+
+ /* malloc a number of descriptors, increased later if needed */
+ if (!(fsbase = (fsdesc_t *)malloc(fsbufsize * sizeof(fsdesc_t)))) {
+@@ -428,23 +437,19 @@ initallfs(char *mtab)
+ /* find all rw xfs file systems */
+ mi = 0;
+ fs = fsbase;
+- while ((mp = getmntent(fp))) {
++ for (nmp = getmntinfo(&mp, MNT_NOWAIT); nmp--; mp++) {
+ int rw = 0;
+
+- if (strcmp(mp->mnt_type, MNTTYPE_XFS ) != 0 ||
+- stat64(mp->mnt_fsname, &sb) == -1 ||
++ if (strcmp(mp->f_fstypename, MNTTYPE_XFS ) != 0 ||
++ stat64(mp->f_mntfromname, &sb) == -1 ||
+ !S_ISBLK(sb.st_mode))
+ continue;
+
+- cp = strtok(mp->mnt_opts,",");
+- do {
+- if (strcmp("rw", cp) == 0)
+- rw++;
+- } while ((cp = strtok(NULL, ",")) != NULL);
++ rw = !(mp->f_flags & MNT_RDONLY);
+ if (rw == 0) {
+ if (dflag)
+ fsrprintf(_("Skipping %s: not mounted rw\n"),
+- mp->mnt_fsname);
++ mp->f_mntfromname);
+ continue;
+ }
+
+@@ -464,15 +469,15 @@ initallfs(char *mtab)
+ fs = (fsbase + mi); /* Needed ? */
+ }
+
+- fs->dev = strdup(mp->mnt_fsname);
+- fs->mnt = strdup(mp->mnt_dir);
++ fs->dev = strdup(mp->f_mntfromname);
++ fs->mnt = strdup(mp->f_mntonname);
+
+ if (fs->dev == NULL) {
+- fsrprintf(_("strdup(%s) failed\n"), mp->mnt_fsname);
++ fsrprintf(_("strdup(%s) failed\n"), mp->f_mntfromname);
+ exit(1);
+ }
+ if (fs->mnt == NULL) {
+- fsrprintf(_("strdup(%s) failed\n"), mp->mnt_dir);
++ fsrprintf(_("strdup(%s) failed\n"), mp->f_mntonname);
+ exit(1);
+ }
+ mi++;
+@@ -480,7 +485,9 @@ initallfs(char *mtab)
+ }
+ numfs = mi;
+ fsend = (fsbase + numfs);
++#ifdef __linux__
+ endmntent(fp);
++#endif
+ if (numfs == 0) {
+ fsrprintf(_("no rw xfs file systems in mtab: %s\n"), mtab);
+ exit(0);
+@@ -1027,7 +1034,7 @@ fsr_setup_attr_fork(
+ xfs_bstat_t *bstatp)
+ {
+ struct stat64 tstatbuf;
+- int i;
++ int i, ns;
+ int diff = 0;
+ int last_forkoff = 0;
+ int no_change_cnt = 0;
+@@ -1036,6 +1043,9 @@ fsr_setup_attr_fork(
+ if (!(bstatp->bs_xflags & XFS_XFLAG_HASATTR))
+ return 0;
+
++ if (extattr_string_to_namespace("user", &ns) == -1)
++ return -1;
++
+ /*
+ * use the old method if we have attr1 or the kernel does not yet
+ * support passing the fork offset in the bulkstat data.
+@@ -1043,8 +1053,8 @@ fsr_setup_attr_fork(
+ if (!(fsgeom.flags & XFS_FSOP_GEOM_FLAGS_ATTR2) ||
+ bstatp->bs_forkoff == 0) {
+ /* attr1 */
+- ret = fsetxattr(tfd, "user.X", "X", 1, XATTR_CREATE);
+- if (ret) {
++ ret = extattr_set_fd(tfd, ns, "X", "X", 1);
++ if (ret == -1) {
+ fsrprintf(_("could not set ATTR\n"));
+ return -1;
+ }
+@@ -1085,7 +1095,7 @@ fsr_setup_attr_fork(
+ if (!diff)
+ goto out;
+
+- snprintf(name, sizeof(name), "user.%d", i);
++ snprintf(name, sizeof(name), "%d", i);
+
+ /*
+ * If there is no attribute, then we need to create one to get
+@@ -1093,8 +1103,8 @@ fsr_setup_attr_fork(
+ */
+ if (!tbstat.bs_forkoff) {
+ ASSERT(i == 0);
+- ret = fsetxattr(tfd, name, "XX", 2, XATTR_CREATE);
+- if (ret) {
++ ret = extattr_set_fd(tfd, ns, name, "XX", 2);
++ if (ret == -1) {
+ fsrprintf(_("could not set ATTR\n"));
+ return -1;
+ }
+@@ -1141,7 +1151,8 @@ fsr_setup_attr_fork(
+ if (diff < 0 && fsx.fsx_nextents > 0) {
+ char val[2048];
+ memset(val, 'X', 2048);
+- if (fsetxattr(tfd, name, val, 2048, 0)) {
++ if (extattr_set_fd(tfd, ns, name, val, 2048)
++ == -1) {
+ fsrprintf(_("big ATTR set failed\n"));
+ return -1;
+ }
+@@ -1185,8 +1196,8 @@ fsr_setup_attr_fork(
+ }
+
+ /* we need to grow the attr fork, so create another attr */
+- ret = fsetxattr(tfd, name, "XX", 2, XATTR_CREATE);
+- if (ret) {
++ ret = extattr_set_fd(tfd, ns, name, "XX", 2);
++ if (ret == -1) {
+ fsrprintf(_("could not set ATTR\n"));
+ return -1;
+ }
diff --git a/filesystems/xfsprogs/files/patch-include_freebsd.h b/filesystems/xfsprogs/files/patch-include_freebsd.h
new file mode 100644
index 000000000000..e6f636c3509c
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-include_freebsd.h
@@ -0,0 +1,17 @@
+--- include/freebsd.h.orig 2015-07-24 04:28:04 UTC
++++ include/freebsd.h
+@@ -37,10 +37,14 @@
+ #define ftruncate64 ftruncate
+ #define lseek64 lseek
+ #define stat64 stat
++#define lstat64 lstat
+ #define pwrite64 pwrite
+ #define pread64 pread
+ #define fdatasync fsync
+ #define memalign(a,sz) valloc(sz)
++#define nftw64 nftw
++#define statvfs64 statvfs
++#define posix_fadvise64 posix_fadvise
+
+ #define constpp char * const *
+
diff --git a/filesystems/xfsprogs/files/patch-include_libxfs.h b/filesystems/xfsprogs/files/patch-include_libxfs.h
new file mode 100644
index 000000000000..229231935310
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-include_libxfs.h
@@ -0,0 +1,10 @@
+--- include/libxfs.h.orig 2015-07-24 04:28:04 UTC
++++ include/libxfs.h
+@@ -27,7 +27,6 @@
+ #include <xfs/list.h>
+ #include <xfs/hlist.h>
+ #include <xfs/cache.h>
+-#include <xfs/bitops.h>
+ #include <xfs/kmem.h>
+ #include <xfs/radix-tree.h>
+ #include <xfs/swab.h>
diff --git a/filesystems/xfsprogs/files/patch-include_list.h b/filesystems/xfsprogs/files/patch-include_list.h
new file mode 100644
index 000000000000..ec1874b585ca
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-include_list.h
@@ -0,0 +1,11 @@
+--- include/list.h.orig 2014-01-20 22:47:46 UTC
++++ include/list.h
+@@ -29,7 +29,7 @@ struct list_head {
+
+ #define LIST_HEAD_INIT(name) { &(name), &(name) }
+
+-#define LIST_HEAD(name) \
++#define XFS_LIST_HEAD(name) \
+ struct list_head name = LIST_HEAD_INIT(name)
+
+ #define INIT_LIST_HEAD(list) list_head_init(list)
diff --git a/filesystems/xfsprogs/files/patch-include_xfs__bit.h b/filesystems/xfsprogs/files/patch-include_xfs__bit.h
new file mode 100644
index 000000000000..768cb386f418
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-include_xfs__bit.h
@@ -0,0 +1,11 @@
+--- include/xfs_bit.h.orig 2015-07-24 04:28:04 UTC
++++ include/xfs_bit.h
+@@ -47,7 +47,7 @@ static inline int xfs_highbit32(__uint32
+ /* Get high bit set out of 64-bit argument, -1 if none set */
+ static inline int xfs_highbit64(__uint64_t v)
+ {
+- return fls64(v) - 1;
++ return flsll(v) - 1;
+ }
+
+ /* Get low bit set out of 32-bit argument, -1 if none set */
diff --git a/filesystems/xfsprogs/files/patch-io_mmap.c b/filesystems/xfsprogs/files/patch-io_mmap.c
new file mode 100644
index 000000000000..89fdc3d72548
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-io_mmap.c
@@ -0,0 +1,41 @@
+--- io/mmap.c.orig 2015-07-24 04:28:04 UTC
++++ io/mmap.c
+@@ -575,6 +575,7 @@ mwrite_f(
+ return 0;
+ }
+
++#ifdef __linux__
+ static void
+ mremap_help(void)
+ {
+@@ -634,6 +635,7 @@ mremap_f(
+
+ return 0;
+ }
++#endif
+
+ void
+ mmap_init(void)
+@@ -689,6 +691,7 @@ mmap_init(void)
+ _("writes data into a region in the current memory mapping");
+ mwrite_cmd.help = mwrite_help;
+
++#ifdef __linux__
+ mremap_cmd.name = "mremap";
+ mremap_cmd.altname = "mrm";
+ mremap_cmd.cfunc = mremap_f;
+@@ -699,11 +702,14 @@ mmap_init(void)
+ mremap_cmd.oneline =
+ _("alters the size of the current memory mapping");
+ mremap_cmd.help = mremap_help;
++#endif
+
+ add_command(&mmap_cmd);
+ add_command(&mread_cmd);
+ add_command(&msync_cmd);
+ add_command(&munmap_cmd);
+ add_command(&mwrite_cmd);
++#ifdef __linux__
+ add_command(&mremap_cmd);
++#endif
+ }
diff --git a/filesystems/xfsprogs/files/patch-io_readdir.c b/filesystems/xfsprogs/files/patch-io_readdir.c
new file mode 100644
index 000000000000..b3c1d2968f4f
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-io_readdir.c
@@ -0,0 +1,20 @@
+--- io/readdir.c.orig 2015-07-24 04:28:04 UTC
++++ io/readdir.c
+@@ -72,7 +72,7 @@ dump_dirent(
+ long long offset,
+ struct dirent *dirent)
+ {
+- printf("%08llx: d_ino: 0x%08lx", offset, dirent->d_ino);
++ printf("%08llx: d_ino: 0x%08x", offset, dirent->d_ino);
+ #ifdef _DIRENT_HAVE_D_OFF
+ printf(" d_off: 0x%08lx", dirent->d_off);
+ #endif
+@@ -109,7 +109,7 @@ read_directory(
+
+ if (dump) {
+ dump_dirent(offset, dirent);
+- offset = dirent->d_off;
++ offset = telldir(dir);
+ }
+ }
+
diff --git a/filesystems/xfsprogs/files/patch-libhandle_handle.c b/filesystems/xfsprogs/files/patch-libhandle_handle.c
new file mode 100644
index 000000000000..0ecca06fd629
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-libhandle_handle.c
@@ -0,0 +1,10 @@
+--- libhandle/handle.c.orig 2015-07-24 04:28:04 UTC
++++ libhandle/handle.c
+@@ -23,6 +23,7 @@
+
+ /* just pick a value we know is more than big enough */
+ #define MAXHANSIZ 64
++#define XATTR_LIST_MAX 65536
+
+ /*
+ * The actual content of a handle is supposed to be opaque here.
diff --git a/filesystems/xfsprogs/files/patch-libhandle_jdm.c b/filesystems/xfsprogs/files/patch-libhandle_jdm.c
new file mode 100644
index 000000000000..ef504248d1cb
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-libhandle_jdm.c
@@ -0,0 +1,11 @@
+--- libhandle/jdm.c.orig 2015-07-24 04:28:04 UTC
++++ libhandle/jdm.c
+@@ -21,6 +21,8 @@
+ #include <xfs/jdm.h>
+ #include <xfs/parent.h>
+
++#define XATTR_LIST_MAX 65536
++
+ /* internal fshandle - typecast to a void for external use */
+ #define FSHANDLE_SZ 8
+ typedef struct fshandle {
diff --git a/filesystems/xfsprogs/files/patch-libxcmd_paths.c b/filesystems/xfsprogs/files/patch-libxcmd_paths.c
new file mode 100644
index 000000000000..59037da27541
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-libxcmd_paths.c
@@ -0,0 +1,11 @@
+--- libxcmd/paths.c.orig 2015-07-24 04:28:04 UTC
++++ libxcmd/paths.c
+@@ -364,7 +364,7 @@ fs_table_initialise_mounts(
+ continue;
+ if (!realpath(stats[i].f_mntfromname, rmntfromname))
+ continue;
+- if (!realpath(stats[i].f_mntonname, rmnttomname)))
++ if (!realpath(stats[i].f_mntonname, rmntonname))
+ continue;
+
+ if (path &&
diff --git a/filesystems/xfsprogs/files/patch-libxfs_crc32.c b/filesystems/xfsprogs/files/patch-libxfs_crc32.c
new file mode 100644
index 000000000000..32f53647b5d6
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-libxfs_crc32.c
@@ -0,0 +1,10 @@
+--- libxfs/crc32.c.orig 2015-07-24 04:28:04 UTC
++++ libxfs/crc32.c
+@@ -33,6 +33,7 @@
+ * match the hardware acceleration available on Intel CPUs.
+ */
+
++#include <inttypes.h>
+ #include <libxfs.h>
+ #include "crc32defs.h"
+
diff --git a/filesystems/xfsprogs/files/patch-libxfs_rdwr.c b/filesystems/xfsprogs/files/patch-libxfs_rdwr.c
new file mode 100644
index 000000000000..d89bf99c7ee7
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-libxfs_rdwr.c
@@ -0,0 +1,19 @@
+--- libxfs/rdwr.c.orig 2015-07-24 04:28:04 UTC
++++ libxfs/rdwr.c
+@@ -16,6 +16,7 @@
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <inttypes.h>
+ #include <xfs/libxfs.h>
+ #include "init.h"
+
+@@ -371,7 +372,7 @@ libxfs_bcompare(struct cache_node *node,
+ #ifdef IO_BCOMPARE_CHECK
+ if (!(libxfs_bcache->c_flags & CACHE_MISCOMPARE_PURGE)) {
+ fprintf(stderr,
+- "%lx: Badness in key lookup (length)\n"
++ "%p: Badness in key lookup (length)\n"
+ "bp=(bno 0x%llx, len %u bytes) key=(bno 0x%llx, len %u bytes)\n",
+ pthread_self(),
+ (unsigned long long)bp->b_bn, (int)bp->b_bcount,
diff --git a/filesystems/xfsprogs/files/patch-libxfs_util.c b/filesystems/xfsprogs/files/patch-libxfs_util.c
new file mode 100644
index 000000000000..cb15c74f5518
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-libxfs_util.c
@@ -0,0 +1,10 @@
+--- libxfs/util.c.orig 2015-07-24 04:28:04 UTC
++++ libxfs/util.c
+@@ -16,6 +16,7 @@
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <inttypes.h>
+ #include <xfs.h>
+ #include <time.h>
+ #include <stdio.h>
diff --git a/filesystems/xfsprogs/files/patch-libxfs_xfs__attr__remote.c b/filesystems/xfsprogs/files/patch-libxfs_xfs__attr__remote.c
new file mode 100644
index 000000000000..969d1bdf444a
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-libxfs_xfs__attr__remote.c
@@ -0,0 +1,10 @@
+--- libxfs/xfs_attr_remote.c.orig 2015-07-24 04:28:04 UTC
++++ libxfs/xfs_attr_remote.c
+@@ -19,6 +19,7 @@
+ #include <xfs.h>
+
+ #define ATTR_RMTVALUE_MAPSIZE 1 /* # of map entries at once */
++#define XATTR_SIZE_MAX 65536
+
+ /*
+ * Each contiguous block has a header, so it is not just a simple attribute
diff --git a/filesystems/xfsprogs/files/patch-libxlog_util.c b/filesystems/xfsprogs/files/patch-libxlog_util.c
new file mode 100644
index 000000000000..3b2f23613efb
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-libxlog_util.c
@@ -0,0 +1,10 @@
+--- libxlog/util.c.orig 2015-07-28 23:02:16 UTC
++++ libxlog/util.c
+@@ -16,6 +16,7 @@
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <inttypes.h>
+ #include <xfs/libxlog.h>
+
+ int print_exit;
diff --git a/filesystems/xfsprogs/files/patch-po_de.po b/filesystems/xfsprogs/files/patch-po_de.po
new file mode 100644
index 000000000000..bf9faedd7eda
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-po_de.po
@@ -0,0 +1,11 @@
+--- po/de.po.orig 2015-07-24 04:28:04 UTC
++++ po/de.po
+@@ -3084,7 +3084,7 @@ msgid "%s will take about %.1f megabytes\n"
+ #: .././estimate/xfs_estimate.c:191
+ #, c-format
+ msgid "%s will take about %.1f megabytes\n"
+-msgstr "%s wird etwa %.lf Megabytes einnehmen\n"
++msgstr "%s wird etwa %.1f Megabytes einnehmen\n"
+
+ #: .././estimate/xfs_estimate.c:198
+ #, c-format
diff --git a/filesystems/xfsprogs/files/patch-repair_agheader.c b/filesystems/xfsprogs/files/patch-repair_agheader.c
new file mode 100644
index 000000000000..d0d0f14ea0a6
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-repair_agheader.c
@@ -0,0 +1,10 @@
+--- repair/agheader.c.orig 2015-07-24 04:28:04 UTC
++++ repair/agheader.c
+@@ -16,6 +16,7 @@
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <inttypes.h>
+ #include <libxfs.h>
+ #include "globals.h"
+ #include "agheader.h"
diff --git a/filesystems/xfsprogs/files/patch-repair_attr__repair.c b/filesystems/xfsprogs/files/patch-repair_attr__repair.c
new file mode 100644
index 000000000000..6ea276ef3e88
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-repair_attr__repair.c
@@ -0,0 +1,10 @@
+--- repair/attr_repair.c.orig 2015-07-24 04:28:04 UTC
++++ repair/attr_repair.c
+@@ -16,6 +16,7 @@
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <inttypes.h>
+ #include <libxfs.h>
+ #include "globals.h"
+ #include "err_protos.h"
diff --git a/filesystems/xfsprogs/files/patch-repair_attr__repair.h b/filesystems/xfsprogs/files/patch-repair_attr__repair.h
new file mode 100644
index 000000000000..9ae0d545ec7e
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-repair_attr__repair.h
@@ -0,0 +1,10 @@
+--- repair/attr_repair.h.orig 2015-07-24 04:28:04 UTC
++++ repair/attr_repair.h
+@@ -71,6 +71,7 @@ struct xfs_acl {
+ * For v4 superblocks, that is limited to 25 entries. For v5 superblocks, it is
+ * limited only by the maximum size of the xattr that stores the information.
+ */
++#define XATTR_SIZE_MAX 65536
+ #define XFS_ACL_MAX_ENTRIES(mp) \
+ (xfs_sb_version_hascrc(&mp->m_sb) \
+ ? (XATTR_SIZE_MAX - sizeof(struct xfs_acl)) / \
diff --git a/filesystems/xfsprogs/files/patch-repair_bmap.c b/filesystems/xfsprogs/files/patch-repair_bmap.c
new file mode 100644
index 000000000000..754e1d435384
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-repair_bmap.c
@@ -0,0 +1,10 @@
+--- repair/bmap.c.orig 2015-07-24 04:28:04 UTC
++++ repair/bmap.c
+@@ -16,6 +16,7 @@
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <inttypes.h>
+ #include <libxfs.h>
+ #include "err_protos.h"
+ #include "bmap.h"
diff --git a/filesystems/xfsprogs/files/patch-repair_dino__chunks.c b/filesystems/xfsprogs/files/patch-repair_dino__chunks.c
new file mode 100644
index 000000000000..e99a31e860bc
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-repair_dino__chunks.c
@@ -0,0 +1,10 @@
+--- repair/dino_chunks.c.orig 2015-07-24 04:28:04 UTC
++++ repair/dino_chunks.c
+@@ -16,6 +16,7 @@
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <inttypes.h>
+ #include <libxfs.h>
+ #include "avl.h"
+ #include "globals.h"
diff --git a/filesystems/xfsprogs/files/patch-repair_dinode.c b/filesystems/xfsprogs/files/patch-repair_dinode.c
new file mode 100644
index 000000000000..681657d22168
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-repair_dinode.c
@@ -0,0 +1,10 @@
+--- repair/dinode.c.orig 2015-07-24 04:28:04 UTC
++++ repair/dinode.c
+@@ -16,6 +16,7 @@
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <inttypes.h>
+ #include <libxfs.h>
+ #include "avl.h"
+ #include "globals.h"
diff --git a/filesystems/xfsprogs/files/patch-repair_dir2.c b/filesystems/xfsprogs/files/patch-repair_dir2.c
new file mode 100644
index 000000000000..9056ade2151f
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-repair_dir2.c
@@ -0,0 +1,10 @@
+--- repair/dir2.c.orig 2015-07-24 04:28:04 UTC
++++ repair/dir2.c
+@@ -16,6 +16,7 @@
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <inttypes.h>
+ #include <libxfs.h>
+ #include "avl.h"
+ #include "globals.h"
diff --git a/filesystems/xfsprogs/files/patch-repair_incore.c b/filesystems/xfsprogs/files/patch-repair_incore.c
new file mode 100644
index 000000000000..97637a572c82
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-repair_incore.c
@@ -0,0 +1,10 @@
+--- repair/incore.c.orig 2015-07-24 04:28:04 UTC
++++ repair/incore.c
+@@ -16,6 +16,7 @@
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <inttypes.h>
+ #include <libxfs.h>
+ #include "avl.h"
+ #include "btree.h"
diff --git a/filesystems/xfsprogs/files/patch-repair_phase2.c b/filesystems/xfsprogs/files/patch-repair_phase2.c
new file mode 100644
index 000000000000..6a3b7ecda94b
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-repair_phase2.c
@@ -0,0 +1,10 @@
+--- repair/phase2.c.orig 2015-07-28 23:02:16 UTC
++++ repair/phase2.c
+@@ -16,6 +16,7 @@
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <inttypes.h>
+ #include <xfs/libxlog.h>
+ #include "avl.h"
+ #include "globals.h"
diff --git a/filesystems/xfsprogs/files/patch-repair_phase3.c b/filesystems/xfsprogs/files/patch-repair_phase3.c
new file mode 100644
index 000000000000..3d5de760b8b7
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-repair_phase3.c
@@ -0,0 +1,10 @@
+--- repair/phase3.c.orig 2015-07-24 04:28:04 UTC
++++ repair/phase3.c
+@@ -16,6 +16,7 @@
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <inttypes.h>
+ #include <libxfs.h>
+ #include "threads.h"
+ #include "prefetch.h"
diff --git a/filesystems/xfsprogs/files/patch-repair_phase4.c b/filesystems/xfsprogs/files/patch-repair_phase4.c
new file mode 100644
index 000000000000..79b6ee00e029
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-repair_phase4.c
@@ -0,0 +1,10 @@
+--- repair/phase4.c.orig 2015-07-24 04:28:04 UTC
++++ repair/phase4.c
+@@ -16,6 +16,7 @@
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <inttypes.h>
+ #include <libxfs.h>
+ #include "threads.h"
+ #include "prefetch.h"
diff --git a/filesystems/xfsprogs/files/patch-repair_phase6.c b/filesystems/xfsprogs/files/patch-repair_phase6.c
new file mode 100644
index 000000000000..6285609ca09b
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-repair_phase6.c
@@ -0,0 +1,19 @@
+--- repair/phase6.c.orig 2015-07-24 04:28:04 UTC
++++ repair/phase6.c
+@@ -16,6 +16,7 @@
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <inttypes.h>
+ #include <libxfs.h>
+ #include "threads.h"
+ #include "prefetch.h"
+@@ -49,7 +50,7 @@ typedef struct dotdot_update {
+ int ino_offset;
+ } dotdot_update_t;
+
+-static LIST_HEAD(dotdot_update_list);
++static XFS_LIST_HEAD(dotdot_update_list);
+ static int dotdot_update;
+
+ static void
diff --git a/filesystems/xfsprogs/files/patch-repair_phase7.c b/filesystems/xfsprogs/files/patch-repair_phase7.c
new file mode 100644
index 000000000000..a89d928ac70e
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-repair_phase7.c
@@ -0,0 +1,10 @@
+--- repair/phase7.c.orig 2015-07-24 04:28:04 UTC
++++ repair/phase7.c
+@@ -16,6 +16,7 @@
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <inttypes.h>
+ #include <libxfs.h>
+ #include "avl.h"
+ #include "globals.h"
diff --git a/filesystems/xfsprogs/files/patch-repair_progress.c b/filesystems/xfsprogs/files/patch-repair_progress.c
new file mode 100644
index 000000000000..eb0d4c92c28c
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-repair_progress.c
@@ -0,0 +1,8 @@
+--- repair/progress.c.orig 2015-07-24 04:28:04 UTC
++++ repair/progress.c
+@@ -1,4 +1,5 @@
+
++#include <inttypes.h>
+ #include <libxfs.h>
+ #include "globals.h"
+ #include "progress.h"
diff --git a/filesystems/xfsprogs/files/patch-repair_sb.c b/filesystems/xfsprogs/files/patch-repair_sb.c
new file mode 100644
index 000000000000..c2a88d67f7c6
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-repair_sb.c
@@ -0,0 +1,10 @@
+--- repair/sb.c.orig 2015-07-24 04:28:04 UTC
++++ repair/sb.c
+@@ -16,6 +16,7 @@
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <inttypes.h>
+ #include <libxfs.h>
+ #include <libxlog.h>
+ #include "agheader.h"
diff --git a/filesystems/xfsprogs/files/patch-repair_scan.c b/filesystems/xfsprogs/files/patch-repair_scan.c
new file mode 100644
index 000000000000..6d57dfd276d5
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-repair_scan.c
@@ -0,0 +1,10 @@
+--- repair/scan.c.orig 2015-07-24 04:28:04 UTC
++++ repair/scan.c
+@@ -16,6 +16,7 @@
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <inttypes.h>
+ #include <libxfs.h>
+ #include "avl.h"
+ #include "globals.h"
diff --git a/filesystems/xfsprogs/files/patch-repair_xfs__repair.c b/filesystems/xfsprogs/files/patch-repair_xfs__repair.c
new file mode 100644
index 000000000000..f86768dfeb1f
--- /dev/null
+++ b/filesystems/xfsprogs/files/patch-repair_xfs__repair.c
@@ -0,0 +1,10 @@
+--- repair/xfs_repair.c.orig 2015-07-24 04:28:04 UTC
++++ repair/xfs_repair.c
+@@ -16,6 +16,7 @@
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <inttypes.h>
+ #include <xfs/libxlog.h>
+ #include <sys/resource.h>
+ #include "avl.h"