]> git.pld-linux.org Git - packages/xfsprogs.git/blame - xfsprogs-miscfix-v2.patch
- up to 3.1.10
[packages/xfsprogs.git] / xfsprogs-miscfix-v2.patch
CommitLineData
ff9c0a4e
JB
1--- xfsprogs-2.5.4/m4/manual_format.m4.orig 2003-07-25 19:42:03.000000000 +0200
2+++ xfsprogs-2.5.4/m4/manual_format.m4 2003-08-08 08:22:59.000000000 +0200
3@@ -6,12 +6,5 @@
4 #
5 AC_DEFUN([AC_MANUAL_FORMAT],
6 [ have_zipped_manpages=false
7- for d in ${prefix}/share/man ${prefix}/man ; do
8- if test -f $d/man1/man.1.gz
9- then
10- have_zipped_manpages=true
11- break
12- fi
13- done
14 AC_SUBST(have_zipped_manpages)
15 ])
51a52578 16
528ce8b7
AM
17--- xfsprogs-3.1.3/Makefile~ 2010-08-18 06:54:06.000000000 +0200
18+++ xfsprogs-3.1.3/Makefile 2010-08-28 16:35:25.820731669 +0200
19@@ -39,7 +39,11 @@
20 LDIRT += $(SRCTAR)
21 endif
22
23-LIB_SUBDIRS = libxfs libxlog libxcmd libhandle libdisk
24+LIB_SUBDIRS = libxfs libxlog libxcmd libhandle
25+ifneq ($(ENABLE_BLKID), yes)
26+LIB_SUBDIRS += libdisk
27+endif
28+
29 TOOL_SUBDIRS = copy db estimate fsck fsr growfs io logprint mkfs quota \
30 mdrestore repair rtcp m4 man doc po debian
31
e1a86c11
AM
32--- xfsprogs-3.1.10/libxcmd/input.c~ 2012-12-13 22:29:24.000000000 +0100
33+++ xfsprogs-3.1.10/libxcmd/input.c 2012-12-14 07:01:24.852839169 +0100
34@@ -88,7 +88,7 @@
35
36 if (!line)
37 return NULL;
38- printf(get_prompt());
39+ printf("%s", get_prompt());
40 fflush(stdout);
41 if (!fgets(line, MAXREADLINESZ, stdin)) {
42 free(line);
43--- /dev/null 2011-06-01 08:46:43.490033582 +0200
44+++ xfsprogs/io/sync_file_range.c 2012-11-12 18:54:28.047526230 +0100
45@@ -0,0 +1,107 @@
46+/*
47+ * Copyright (c) 2012 Red Hat, Inc.
48+ * All Rights Reserved.
49+ *
50+ * This program is free software; you can redistribute it and/or
51+ * modify it under the terms of the GNU General Public License as
52+ * published by the Free Software Foundation.
53+ *
54+ * This program is distributed in the hope that it would be useful,
55+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
56+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
57+ * GNU General Public License for more details.
58+ *
59+ * You should have received a copy of the GNU General Public License
60+ * along with this program; if not, write the Free Software Foundation,
61+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
62+ */
63+
64+#include <xfs/xfs.h>
65+#include <xfs/command.h>
66+#include <xfs/input.h>
67+#include "init.h"
68+#include "io.h"
69+
70+static cmdinfo_t sync_range_cmd;
71+
72+static void
73+sync_range_help(void)
74+{
75+ printf(_(
76+"\n"
77+" Trigger specific writeback commands on a range of the current file\n"
78+"\n"
79+" With no options, the SYNC_FILE_RANGE_WRITE is implied.\n"
80+" -a -- wait for IO to finish after writing (SYNC_FILE_RANGE_WAIT_AFTER).\n"
81+" -b -- wait for IO to finish before writing (SYNC_FILE_RANGE_WAIT_BEFORE).\n"
82+" -w -- write dirty data in range (SYNC_FILE_RANGE_WRITE).\n"
83+"\n"));
84+}
85+
86+static int
87+sync_range_f(
88+ int argc,
89+ char **argv)
90+{
91+ off64_t offset = 0, length = 0;
92+ int c, sync_mode = 0;
93+ size_t blocksize, sectsize;
94+
95+ while ((c = getopt(argc, argv, "abw")) != EOF) {
96+ switch (c) {
97+ case 'a':
98+ sync_mode = SYNC_FILE_RANGE_WAIT_AFTER;
99+ break;
100+ case 'b':
101+ sync_mode = SYNC_FILE_RANGE_WAIT_BEFORE;
102+ break;
103+ case 'w':
104+ sync_mode = SYNC_FILE_RANGE_WRITE;
105+ break;
106+ default:
107+ return command_usage(&sync_range_cmd);
108+ }
109+ }
110+
111+ /* default to just starting writeback on the range */
112+ if (!sync_mode)
113+ sync_mode = SYNC_FILE_RANGE_WRITE;
114+
115+ if (optind != argc - 2)
116+ return command_usage(&sync_range_cmd);
117+ init_cvtnum(&blocksize, &sectsize);
118+ offset = cvtnum(blocksize, sectsize, argv[optind]);
119+ if (offset < 0) {
120+ printf(_("non-numeric offset argument -- %s\n"),
121+ argv[optind]);
122+ return 0;
123+ }
124+ optind++;
125+ length = cvtnum(blocksize, sectsize, argv[optind]);
126+ if (length < 0) {
127+ printf(_("non-numeric length argument -- %s\n"),
128+ argv[optind]);
129+ return 0;
130+ }
131+
132+ if (sync_file_range(file->fd, offset, length, sync_mode) < 0) {
133+ perror("sync_file_range");
134+ return 0;
135+ }
136+ return 0;
137+}
138+
139+void
140+sync_range_init(void)
141+{
142+ sync_range_cmd.name = "sync_range";
143+ sync_range_cmd.cfunc = sync_range_f;
144+ sync_range_cmd.argmin = 2;
145+ sync_range_cmd.argmax = -1;
146+ sync_range_cmd.flags = CMD_NOMAP_OK | CMD_FOREIGN_OK;
147+ sync_range_cmd.args = _("[-abw] off len");
148+ sync_range_cmd.oneline = _("Control writeback on a range of a file");
149+ sync_range_cmd.help = sync_range_help;
150+
151+ add_command(&sync_range_cmd);
152+}
This page took 0.076395 seconds and 4 git commands to generate.