mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-01-05 08:42:11 +01:00
208 lines
10 KiB
Diff
208 lines
10 KiB
Diff
diff -rupN a/src/common.c b/src/common.c
|
|
--- a/src/common.c 2014-02-13 22:31:32.000000000 +0100
|
|
+++ b/src/common.c 2014-02-24 16:56:50.054679687 +0100
|
|
@@ -29,7 +29,6 @@
|
|
#include <sys/stat.h>
|
|
#include <fcntl.h>
|
|
#include <stdlib.h>
|
|
-#include <execinfo.h>
|
|
#include <wordexp.h>
|
|
#include <fnmatch.h>
|
|
#include <time.h>
|
|
@@ -549,23 +548,6 @@ u64 stats_errcount(cstats stats)
|
|
|
|
int format_stacktrace(char *buffer, int bufsize)
|
|
{
|
|
- const int stack_depth=20;
|
|
- void *temp[stack_depth];
|
|
- char **strings;
|
|
- int nptrs;
|
|
- int i;
|
|
-
|
|
- // format the backtrace (advanced error info)
|
|
- memset(buffer, 0, bufsize);
|
|
- nptrs=backtrace(temp, stack_depth);
|
|
- strings=backtrace_symbols(temp, nptrs);
|
|
- if (strings!=NULL)
|
|
- {
|
|
- for (i = 0; i < nptrs; i++)
|
|
- strlcatf(buffer, bufsize, "%s\n", strings[i]);
|
|
- free(strings);
|
|
- }
|
|
-
|
|
return 0;
|
|
}
|
|
|
|
diff -rupN a/src/fsarchiver.h b/src/fsarchiver.h
|
|
--- a/src/fsarchiver.h 2014-02-13 22:43:59.000000000 +0100
|
|
+++ b/src/fsarchiver.h 2014-02-24 16:57:13.494680985 +0100
|
|
@@ -19,6 +19,7 @@
|
|
#define __FSARCHIVER_H__
|
|
|
|
#include "types.h"
|
|
+#include <linux/limits.h>
|
|
|
|
// ----------------------------- min and max -----------------------------
|
|
#if !defined(min)
|
|
diff -rupN a/src/fs_xfs.h b/src/fs_xfs.h
|
|
--- a/src/fs_xfs.h 2014-02-13 22:30:56.000000000 +0100
|
|
+++ b/src/fs_xfs.h 2014-02-24 16:49:23.984654967 +0100
|
|
@@ -39,34 +39,34 @@ typedef int32_t __s32;
|
|
typedef uint64_t __u64;
|
|
typedef int64_t __s64;
|
|
|
|
-typedef __uint32_t xfs_agblock_t; /* blockno in alloc. group */
|
|
-typedef __uint32_t xfs_extlen_t; /* extent length in blocks */
|
|
-typedef __uint32_t xfs_agnumber_t; /* allocation group number */
|
|
-typedef __int32_t xfs_extnum_t; /* # of extents in a file */
|
|
-typedef __int16_t xfs_aextnum_t; /* # extents in an attribute fork */
|
|
-typedef __int64_t xfs_fsize_t; /* bytes in a file */
|
|
-typedef __uint64_t xfs_ufsize_t; /* unsigned bytes in a file */
|
|
+typedef uint32_t xfs_agblock_t; /* blockno in alloc. group */
|
|
+typedef uint32_t xfs_extlen_t; /* extent length in blocks */
|
|
+typedef uint32_t xfs_agnumber_t; /* allocation group number */
|
|
+typedef int32_t xfs_extnum_t; /* # of extents in a file */
|
|
+typedef int16_t xfs_aextnum_t; /* # extents in an attribute fork */
|
|
+typedef int64_t xfs_fsize_t; /* bytes in a file */
|
|
+typedef uint64_t xfs_ufsize_t; /* unsigned bytes in a file */
|
|
|
|
-typedef __int32_t xfs_suminfo_t; /* type of bitmap summary info */
|
|
-typedef __int32_t xfs_rtword_t; /* word type for bitmap manipulations */
|
|
+typedef int32_t xfs_suminfo_t; /* type of bitmap summary info */
|
|
+typedef int32_t xfs_rtword_t; /* word type for bitmap manipulations */
|
|
|
|
-typedef __int64_t xfs_lsn_t; /* log sequence number */
|
|
-typedef __int32_t xfs_tid_t; /* transaction identifier */
|
|
+typedef int64_t xfs_lsn_t; /* log sequence number */
|
|
+typedef int32_t xfs_tid_t; /* transaction identifier */
|
|
|
|
-typedef __uint32_t xfs_dablk_t; /* dir/attr block number (in file) */
|
|
-typedef __uint32_t xfs_dahash_t; /* dir/attr hash value */
|
|
+typedef uint32_t xfs_dablk_t; /* dir/attr block number (in file) */
|
|
+typedef uint32_t xfs_dahash_t; /* dir/attr hash value */
|
|
|
|
-typedef __uint16_t xfs_prid_t; /* prid_t truncated to 16bits in XFS */
|
|
+typedef uint16_t xfs_prid_t; /* prid_t truncated to 16bits in XFS */
|
|
|
|
/*
|
|
* These types are 64 bits on disk but are either 32 or 64 bits in memory.
|
|
* Disk based types:
|
|
*/
|
|
-typedef __uint64_t xfs_dfsbno_t; /* blockno in filesystem (agno|agbno) */
|
|
-typedef __uint64_t xfs_drfsbno_t; /* blockno in filesystem (raw) */
|
|
-typedef __uint64_t xfs_drtbno_t; /* extent (block) in realtime area */
|
|
-typedef __uint64_t xfs_dfiloff_t; /* block number in a file */
|
|
-typedef __uint64_t xfs_dfilblks_t; /* number of blocks in a file */
|
|
+typedef uint64_t xfs_dfsbno_t; /* blockno in filesystem (agno|agbno) */
|
|
+typedef uint64_t xfs_drfsbno_t; /* blockno in filesystem (raw) */
|
|
+typedef uint64_t xfs_drtbno_t; /* extent (block) in realtime area */
|
|
+typedef uint64_t xfs_dfiloff_t; /* block number in a file */
|
|
+typedef uint64_t xfs_dfilblks_t; /* number of blocks in a file */
|
|
|
|
typedef __s64 xfs_off_t; /* <file offset> type */
|
|
typedef __u64 xfs_ino_t; /* <inode> type */
|
|
@@ -84,8 +84,8 @@ typedef struct { unsigned char __u_bit
|
|
*/
|
|
struct xfs_sb
|
|
{
|
|
- __uint32_t sb_magicnum; /* magic number == XFS_SB_MAGIC */
|
|
- __uint32_t sb_blocksize; /* logical block size, bytes */
|
|
+ uint32_t sb_magicnum; /* magic number == XFS_SB_MAGIC */
|
|
+ uint32_t sb_blocksize; /* logical block size, bytes */
|
|
xfs_drfsbno_t sb_dblocks; /* number of data blocks */
|
|
xfs_drfsbno_t sb_rblocks; /* number of realtime blocks */
|
|
xfs_drtbno_t sb_rextents; /* number of realtime extents */
|
|
@@ -99,51 +99,51 @@ struct xfs_sb
|
|
xfs_agnumber_t sb_agcount; /* number of allocation groups */
|
|
xfs_extlen_t sb_rbmblocks; /* number of rt bitmap blocks */
|
|
xfs_extlen_t sb_logblocks; /* number of log blocks */
|
|
- __uint16_t sb_versionnum; /* header version == XFS_SB_VERSION */
|
|
- __uint16_t sb_sectsize; /* volume sector size, bytes */
|
|
- __uint16_t sb_inodesize; /* inode size, bytes */
|
|
- __uint16_t sb_inopblock; /* inodes per block */
|
|
+ uint16_t sb_versionnum; /* header version == XFS_SB_VERSION */
|
|
+ uint16_t sb_sectsize; /* volume sector size, bytes */
|
|
+ uint16_t sb_inodesize; /* inode size, bytes */
|
|
+ uint16_t sb_inopblock; /* inodes per block */
|
|
char sb_fname[12]; /* file system name */
|
|
- __uint8_t sb_blocklog; /* log2 of sb_blocksize */
|
|
- __uint8_t sb_sectlog; /* log2 of sb_sectsize */
|
|
- __uint8_t sb_inodelog; /* log2 of sb_inodesize */
|
|
- __uint8_t sb_inopblog; /* log2 of sb_inopblock */
|
|
- __uint8_t sb_agblklog; /* log2 of sb_agblocks (rounded up) */
|
|
- __uint8_t sb_rextslog; /* log2 of sb_rextents */
|
|
- __uint8_t sb_inprogress; /* mkfs is in progress, don't mount */
|
|
- __uint8_t sb_imax_pct; /* max % of fs for inode space */
|
|
+ uint8_t sb_blocklog; /* log2 of sb_blocksize */
|
|
+ uint8_t sb_sectlog; /* log2 of sb_sectsize */
|
|
+ uint8_t sb_inodelog; /* log2 of sb_inodesize */
|
|
+ uint8_t sb_inopblog; /* log2 of sb_inopblock */
|
|
+ uint8_t sb_agblklog; /* log2 of sb_agblocks (rounded up) */
|
|
+ uint8_t sb_rextslog; /* log2 of sb_rextents */
|
|
+ uint8_t sb_inprogress; /* mkfs is in progress, don't mount */
|
|
+ uint8_t sb_imax_pct; /* max % of fs for inode space */
|
|
/*
|
|
* These fields must remain contiguous. If you really
|
|
* want to change their layout, make sure you fix the
|
|
* code in xfs_trans_apply_sb_deltas().
|
|
*/
|
|
- __uint64_t sb_icount; /* allocated inodes */
|
|
- __uint64_t sb_ifree; /* free inodes */
|
|
- __uint64_t sb_fdblocks; /* free data blocks */
|
|
- __uint64_t sb_frextents; /* free realtime extents */
|
|
+ uint64_t sb_icount; /* allocated inodes */
|
|
+ uint64_t sb_ifree; /* free inodes */
|
|
+ uint64_t sb_fdblocks; /* free data blocks */
|
|
+ uint64_t sb_frextents; /* free realtime extents */
|
|
/*
|
|
* End contiguous fields.
|
|
*/
|
|
xfs_ino_t sb_uquotino; /* user quota inode */
|
|
xfs_ino_t sb_gquotino; /* group quota inode */
|
|
- __uint16_t sb_qflags; /* quota flags */
|
|
- __uint8_t sb_flags; /* misc. flags */
|
|
- __uint8_t sb_shared_vn; /* shared version number */
|
|
+ uint16_t sb_qflags; /* quota flags */
|
|
+ uint8_t sb_flags; /* misc. flags */
|
|
+ uint8_t sb_shared_vn; /* shared version number */
|
|
xfs_extlen_t sb_inoalignmt; /* inode chunk alignment, fsblocks */
|
|
- __uint32_t sb_unit; /* stripe or raid unit */
|
|
- __uint32_t sb_width; /* stripe or raid width */
|
|
- __uint8_t sb_dirblklog; /* log2 of dir block size (fsbs) */
|
|
- __uint8_t sb_logsectlog; /* log2 of the log sector size */
|
|
- __uint16_t sb_logsectsize; /* sector size for the log, bytes */
|
|
- __uint32_t sb_logsunit; /* stripe unit size for the log */
|
|
- __uint32_t sb_features2; /* additional feature bits */
|
|
+ uint32_t sb_unit; /* stripe or raid unit */
|
|
+ uint32_t sb_width; /* stripe or raid width */
|
|
+ uint8_t sb_dirblklog; /* log2 of dir block size (fsbs) */
|
|
+ uint8_t sb_logsectlog; /* log2 of the log sector size */
|
|
+ uint16_t sb_logsectsize; /* sector size for the log, bytes */
|
|
+ uint32_t sb_logsunit; /* stripe unit size for the log */
|
|
+ uint32_t sb_features2; /* additional feature bits */
|
|
/*
|
|
* bad features2 field as a result of failing to pad the sb
|
|
* structure to 64 bits. Some machines will be using this field
|
|
* for features2 bits. Easiest just to mark it bad and not use
|
|
* it for anything else.
|
|
*/
|
|
- __uint32_t sb_bad_features2;
|
|
+ uint32_t sb_bad_features2;
|
|
|
|
/* must be padded to 64 bit alignment */
|
|
};
|
|
diff -rupN a/src/oper_save.c b/src/oper_save.c
|
|
--- a/src/oper_save.c 2014-02-13 22:31:32.000000000 +0100
|
|
+++ b/src/oper_save.c 2014-02-24 16:51:07.984660731 +0100
|
|
@@ -57,6 +57,10 @@
|
|
#include "error.h"
|
|
#include "queue.h"
|
|
|
|
+#ifndef S_BLKSIZE
|
|
+#define S_BLKSIZE 512
|
|
+#endif
|
|
+
|
|
typedef struct s_savear
|
|
{ carchwriter ai;
|
|
cregmulti regmulti;
|