Merge lp:~smb/ubuntu/natty/e2fsprogs/branch into lp:ubuntu/natty/e2fsprogs
- Natty (11.04)
- branch
- Merge into natty
Proposed by
Stefan Bader
Status: | Merged |
---|---|
Merge reported by: | Daniel Holbach |
Merged at revision: | not available |
Proposed branch: | lp:~smb/ubuntu/natty/e2fsprogs/branch |
Merge into: | lp:ubuntu/natty/e2fsprogs |
Diff against target: |
769 lines (+112/-400) 16 files modified
README.subset (+0/-15) RELEASE-NOTES (+2/-2) TODO (+0/-277) debian/changelog (+23/-0) debian/control (+1/-2) debian/control.in (+1/-2) debian/e2fsprogs.shlibs.local (+0/-2) debian/rules (+19/-8) e2fsck/Makefile.pq (+0/-9) e2fsck/pass1.c (+1/-1) lib/ext2fs/Makefile.pq (+0/-49) lib/ext2fs/ext2_fs.h (+18/-1) lib/ext2fs/fiemap.h (+0/-2) misc/tune2fs.c (+47/-9) resize/Makefile.pq (+0/-11) util/Makefile.pq (+0/-10) |
To merge this branch: | bzr merge lp:~smb/ubuntu/natty/e2fsprogs/branch |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Daniel Holbach (community) | Disapprove | ||
Ubuntu branches | Pending | ||
Review via email: mp+43541@code.launchpad.net |
Commit message
Description of the change
This is the same code as Lorenzo prepared in bug #681418 (merge of current Debian) with just another vcs-git removed and the intermediate upload added to the changelog.
To post a comment you must log in.
Revision history for this message
Daniel Holbach (dholbach) wrote : | # |
(See bug 681418 for more info.)
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === removed file 'README.subset' | |||
2 | --- README.subset 2009-04-29 18:19:46 +0000 | |||
3 | +++ README.subset 1970-01-01 00:00:00 +0000 | |||
4 | @@ -1,15 +0,0 @@ | |||
5 | 1 | This distribution contains a subset of the e2fsprogs package; it | ||
6 | 2 | contains the base libraries (ss, et, uuid, blkid) which may be used by | ||
7 | 3 | other non-ext2-related applications. | ||
8 | 4 | |||
9 | 5 | This may be useful for non-Linux operating systems that need these | ||
10 | 6 | libraries for GNOME, but who do not need the ext2/ext3 filesystem | ||
11 | 7 | utilities. | ||
12 | 8 | |||
13 | 9 | The full e2fsprogs distributions can be found at the e2fsprogs web | ||
14 | 10 | page, which is: | ||
15 | 11 | |||
16 | 12 | http://e2fsprogs.sourceforge.net | ||
17 | 13 | |||
18 | 14 | In case of bugs in these libraries, please contact Ted Ts'o at | ||
19 | 15 | tytso@mit.edu or tytso@alum.mit.edu. | ||
20 | 16 | 0 | ||
21 | === modified file 'RELEASE-NOTES' | |||
22 | --- RELEASE-NOTES 2010-06-07 15:49:29 +0000 | |||
23 | +++ RELEASE-NOTES 2010-12-13 17:21:59 +0000 | |||
24 | @@ -1,5 +1,5 @@ | |||
27 | 1 | E2fsprogs 1.41.12 (May 17, 2010) (Up to commit 517be2d) | 1 | E2fsprogs 1.41.12 (May 17, 2010) |
28 | 2 | ======================================================= | 2 | ================================ |
29 | 3 | 3 | ||
30 | 4 | Mke2fs now gives a correct error message if the external journal | 4 | Mke2fs now gives a correct error message if the external journal |
31 | 5 | device is not found. (Addresses Red Hat Bug #572935) | 5 | device is not found. (Addresses Red Hat Bug #572935) |
32 | 6 | 6 | ||
33 | === removed file 'TODO' | |||
34 | --- TODO 2009-04-29 18:19:46 +0000 | |||
35 | +++ TODO 1970-01-01 00:00:00 +0000 | |||
36 | @@ -1,277 +0,0 @@ | |||
37 | 1 | Need to process the bad block inode *before* doing the inode scan. | ||
38 | 2 | |||
39 | 3 | Also check to see if the first block of the inode table is not on the | ||
40 | 4 | bad block scan, and fix that. We need to check for an inaccurate | ||
41 | 5 | blocks, and fix them before we start doing anything else with the | ||
42 | 6 | filesystem! | ||
43 | 7 | |||
44 | 8 | --------------------------------------------------- | ||
45 | 9 | User request: | ||
46 | 10 | |||
47 | 11 | BTW: Could you please add some sort of deleted and possibly corrupted file | ||
48 | 12 | and inode list to e2fsck report. There should be filenames deleted | ||
49 | 13 | from directory inodes, files with duplicate blocks e.t.c. | ||
50 | 14 | It's pretty annoying to filter this information from e2fsck output | ||
51 | 15 | by hand :- | ||
52 | 16 | |||
53 | 17 | ------------------------------------------ | ||
54 | 18 | |||
55 | 19 | Add a "answer Yes always to this class of question" response. | ||
56 | 20 | |||
57 | 21 | ---------------------------------- | ||
58 | 22 | |||
59 | 23 | ext2fs_flush() should return a different error message for primary | ||
60 | 24 | versus backup superblock flushing, so that mke2fs can print an | ||
61 | 25 | appropriate error message. | ||
62 | 26 | |||
63 | 27 | --------------------------------- | ||
64 | 28 | Date: Mon, 08 Mar 1999 21:46:14 +0100 | ||
65 | 29 | From: Sergio Polini <s.polini@mclink.it> | ||
66 | 30 | |||
67 | 31 | |||
68 | 32 | I'm reading the sorce code of e2fsck 1.14. | ||
69 | 33 | In pass2.c, lines 352-357, I read: | ||
70 | 34 | |||
71 | 35 | if ((dirent->name_len & 0xFF) > EXT2_NAME_LEN) { | ||
72 | 36 | if (fix_problem(ctx, PR_2_FILENAME_LONG, &cd->pctx)) { | ||
73 | 37 | dirent->name_len = EXT2_NAME_LEN; | ||
74 | 38 | dir_modified++; | ||
75 | 39 | } | ||
76 | 40 | } | ||
77 | 41 | |||
78 | 42 | I think that I'll never see any messages about too long filenames, | ||
79 | 43 | because "whatever & 0xFF" can never be "> 0xFF". | ||
80 | 44 | Am I wrong? | ||
81 | 45 | -------------------------------------- | ||
82 | 46 | |||
83 | 47 | Add chmod command to debugfs. | ||
84 | 48 | |||
85 | 49 | ------------------------------------------ | ||
86 | 50 | |||
87 | 51 | Date: Tue, 18 Jan 2000 17:54:53 -0800 (PST) | ||
88 | 52 | From: Alan Blanchard <alan@abraxas.to> | ||
89 | 53 | To: tytso@MIT.EDU | ||
90 | 54 | Subject: DEBUGFS - thanks and a feature idea | ||
91 | 55 | Content-Type: TEXT/PLAIN; charset=US-ASCII | ||
92 | 56 | |||
93 | 57 | Theodore: | ||
94 | 58 | |||
95 | 59 | First, let me thank you for writing debugfs. Recently, my Linux box | ||
96 | 60 | (RH 6.0, 400 MHz PIII, on a DSL line) was hacked into. The intruder did | ||
97 | 61 | an "rm -Rf" on a 34 GB drive with about 5GB of data on it. I was able to | ||
98 | 62 | restore essentially the entire thing with debugfs and a bit of C code and Perl. | ||
99 | 63 | Actually, I could have done the entire thing with debugfs and Perl, but I | ||
100 | 64 | thought it would be too slow. | ||
101 | 65 | |||
102 | 66 | During this exercise, I noticed that one small feature was lacking that would | ||
103 | 67 | have made my job a bit easier. The length of a deleted directory is | ||
104 | 68 | reported as 0, hence debugfs won't dump the contents of the directory to a | ||
105 | 69 | file using the "dump" command. The only thing that saved me was that the | ||
106 | 70 | list of disk blocks is not zeroed out. I was able to dump the contents of the | ||
107 | 71 | directories by using debugfs to get the relevant block numbers, then | ||
108 | 72 | using dd to get the actual data. | ||
109 | 73 | |||
110 | 74 | If debugfs had a feature where it ignored the size of a directory reported by | ||
111 | 75 | the inode and instead just dumped all the blocks, it would have facilited | ||
112 | 76 | things a bit. This seems like a very easy feature to add. | ||
113 | 77 | |||
114 | 78 | Again, thanks for writing debugfs (and all the other Linux stuff you've written!). | ||
115 | 79 | |||
116 | 80 | Cheers, | ||
117 | 81 | Alan Blanchard | ||
118 | 82 | alan@abraxas.to | ||
119 | 83 | |||
120 | 84 | |||
121 | 85 | ------------------------------------------------------------------- | ||
122 | 86 | |||
123 | 87 | Date: Fri, 21 Jan 2000 14:07:12 -0800 | ||
124 | 88 | From: "H. Peter Anvin" <hpa@www.transmeta.com> | ||
125 | 89 | Subject: mkfs -cc and fsck -c | ||
126 | 90 | |||
127 | 91 | b) An option to mkfs to zero the partition. Yes, it can be done with | ||
128 | 92 | dd, but it would be a nicer way of doing it. | ||
129 | 93 | |||
130 | 94 | ------------------------------------------------------------------ | ||
131 | 95 | |||
132 | 96 | Add support for in ext2fs_block_iterate() for a returning the | ||
133 | 97 | compressed flag blocks to block_iterate. Change default to not return | ||
134 | 98 | EXT2_COMPRESSED_BLKADDR. Change e2fsck to pass this flag in. | ||
135 | 99 | |||
136 | 100 | (The old compression patches did this by default all the time, which | ||
137 | 101 | is bad, since it meant e2fsck never saw the EXT2_COMPRESSED_BLKADDR | ||
138 | 102 | flagword. | ||
139 | 103 | |||
140 | 104 | ------------------------------------------------------------ | ||
141 | 105 | |||
142 | 106 | E2fsck should offer to clear all the blocks in an indirect block, not | ||
143 | 107 | the entire inode, so there's better recovery for when an indirect | ||
144 | 108 | block gets trashed. | ||
145 | 109 | |||
146 | 110 | |||
147 | 111 | ------------------------------------------------------------- | ||
148 | 112 | |||
149 | 113 | From: Yann Dirson - LOGATIQUE <Yann.Dirson@France.Sun.COM> | ||
150 | 114 | Date: Thu, 2 Mar 2000 13:52:13 +0100 (MET) | ||
151 | 115 | |||
152 | 116 | During my experiments on the broken system, I noticed the following in | ||
153 | 117 | the badblocks program (which I'm aware is not designed for IDE drives) | ||
154 | 118 | - I'd probably have already fixed them if my home system was up :( | ||
155 | 119 | |||
156 | 120 | * the syntax summary documents 2nd arg as blocks_count, which should | ||
157 | 121 | probably read something like end_count. | ||
158 | 122 | |||
159 | 123 | * testing past end of device is not detected, and lists those blocks | ||
160 | 124 | as bad, whereas they simply do not exist. | ||
161 | 125 | |||
162 | 126 | |||
163 | 127 | I think I'll probably add a "max count" option to findsuper(8), so | ||
164 | 128 | that I do not have to wait for the whole disk to be scanned when the | ||
165 | 129 | system had to be launched with "init=/bin/sh", in which case Ctrl-[CZ] | ||
166 | 130 | and friends appear to be absolutely ignored. | ||
167 | 131 | |||
168 | 132 | |||
169 | 133 | Somewhat unrelated, I just noticed the | ||
170 | 134 | http://web.mit.edu/tytso/www/linux/ext2.html could be updated: | ||
171 | 135 | |||
172 | 136 | - could mention SGI xfs (http://oss.sgi.com/projects/xfs/ - they just | ||
173 | 137 | release 0.03 snapshot) | ||
174 | 138 | |||
175 | 139 | ---------------------------------------------------------------- | ||
176 | 140 | |||
177 | 141 | Return-Path: <tytso@MIT.EDU> | ||
178 | 142 | Date: Thu, 10 Feb 2000 13:20:14 -0500 | ||
179 | 143 | From: "Theodore Y. Ts'o" <tytso@MIT.EDU> | ||
180 | 144 | To: R.E.Wolff@BitWizard.nl | ||
181 | 145 | In-Reply-To: Rogier Wolff's message of Thu, 10 Feb 2000 08:46:30 +0100 (MET), | ||
182 | 146 | <200002100746.IAA24573@cave.bitwizard.nl> | ||
183 | 147 | Subject: Re: e2fsck request for enhancement. | ||
184 | 148 | Phone: (781) 391-3464 | ||
185 | 149 | |||
186 | 150 | Date: Thu, 10 Feb 2000 08:46:30 +0100 (MET) | ||
187 | 151 | From: R.E.Wolff@BitWizard.nl (Rogier Wolff) | ||
188 | 152 | |||
189 | 153 | Lately, while trying to recover a broken disk, my system froze (twice, | ||
190 | 154 | until I tried something else) while copying the disk. | ||
191 | 155 | |||
192 | 156 | So I had a file of about 50Mb that was growing frantically at the | ||
193 | 157 | moment of the crash. | ||
194 | 158 | |||
195 | 159 | e2fsck, then finds an indirect block that is completely bogus. It | ||
196 | 160 | starts by asking me if it's ok to clear a few of the referenced | ||
197 | 161 | blocks. I say yes. Then it comes to the conclusion: | ||
198 | 162 | |||
199 | 163 | too many invalid blocks. Clear inode? | ||
200 | 164 | |||
201 | 165 | and then I get the option to delete the whole file. Not to truncate | ||
202 | 166 | the file to a "working" size. | ||
203 | 167 | |||
204 | 168 | |||
205 | 169 | I'd MUCH rather have e2fsck say something like: | ||
206 | 170 | |||
207 | 171 | inode 1234 references an invalid block 134345454. Hmm. | ||
208 | 172 | inode 1234 references 567 out of 50176 invalid blocks, | ||
209 | 173 | all near the end. Truncate file to 49152 blocks? | ||
210 | 174 | |||
211 | 175 | Here you can see that of the 1024 blocks near the end of the file, | ||
212 | 176 | only 567 were detected as invalid. However now 48Mb of the file will | ||
213 | 177 | be recovered, instead of thrown away. | ||
214 | 178 | |||
215 | 179 | That's a good point. Actually, the right thing is for e2fsck to offer | ||
216 | 180 | to clear all of the bad blocks in a particular indirect block. I don't | ||
217 | 181 | know how hard it would be to do that, but I'll put it on my e2fsprogs | ||
218 | 182 | TODO list. | ||
219 | 183 | |||
220 | 184 | - Ted | ||
221 | 185 | |||
222 | 186 | --------------------------------------------------------------- | ||
223 | 187 | From e2fsprogs Debian TODO file as of 1.10-13. | ||
224 | 188 | |||
225 | 189 | * Maybe make -dbg packages. Look at how others do it. | ||
226 | 190 | |||
227 | 191 | --------------------------------------------------------------- | ||
228 | 192 | |||
229 | 193 | Add --lba option to debian icheck command, and have ways of making it | ||
230 | 194 | easier to translate LBA to filesystem block numbers. | ||
231 | 195 | |||
232 | 196 | ------------------------------------------------------- | ||
233 | 197 | |||
234 | 198 | |||
235 | 199 | |||
236 | 200 | List of projects for e2fsprogs: | ||
237 | 201 | |||
238 | 202 | |||
239 | 203 | 1) Make debugfs's "ncheck <inode>" command list all of the pathnames | ||
240 | 204 | to an inode, not just only the first link to the inode which is found. | ||
241 | 205 | (A good "intro to libext2fs programming interfaces project) | ||
242 | 206 | |||
243 | 207 | Difficulty: Low Priority: Low | ||
244 | 208 | |||
245 | 209 | 2) Use a code coverage tool such as Rational's PureCoverage to see | ||
246 | 210 | what kind of code coverage we have for e2fsck, and try to add test | ||
247 | 211 | cases to increase the code coverage for e2fsck. | ||
248 | 212 | |||
249 | 213 | Difficulty: Medium Priorty: Low | ||
250 | 214 | |||
251 | 215 | 3) Use a code coverage tool such as Rational's PureCoverage to see | ||
252 | 216 | what kind of code coverage we have for resize2fs, and try to add test | ||
253 | 217 | cases to increase the code coverage for resize2fs. | ||
254 | 218 | |||
255 | 219 | Difficulty: Medium Priorty: Medium | ||
256 | 220 | |||
257 | 221 | 4) Create a new I/O manager (i.e., test_io.c, unix_io.c, et.al.) which | ||
258 | 222 | layers on top of an existing I/O manager which provides copy-on-write | ||
259 | 223 | functionality. This COW I/O manager takes will take two open I/O | ||
260 | 224 | managers, call them "base" and "changed". The "base" I/O manager is | ||
261 | 225 | opened read/only, so any changes are written instead to the "changed" | ||
262 | 226 | I/O manager, in a compact, non-sparse format containing the intended | ||
263 | 227 | modification to the "base" filesystem. | ||
264 | 228 | |||
265 | 229 | This will allow resize2fs to figure out what changes need to made to | ||
266 | 230 | extend a filesystem, or expand the size of inodes in the inode table, | ||
267 | 231 | and the changes can be pushed the filesystem in one fell swoop. (If | ||
268 | 232 | the system crashes; the program which runs the "changed" file can be | ||
269 | 233 | re-run, much like a journal replay. My assumption is that the COW | ||
270 | 234 | file will contain the filesystem UUID in a the COW superblock, and the | ||
271 | 235 | COW file will be stored in some place such as /var/state/e2fsprogs, | ||
272 | 236 | with an init.d file to automate the replay so we can recover cleanly | ||
273 | 237 | from a crash during the resize2fs process.) | ||
274 | 238 | |||
275 | 239 | Difficulty: Medium Priority: Medium | ||
276 | 240 | |||
277 | 241 | 5) Create a new I/O manager (i.e., test_io.c, unix_io.c, et.al.) which | ||
278 | 242 | layers on top of an existing I/O manager which provides an "undo" | ||
279 | 243 | functionality. This undo I/O manager takes will take two open I/O | ||
280 | 244 | managers, call them "base" and "undo". The "base" I/O manager is be | ||
281 | 245 | opened read/write, and when any writes are sent to the I/O manager, | ||
282 | 246 | the I/O manager will check the "undo" I/O manager, using a file format | ||
283 | 247 | identical to the one found in (5) above. | ||
284 | 248 | |||
285 | 249 | This is useful for allowing e2fsck to create an "undo" file, which | ||
286 | 250 | would make things like "e2fsck -y" much safer. | ||
287 | 251 | |||
288 | 252 | Difficulty: Low (once 5 is done) Priority: Low | ||
289 | 253 | |||
290 | 254 | 6) Modify resize2fs so that it can relocate and reorganize the | ||
291 | 255 | filesystem in the following ways: (1) increase the inode size, so that | ||
292 | 256 | an existing filesystem can use the EA-in-inode kernel patch, (2) | ||
293 | 257 | reserve blocks in the resize inode to allow for on-line resizing. Use | ||
294 | 258 | the COW I/O manager described in (5) in order to provide robustness in | ||
295 | 259 | case of a crash during the resize/reorganization operation. | ||
296 | 260 | |||
297 | 261 | Difficulty: High Priority: Medium | ||
298 | 262 | |||
299 | 263 | 7) Review the EA-in-inode patches to e2fsck for correctness/code | ||
300 | 264 | cleanliness. (I will probably have to do this myself -- Ted) | ||
301 | 265 | |||
302 | 266 | Difficulty: High Priorty: Medium | ||
303 | 267 | |||
304 | 268 | 8) Add support for extent maps to e2fsprogs. I need to review the | ||
305 | 269 | extent maps first/in parallel. | ||
306 | 270 | |||
307 | 271 | Difficulty: High Priority: Medium | ||
308 | 272 | |||
309 | 273 | ---------------------------------- | ||
310 | 274 | |||
311 | 275 | Need to deal with the case where the resize inode overlaps with the | ||
312 | 276 | bad blocks inode. | ||
313 | 277 | |||
314 | 278 | 0 | ||
315 | === modified file 'debian/changelog' | |||
316 | --- debian/changelog 2010-12-13 12:57:53 +0000 | |||
317 | +++ debian/changelog 2010-12-13 17:21:59 +0000 | |||
318 | @@ -1,3 +1,26 @@ | |||
319 | 1 | e2fsprogs (1.41.12-2ubuntu1) natty; urgency=low | ||
320 | 2 | |||
321 | 3 | * Merge from debian unstable (LP: #681418), remaining changes: | ||
322 | 4 | - debian/control: Do not build-depend on dietlibc-dev, which is universe. | ||
323 | 5 | - debian/rules: | ||
324 | 6 | + Do now allow pkg-create-dbgsym to operate on this package. | ||
325 | 7 | + Build with -O2 on powerpc to avoid a suspected toolchain bug. | ||
326 | 8 | - debian/e2fsprogs.preinst: Do not include /etc/e2fsck.conf and remove on | ||
327 | 9 | upgrade. | ||
328 | 10 | - The -p switch for resize2fs is meant for an offline resize operation which | ||
329 | 11 | is done completely at the userspace. Changed the documentation to suggest | ||
330 | 12 | an "offline" operation. | ||
331 | 13 | |||
332 | 14 | -- Lorenzo De Liso <blackz@ubuntu.com> Thu, 25 Nov 2010 15:38:54 +0100 | ||
333 | 15 | |||
334 | 16 | e2fsprogs (1.41.12-2) unstable; urgency=high | ||
335 | 17 | |||
336 | 18 | * Allow tune2fs to set uninit_bg without requiring an fsck | ||
337 | 19 | * Fix test in e2fsck to correctly check for EOFBLOCKS files | ||
338 | 20 | * Fix dependencies for libuuid and libblkid (Closes: #583551) | ||
339 | 21 | |||
340 | 22 | -- Theodore Y. Ts'o <tytso@mit.edu> Thu, 03 Jun 2010 09:30:36 -0400 | ||
341 | 23 | |||
342 | 1 | e2fsprogs (1.41.12-1ubuntu3) natty; urgency=low | 24 | e2fsprogs (1.41.12-1ubuntu3) natty; urgency=low |
343 | 2 | 25 | ||
344 | 3 | * No-change upload to reduce changelogs. | 26 | * No-change upload to reduce changelogs. |
345 | 4 | 27 | ||
346 | === modified file 'debian/control' | |||
347 | --- debian/control 2010-03-22 17:48:20 +0000 | |||
348 | +++ debian/control 2010-12-13 17:21:59 +0000 | |||
349 | @@ -1,12 +1,11 @@ | |||
350 | 1 | Source: e2fsprogs | 1 | Source: e2fsprogs |
351 | 2 | Section: admin | 2 | Section: admin |
352 | 3 | Priority: required | 3 | Priority: required |
354 | 4 | Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> | 4 | Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> |
355 | 5 | XSBC-Original-Maintainer: Theodore Y. Ts'o <tytso@mit.edu> | 5 | XSBC-Original-Maintainer: Theodore Y. Ts'o <tytso@mit.edu> |
356 | 6 | Build-Depends: texi2html (>= 1.76), gettext, texinfo, dc, pkg-config, debhelper (>= 7.0), m4, libblkid-dev (>= 2.16), uuid-dev (>= 2.16) | 6 | Build-Depends: texi2html (>= 1.76), gettext, texinfo, dc, pkg-config, debhelper (>= 7.0), m4, libblkid-dev (>= 2.16), uuid-dev (>= 2.16) |
357 | 7 | Standards-Version: 3.8.4 | 7 | Standards-Version: 3.8.4 |
358 | 8 | Homepage: http://e2fsprogs.sourceforge.net | 8 | Homepage: http://e2fsprogs.sourceforge.net |
359 | 9 | Vcs-Git: git://kernel.ubuntu.com/git/e2fsprogs.git | ||
360 | 10 | 9 | ||
361 | 11 | Package: e2fsck-static | 10 | Package: e2fsck-static |
362 | 12 | Priority: optional | 11 | Priority: optional |
363 | 13 | 12 | ||
364 | === modified file 'debian/control.in' | |||
365 | --- debian/control.in 2010-03-22 17:48:20 +0000 | |||
366 | +++ debian/control.in 2010-12-13 17:21:59 +0000 | |||
367 | @@ -1,7 +1,7 @@ | |||
368 | 1 | Source: e2fsprogs | 1 | Source: e2fsprogs |
369 | 2 | Section: admin | 2 | Section: admin |
370 | 3 | Priority: required | 3 | Priority: required |
372 | 4 | Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> | 4 | Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> |
373 | 5 | XSBC-Original-Maintainer: Theodore Y. Ts'o <tytso@mit.edu> | 5 | XSBC-Original-Maintainer: Theodore Y. Ts'o <tytso@mit.edu> |
374 | 6 | ifdef(`UTIL_LINUX_NG', | 6 | ifdef(`UTIL_LINUX_NG', |
375 | 7 | ``Build-Depends: texi2html (>= 1.76), gettext, texinfo, dc, pkg-config, debhelper (>= 7.0), m4, libblkid-dev (>= 2.16), uuid-dev (>= 2.16) | 7 | ``Build-Depends: texi2html (>= 1.76), gettext, texinfo, dc, pkg-config, debhelper (>= 7.0), m4, libblkid-dev (>= 2.16), uuid-dev (>= 2.16) |
376 | @@ -10,7 +10,6 @@ | |||
377 | 10 | '')dnl | 10 | '')dnl |
378 | 11 | Standards-Version: 3.8.4 | 11 | Standards-Version: 3.8.4 |
379 | 12 | Homepage: http://e2fsprogs.sourceforge.net | 12 | Homepage: http://e2fsprogs.sourceforge.net |
380 | 13 | Vcs-Git: git://kernel.ubuntu.com/git/e2fsprogs.git | ||
381 | 14 | 13 | ||
382 | 15 | Package: e2fsck-static | 14 | Package: e2fsck-static |
383 | 16 | Priority: optional | 15 | Priority: optional |
384 | 17 | 16 | ||
385 | === modified file 'debian/e2fsprogs.shlibs.local' | |||
386 | --- debian/e2fsprogs.shlibs.local 2004-09-19 09:43:14 +0000 | |||
387 | +++ debian/e2fsprogs.shlibs.local 2010-12-13 17:21:59 +0000 | |||
388 | @@ -1,6 +1,4 @@ | |||
389 | 1 | libcom_err 2 libcomerr2 (>= 1.34-1) | 1 | libcom_err 2 libcomerr2 (>= 1.34-1) |
390 | 2 | libss 2 libss2 (>= 1.34-1) | 2 | libss 2 libss2 (>= 1.34-1) |
391 | 3 | libuuid 1 libuuid1 (>= 1.34-1) | ||
392 | 4 | libext2fs 2 e2fslibs (= ${Source-Version}) | 3 | libext2fs 2 e2fslibs (= ${Source-Version}) |
393 | 5 | libe2p 2 e2fslibs (= ${Source-Version}) | 4 | libe2p 2 e2fslibs (= ${Source-Version}) |
394 | 6 | libblkid 1 libblkid1 (>= 1.34-1) | ||
395 | 7 | 5 | ||
396 | === modified file 'debian/rules' | |||
397 | --- debian/rules 2010-06-07 15:49:29 +0000 | |||
398 | +++ debian/rules 2010-12-13 17:21:59 +0000 | |||
399 | @@ -9,10 +9,15 @@ | |||
400 | 9 | 9 | ||
401 | 10 | # be paranoid | 10 | # be paranoid |
402 | 11 | export LC_ALL=C | 11 | export LC_ALL=C |
403 | 12 | |||
404 | 13 | # Allow distro-specific behaviour | ||
405 | 14 | DISTRO :=$(shell sed -ne '/DISTRIB_ID/s/.*=//p' /etc/lsb-release 2>/dev/null || echo Debian) | ||
406 | 15 | SYS_BLKID_VER := $(shell dpkg-query -W libblkid1 | cut -f 2 | cut -b 1) | ||
407 | 16 | ifeq ($(SYS_BLKID_VER),2) | ||
408 | 17 | UTIL_LINUX_NG ?= yes | ||
409 | 18 | endif | ||
410 | 12 | # no chance that pkg-create-dbgsym can cope with this package's manual construction of -dbg | 19 | # no chance that pkg-create-dbgsym can cope with this package's manual construction of -dbg |
411 | 13 | export NO_PKG_MANGLE=1 | 20 | export NO_PKG_MANGLE=1 |
412 | 14 | # always build with libblkid and libuuid from util-linux | ||
413 | 15 | UTIL_LINUX_NG ?= yes | ||
414 | 16 | 21 | ||
415 | 17 | # These are used for cross-compiling and for saving the configure script | 22 | # These are used for cross-compiling and for saving the configure script |
416 | 18 | # from having to guess our platform (since we know it already) | 23 | # from having to guess our platform (since we know it already) |
417 | @@ -168,9 +173,17 @@ | |||
418 | 168 | M4_ARGS+=-UUTIL_LINUX_NG | 173 | M4_ARGS+=-UUTIL_LINUX_NG |
419 | 169 | endif | 174 | endif |
420 | 170 | 175 | ||
421 | 176 | debian-files: debian/control debian/e2fsprogs.shlibs.local | ||
422 | 177 | |||
423 | 178 | mrproper: clean | ||
424 | 179 | rm debian/control debian/e2fsprogs.shlibs.local | ||
425 | 180 | |||
426 | 171 | debian/control: debian/control.in debian/rules | 181 | debian/control: debian/control.in debian/rules |
427 | 172 | m4 $(M4_ARGS) < debian/control.in > $@ | 182 | m4 $(M4_ARGS) < debian/control.in > $@ |
428 | 173 | 183 | ||
429 | 184 | debian/e2fsprogs.shlibs.local: debian/e2fsprogs.shlibs.local.in | ||
430 | 185 | m4 $(M4_ARGS) < debian/e2fsprogs.shlibs.local.in > $@ | ||
431 | 186 | |||
432 | 174 | ${CFGSTDSTAMP}: | 187 | ${CFGSTDSTAMP}: |
433 | 175 | dh_testdir | 188 | dh_testdir |
434 | 176 | 189 | ||
435 | @@ -243,7 +256,7 @@ | |||
436 | 243 | mkdir -p ${STAMPSDIR} | 256 | mkdir -p ${STAMPSDIR} |
437 | 244 | touch ${CFGSTATICSTAMP} | 257 | touch ${CFGSTATICSTAMP} |
438 | 245 | 258 | ||
440 | 246 | build: debian/control build-std build-bf $(BUILD_STATIC) | 259 | build: build-std build-bf $(BUILD_STATIC) |
441 | 247 | 260 | ||
442 | 248 | build-std: ${BUILDSTDSTAMP} | 261 | build-std: ${BUILDSTDSTAMP} |
443 | 249 | ${BUILDSTDSTAMP}: ${CFGSTDSTAMP} | 262 | ${BUILDSTDSTAMP}: ${CFGSTDSTAMP} |
444 | @@ -283,7 +296,7 @@ | |||
445 | 283 | $(MAKE) -C ${staticbuilddir}/e2fsck all e2fsck.static | 296 | $(MAKE) -C ${staticbuilddir}/e2fsck all e2fsck.static |
446 | 284 | touch ${BUILDSTATICSTAMP} | 297 | touch ${BUILDSTATICSTAMP} |
447 | 285 | 298 | ||
449 | 286 | clean: debian/control | 299 | clean: |
450 | 287 | dh_testdir | 300 | dh_testdir |
451 | 288 | rm -rf ${STAMPSDIR} | 301 | rm -rf ${STAMPSDIR} |
452 | 289 | [ ! -f ${stdbuilddir}/Makefile ] || $(MAKE) -C ${stdbuilddir} distclean | 302 | [ ! -f ${stdbuilddir}/Makefile ] || $(MAKE) -C ${stdbuilddir} distclean |
453 | @@ -322,7 +335,7 @@ | |||
454 | 322 | ln -s et/com_err.h ${tmpdir}/usr/include | 335 | ln -s et/com_err.h ${tmpdir}/usr/include |
455 | 323 | 336 | ||
456 | 324 | dh_movefiles | 337 | dh_movefiles |
458 | 325 | test -z `find ${tmpdir} -type f` | 338 | test -z "`find ${tmpdir} -type f`" |
459 | 326 | 339 | ||
460 | 327 | # specially-built MIPS libs | 340 | # specially-built MIPS libs |
461 | 328 | ifneq ($(ismips),) | 341 | ifneq ($(ismips),) |
462 | @@ -455,8 +468,6 @@ | |||
463 | 455 | -pe2fsprogs-dbg -pe2fslibs-dbg \ | 468 | -pe2fsprogs-dbg -pe2fslibs-dbg \ |
464 | 456 | -plibcomerr2-dbg -plibss2-dbg | 469 | -plibcomerr2-dbg -plibss2-dbg |
465 | 457 | ifneq ($(UTIL_LINUX_NG),yes) | 470 | ifneq ($(UTIL_LINUX_NG),yes) |
466 | 458 | DH_OPTIONS= dh_installchangelogs -plibblkid${BLKID_SOVERSION} \ | ||
467 | 459 | -plibblkid1-dbg | ||
468 | 460 | DH_OPTIONS= dh_installchangelogs -plibuuid${UUID_SOVERSION} \ | 471 | DH_OPTIONS= dh_installchangelogs -plibuuid${UUID_SOVERSION} \ |
469 | 461 | -puuid-dev -puuid-runtime -puuid-runtime-dbg -plibuuid1-dbg \ | 472 | -puuid-dev -puuid-runtime -puuid-runtime-dbg -plibuuid1-dbg \ |
470 | 462 | -plibblkid${BLKID_SOVERSION} -plibblkid1-dbg | 473 | -plibblkid${BLKID_SOVERSION} -plibblkid1-dbg |
471 | @@ -602,4 +613,4 @@ | |||
472 | 602 | 613 | ||
473 | 603 | binary: binary-indep binary-arch | 614 | binary: binary-indep binary-arch |
474 | 604 | 615 | ||
476 | 605 | .PHONY: binary binary-arch binary-indep clean checkroot | 616 | .PHONY: binary binary-arch binary-indep clean checkroot mrproper debian-files |
477 | 606 | 617 | ||
478 | === removed file 'e2fsck/Makefile.pq' | |||
479 | --- e2fsck/Makefile.pq 2009-04-29 18:19:46 +0000 | |||
480 | +++ e2fsck/Makefile.pq 1970-01-01 00:00:00 +0000 | |||
481 | @@ -1,9 +0,0 @@ | |||
482 | 1 | TOPSRC=.. | ||
483 | 2 | LIBNAME=E2FSCK.LIB | ||
484 | 3 | OBJFILE=E2FSCK.LST | ||
485 | 4 | |||
486 | 5 | OBJS= e2fsck.obj super.obj pass1.obj pass2.obj pass3.obj \ | ||
487 | 6 | pass4.obj pass5.obj dirinfo.obj | ||
488 | 7 | |||
489 | 8 | !include $(TOPSRC)\powerquest\MCONFIG | ||
490 | 9 | |||
491 | 10 | 0 | ||
492 | === modified file 'e2fsck/pass1.c' | |||
493 | --- e2fsck/pass1.c 2010-06-07 15:49:29 +0000 | |||
494 | +++ e2fsck/pass1.c 2010-12-13 17:21:59 +0000 | |||
495 | @@ -2013,7 +2013,7 @@ | |||
496 | 2013 | * doesn't need to be. | 2013 | * doesn't need to be. |
497 | 2014 | */ | 2014 | */ |
498 | 2015 | if ((inode->i_flags & EXT4_EOFBLOCKS_FL) && | 2015 | if ((inode->i_flags & EXT4_EOFBLOCKS_FL) && |
500 | 2016 | (size <= (((__u64)pb.last_block + 1) * fs->blocksize))) { | 2016 | (size >= (((__u64)pb.last_block + 1) * fs->blocksize))) { |
501 | 2017 | pctx->blkcount = pb.last_block; | 2017 | pctx->blkcount = pb.last_block; |
502 | 2018 | if (fix_problem(ctx, PR_1_EOFBLOCKS_FL_SET, pctx)) { | 2018 | if (fix_problem(ctx, PR_1_EOFBLOCKS_FL_SET, pctx)) { |
503 | 2019 | inode->i_flags &= ~EXT4_EOFBLOCKS_FL; | 2019 | inode->i_flags &= ~EXT4_EOFBLOCKS_FL; |
504 | 2020 | 2020 | ||
505 | === removed file 'lib/ext2fs/Makefile.pq' | |||
506 | --- lib/ext2fs/Makefile.pq 2009-04-29 18:19:46 +0000 | |||
507 | +++ lib/ext2fs/Makefile.pq 1970-01-01 00:00:00 +0000 | |||
508 | @@ -1,49 +0,0 @@ | |||
509 | 1 | TOPSRC=..\.. | ||
510 | 2 | LIBNAME=EXT2.LIB | ||
511 | 3 | OBJFILE=EXT2.LST | ||
512 | 4 | |||
513 | 5 | OBJS= alloc.obj \ | ||
514 | 6 | alloc_tables.obj \ | ||
515 | 7 | badblocks.obj \ | ||
516 | 8 | bb_compat.obj \ | ||
517 | 9 | bb_inode.obj \ | ||
518 | 10 | bitmaps.obj \ | ||
519 | 11 | bitops.obj \ | ||
520 | 12 | block.obj \ | ||
521 | 13 | bmap.obj \ | ||
522 | 14 | bmove.obj \ | ||
523 | 15 | check_desc.obj \ | ||
524 | 16 | closefs.obj \ | ||
525 | 17 | cmp_bitmaps.obj \ | ||
526 | 18 | dblist.obj \ | ||
527 | 19 | dblist_dir.obj \ | ||
528 | 20 | dirblock.obj \ | ||
529 | 21 | dir_iterate.obj \ | ||
530 | 22 | dupfs.obj \ | ||
531 | 23 | expanddir.obj \ | ||
532 | 24 | fileio.obj \ | ||
533 | 25 | freefs.obj \ | ||
534 | 26 | get_pathname.obj \ | ||
535 | 27 | icount.obj \ | ||
536 | 28 | initialize.obj \ | ||
537 | 29 | inline.obj \ | ||
538 | 30 | inode.obj \ | ||
539 | 31 | ismounted.obj \ | ||
540 | 32 | link.obj \ | ||
541 | 33 | lookup.obj \ | ||
542 | 34 | mkdir.obj \ | ||
543 | 35 | namei.obj \ | ||
544 | 36 | native.obj \ | ||
545 | 37 | newdir.obj \ | ||
546 | 38 | openfs.obj \ | ||
547 | 39 | read_bb.obj \ | ||
548 | 40 | read_bb_file.obj \ | ||
549 | 41 | rs_bitmap.obj \ | ||
550 | 42 | rw_bitmaps.obj \ | ||
551 | 43 | swapfs.obj \ | ||
552 | 44 | unlink.obj \ | ||
553 | 45 | valid_blk.obj \ | ||
554 | 46 | version.obj | ||
555 | 47 | |||
556 | 48 | !include $(TOPSRC)\powerquest\MCONFIG | ||
557 | 49 | |||
558 | 50 | 0 | ||
559 | === modified file 'lib/ext2fs/ext2_fs.h' | |||
560 | --- lib/ext2fs/ext2_fs.h 2010-03-22 17:48:20 +0000 | |||
561 | +++ lib/ext2fs/ext2_fs.h 2010-12-13 17:21:59 +0000 | |||
562 | @@ -50,6 +50,7 @@ | |||
563 | 50 | #define EXT2_UNDEL_DIR_INO 6 /* Undelete directory inode */ | 50 | #define EXT2_UNDEL_DIR_INO 6 /* Undelete directory inode */ |
564 | 51 | #define EXT2_RESIZE_INO 7 /* Reserved group descriptors inode */ | 51 | #define EXT2_RESIZE_INO 7 /* Reserved group descriptors inode */ |
565 | 52 | #define EXT2_JOURNAL_INO 8 /* Journal inode */ | 52 | #define EXT2_JOURNAL_INO 8 /* Journal inode */ |
566 | 53 | #define EXT2_EXCLUDE_INO 9 /* The "exclude" inode, for snapshots */ | ||
567 | 53 | 54 | ||
568 | 54 | /* First non-reserved inode for old ext2 filesystems */ | 55 | /* First non-reserved inode for old ext2 filesystems */ |
569 | 55 | #define EXT2_GOOD_OLD_FIRST_INO 11 | 56 | #define EXT2_GOOD_OLD_FIRST_INO 11 |
570 | @@ -273,7 +274,11 @@ | |||
571 | 273 | #define EXT2_TOPDIR_FL 0x00020000 /* Top of directory hierarchies*/ | 274 | #define EXT2_TOPDIR_FL 0x00020000 /* Top of directory hierarchies*/ |
572 | 274 | #define EXT4_HUGE_FILE_FL 0x00040000 /* Set to each huge file */ | 275 | #define EXT4_HUGE_FILE_FL 0x00040000 /* Set to each huge file */ |
573 | 275 | #define EXT4_EXTENTS_FL 0x00080000 /* Inode uses extents */ | 276 | #define EXT4_EXTENTS_FL 0x00080000 /* Inode uses extents */ |
574 | 277 | #define EXT4_EA_INODE_FL 0x00200000 /* Inode used for large EA */ | ||
575 | 276 | #define EXT4_EOFBLOCKS_FL 0x00400000 /* Blocks allocated beyond EOF */ | 278 | #define EXT4_EOFBLOCKS_FL 0x00400000 /* Blocks allocated beyond EOF */ |
576 | 279 | #define EXT4_SNAPFILE_FL 0x01000000 /* Inode is a snapshot */ | ||
577 | 280 | #define EXT4_SNAPFILE_DELETED_FL 0x04000000 /* Snapshot is being deleted */ | ||
578 | 281 | #define EXT4_SNAPFILE_SHRUNK_FL 0x08000000 /* Snapshot shrink has completed */ | ||
579 | 277 | #define EXT2_RESERVED_FL 0x80000000 /* reserved for ext2 lib */ | 282 | #define EXT2_RESERVED_FL 0x80000000 /* reserved for ext2 lib */ |
580 | 278 | 283 | ||
581 | 279 | #define EXT2_FL_USER_VISIBLE 0x004BDFFF /* User visible flags */ | 284 | #define EXT2_FL_USER_VISIBLE 0x004BDFFF /* User visible flags */ |
582 | @@ -462,6 +467,9 @@ | |||
583 | 462 | #define EXT2_FLAGS_SIGNED_HASH 0x0001 /* Signed dirhash in use */ | 467 | #define EXT2_FLAGS_SIGNED_HASH 0x0001 /* Signed dirhash in use */ |
584 | 463 | #define EXT2_FLAGS_UNSIGNED_HASH 0x0002 /* Unsigned dirhash in use */ | 468 | #define EXT2_FLAGS_UNSIGNED_HASH 0x0002 /* Unsigned dirhash in use */ |
585 | 464 | #define EXT2_FLAGS_TEST_FILESYS 0x0004 /* OK for use on development code */ | 469 | #define EXT2_FLAGS_TEST_FILESYS 0x0004 /* OK for use on development code */ |
586 | 470 | #define EXT2_FLAGS_IS_SNAPSHOT 0x0010 /* This is a snapshot image */ | ||
587 | 471 | #define EXT2_FLAGS_FIX_SNAPSHOT 0x0020 /* Snapshot inodes corrupted */ | ||
588 | 472 | #define EXT2_FLAGS_FIX_EXCLUDE 0x0040 /* Exclude bitmaps corrupted */ | ||
589 | 465 | 473 | ||
590 | 466 | /* | 474 | /* |
591 | 467 | * Mount flags | 475 | * Mount flags |
592 | @@ -581,7 +589,12 @@ | |||
593 | 581 | __u8 s_reserved_char_pad; | 589 | __u8 s_reserved_char_pad; |
594 | 582 | __u16 s_reserved_pad; /* Padding to next 32bits */ | 590 | __u16 s_reserved_pad; /* Padding to next 32bits */ |
595 | 583 | __u64 s_kbytes_written; /* nr of lifetime kilobytes written */ | 591 | __u64 s_kbytes_written; /* nr of lifetime kilobytes written */ |
597 | 584 | __u32 s_reserved[160]; /* Padding to the end of the block */ | 592 | __u32 s_snapshot_inum; /* Inode number of active snapshot */ |
598 | 593 | __u32 s_snapshot_id; /* sequential ID of active snapshot */ | ||
599 | 594 | __u64 s_snapshot_r_blocks_count; /* reserved blocks for active | ||
600 | 595 | snapshot's future use */ | ||
601 | 596 | __u32 s_snapshot_list; /* inode number of the head of the on-disk snapshot list */ | ||
602 | 597 | __u32 s_reserved[155]; /* Padding to the end of the block */ | ||
603 | 585 | }; | 598 | }; |
604 | 586 | 599 | ||
605 | 587 | /* | 600 | /* |
606 | @@ -627,6 +640,7 @@ | |||
607 | 627 | #define EXT2_FEATURE_COMPAT_RESIZE_INODE 0x0010 | 640 | #define EXT2_FEATURE_COMPAT_RESIZE_INODE 0x0010 |
608 | 628 | #define EXT2_FEATURE_COMPAT_DIR_INDEX 0x0020 | 641 | #define EXT2_FEATURE_COMPAT_DIR_INDEX 0x0020 |
609 | 629 | #define EXT2_FEATURE_COMPAT_LAZY_BG 0x0040 | 642 | #define EXT2_FEATURE_COMPAT_LAZY_BG 0x0040 |
610 | 643 | #define EXT2_FEATURE_COMPAT_EXCLUDE_INODE 0x0080 | ||
611 | 630 | 644 | ||
612 | 631 | #define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001 | 645 | #define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001 |
613 | 632 | #define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002 | 646 | #define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002 |
614 | @@ -635,6 +649,7 @@ | |||
615 | 635 | #define EXT4_FEATURE_RO_COMPAT_GDT_CSUM 0x0010 | 649 | #define EXT4_FEATURE_RO_COMPAT_GDT_CSUM 0x0010 |
616 | 636 | #define EXT4_FEATURE_RO_COMPAT_DIR_NLINK 0x0020 | 650 | #define EXT4_FEATURE_RO_COMPAT_DIR_NLINK 0x0020 |
617 | 637 | #define EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE 0x0040 | 651 | #define EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE 0x0040 |
618 | 652 | #define EXT4_FEATURE_RO_COMPAT_HAS_SNAPSHOT 0x0080 | ||
619 | 638 | 653 | ||
620 | 639 | #define EXT2_FEATURE_INCOMPAT_COMPRESSION 0x0001 | 654 | #define EXT2_FEATURE_INCOMPAT_COMPRESSION 0x0001 |
621 | 640 | #define EXT2_FEATURE_INCOMPAT_FILETYPE 0x0002 | 655 | #define EXT2_FEATURE_INCOMPAT_FILETYPE 0x0002 |
622 | @@ -645,6 +660,8 @@ | |||
623 | 645 | #define EXT4_FEATURE_INCOMPAT_64BIT 0x0080 | 660 | #define EXT4_FEATURE_INCOMPAT_64BIT 0x0080 |
624 | 646 | #define EXT4_FEATURE_INCOMPAT_MMP 0x0100 | 661 | #define EXT4_FEATURE_INCOMPAT_MMP 0x0100 |
625 | 647 | #define EXT4_FEATURE_INCOMPAT_FLEX_BG 0x0200 | 662 | #define EXT4_FEATURE_INCOMPAT_FLEX_BG 0x0200 |
626 | 663 | #define EXT4_FEATURE_INCOMPAT_EA_INODE 0x0400 | ||
627 | 664 | #define EXT4_FEATURE_INCOMPAT_DIRDATA 0x1000 | ||
628 | 648 | 665 | ||
629 | 649 | 666 | ||
630 | 650 | #define EXT2_FEATURE_COMPAT_SUPP 0 | 667 | #define EXT2_FEATURE_COMPAT_SUPP 0 |
631 | 651 | 668 | ||
632 | === modified file 'lib/ext2fs/fiemap.h' | |||
633 | --- lib/ext2fs/fiemap.h 2009-07-11 17:26:16 +0000 | |||
634 | +++ lib/ext2fs/fiemap.h 2010-12-13 17:21:59 +0000 | |||
635 | @@ -11,8 +11,6 @@ | |||
636 | 11 | #ifndef _LINUX_FIEMAP_H | 11 | #ifndef _LINUX_FIEMAP_H |
637 | 12 | #define _LINUX_FIEMAP_H | 12 | #define _LINUX_FIEMAP_H |
638 | 13 | 13 | ||
639 | 14 | #include <linux/types.h> | ||
640 | 15 | |||
641 | 16 | struct fiemap_extent { | 14 | struct fiemap_extent { |
642 | 17 | __u64 fe_logical; /* logical offset in bytes for the start of | 15 | __u64 fe_logical; /* logical offset in bytes for the start of |
643 | 18 | * the extent from the beginning of the file */ | 16 | * the extent from the beginning of the file */ |
644 | 19 | 17 | ||
645 | === modified file 'misc/tune2fs.c' | |||
646 | --- misc/tune2fs.c 2009-08-25 18:34:46 +0000 | |||
647 | +++ misc/tune2fs.c 2010-12-13 17:21:59 +0000 | |||
648 | @@ -326,14 +326,28 @@ | |||
649 | 326 | ext2fs_mark_super_dirty(fs); | 326 | ext2fs_mark_super_dirty(fs); |
650 | 327 | } | 327 | } |
651 | 328 | 328 | ||
652 | 329 | static void request_fsck_afterwards(ext2_filsys fs) | ||
653 | 330 | { | ||
654 | 331 | static int requested = 0; | ||
655 | 332 | |||
656 | 333 | if (requested++) | ||
657 | 334 | return; | ||
658 | 335 | fs->super->s_state &= ~EXT2_VALID_FS; | ||
659 | 336 | printf("\n%s\n", _(please_fsck)); | ||
660 | 337 | if (mount_flags & EXT2_MF_READONLY) | ||
661 | 338 | printf(_("(and reboot afterwards!)\n")); | ||
662 | 339 | } | ||
663 | 340 | |||
664 | 329 | /* | 341 | /* |
665 | 330 | * Update the feature set as provided by the user. | 342 | * Update the feature set as provided by the user. |
666 | 331 | */ | 343 | */ |
667 | 332 | static void update_feature_set(ext2_filsys fs, char *features) | 344 | static void update_feature_set(ext2_filsys fs, char *features) |
668 | 333 | { | 345 | { |
669 | 334 | struct ext2_super_block *sb = fs->super; | 346 | struct ext2_super_block *sb = fs->super; |
670 | 347 | struct ext2_group_desc *gd; | ||
671 | 348 | errcode_t retval; | ||
672 | 335 | __u32 old_features[3]; | 349 | __u32 old_features[3]; |
674 | 336 | int type_err; | 350 | int i, type_err; |
675 | 337 | unsigned int mask_err; | 351 | unsigned int mask_err; |
676 | 338 | 352 | ||
677 | 339 | #define FEATURE_ON(type, mask) (!(old_features[(type)] & (mask)) && \ | 353 | #define FEATURE_ON(type, mask) (!(old_features[(type)] & (mask)) && \ |
678 | @@ -430,6 +444,36 @@ | |||
679 | 430 | } | 444 | } |
680 | 431 | } | 445 | } |
681 | 432 | 446 | ||
682 | 447 | if (FEATURE_ON(E2P_FEATURE_RO_INCOMPAT, | ||
683 | 448 | EXT4_FEATURE_RO_COMPAT_GDT_CSUM)) { | ||
684 | 449 | gd = fs->group_desc; | ||
685 | 450 | for (i = 0; i < fs->group_desc_count; i++, gd++) { | ||
686 | 451 | gd->bg_itable_unused = 0; | ||
687 | 452 | gd->bg_flags = EXT2_BG_INODE_ZEROED; | ||
688 | 453 | ext2fs_group_desc_csum_set(fs, i); | ||
689 | 454 | } | ||
690 | 455 | fs->flags &= ~EXT2_FLAG_SUPER_ONLY; | ||
691 | 456 | } | ||
692 | 457 | |||
693 | 458 | if (FEATURE_OFF(E2P_FEATURE_RO_INCOMPAT, | ||
694 | 459 | EXT4_FEATURE_RO_COMPAT_GDT_CSUM)) { | ||
695 | 460 | gd = fs->group_desc; | ||
696 | 461 | for (i = 0; i < fs->group_desc_count; i++, gd++) { | ||
697 | 462 | if ((gd->bg_flags & EXT2_BG_INODE_ZEROED) == 0) { | ||
698 | 463 | /* | ||
699 | 464 | * XXX what we really should do is zap | ||
700 | 465 | * uninitialized inode tables instead. | ||
701 | 466 | */ | ||
702 | 467 | request_fsck_afterwards(fs); | ||
703 | 468 | break; | ||
704 | 469 | } | ||
705 | 470 | gd->bg_itable_unused = 0; | ||
706 | 471 | gd->bg_flags = 0; | ||
707 | 472 | gd->bg_checksum = 0; | ||
708 | 473 | } | ||
709 | 474 | fs->flags &= ~EXT2_FLAG_SUPER_ONLY; | ||
710 | 475 | } | ||
711 | 476 | |||
712 | 433 | if (sb->s_rev_level == EXT2_GOOD_OLD_REV && | 477 | if (sb->s_rev_level == EXT2_GOOD_OLD_REV && |
713 | 434 | (sb->s_feature_compat || sb->s_feature_ro_compat || | 478 | (sb->s_feature_compat || sb->s_feature_ro_compat || |
714 | 435 | sb->s_feature_incompat)) | 479 | sb->s_feature_incompat)) |
715 | @@ -437,8 +481,6 @@ | |||
716 | 437 | 481 | ||
717 | 438 | if (FEATURE_CHANGED(E2P_FEATURE_RO_INCOMPAT, | 482 | if (FEATURE_CHANGED(E2P_FEATURE_RO_INCOMPAT, |
718 | 439 | EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER) || | 483 | EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER) || |
719 | 440 | FEATURE_CHANGED(E2P_FEATURE_RO_INCOMPAT, | ||
720 | 441 | EXT4_FEATURE_RO_COMPAT_GDT_CSUM) || | ||
721 | 442 | FEATURE_OFF(E2P_FEATURE_RO_INCOMPAT, | 484 | FEATURE_OFF(E2P_FEATURE_RO_INCOMPAT, |
722 | 443 | EXT4_FEATURE_RO_COMPAT_HUGE_FILE) || | 485 | EXT4_FEATURE_RO_COMPAT_HUGE_FILE) || |
723 | 444 | FEATURE_CHANGED(E2P_FEATURE_INCOMPAT, | 486 | FEATURE_CHANGED(E2P_FEATURE_INCOMPAT, |
724 | @@ -446,12 +488,8 @@ | |||
725 | 446 | FEATURE_CHANGED(E2P_FEATURE_COMPAT, | 488 | FEATURE_CHANGED(E2P_FEATURE_COMPAT, |
726 | 447 | EXT2_FEATURE_COMPAT_RESIZE_INODE) || | 489 | EXT2_FEATURE_COMPAT_RESIZE_INODE) || |
727 | 448 | FEATURE_OFF(E2P_FEATURE_RO_INCOMPAT, | 490 | FEATURE_OFF(E2P_FEATURE_RO_INCOMPAT, |
734 | 449 | EXT2_FEATURE_RO_COMPAT_LARGE_FILE)) { | 491 | EXT2_FEATURE_RO_COMPAT_LARGE_FILE)) |
735 | 450 | sb->s_state &= ~EXT2_VALID_FS; | 492 | request_fsck_afterwards(fs); |
730 | 451 | printf("\n%s\n", _(please_fsck)); | ||
731 | 452 | if (mount_flags & EXT2_MF_READONLY) | ||
732 | 453 | printf(_("(and reboot afterwards!)\n")); | ||
733 | 454 | } | ||
736 | 455 | 493 | ||
737 | 456 | if ((old_features[E2P_FEATURE_COMPAT] != sb->s_feature_compat) || | 494 | if ((old_features[E2P_FEATURE_COMPAT] != sb->s_feature_compat) || |
738 | 457 | (old_features[E2P_FEATURE_INCOMPAT] != sb->s_feature_incompat) || | 495 | (old_features[E2P_FEATURE_INCOMPAT] != sb->s_feature_incompat) || |
739 | 458 | 496 | ||
740 | === removed file 'resize/Makefile.pq' | |||
741 | --- resize/Makefile.pq 2009-04-29 18:19:46 +0000 | |||
742 | +++ resize/Makefile.pq 1970-01-01 00:00:00 +0000 | |||
743 | @@ -1,11 +0,0 @@ | |||
744 | 1 | TOPSRC=.. | ||
745 | 2 | LIBNAME=RESIZE.LIB | ||
746 | 3 | OBJFILE=RESIZE.LST | ||
747 | 4 | |||
748 | 5 | OBJS= extent.obj \ | ||
749 | 6 | ext2_block_move.obj \ | ||
750 | 7 | ext2_inode_move.obj \ | ||
751 | 8 | resize2fs.obj | ||
752 | 9 | |||
753 | 10 | !include $(TOPSRC)\powerquest\MCONFIG | ||
754 | 11 | |||
755 | 12 | 0 | ||
756 | === removed file 'util/Makefile.pq' | |||
757 | --- util/Makefile.pq 2009-04-29 18:19:46 +0000 | |||
758 | +++ util/Makefile.pq 1970-01-01 00:00:00 +0000 | |||
759 | @@ -1,10 +0,0 @@ | |||
760 | 1 | TOPSRC=.. | ||
761 | 2 | |||
762 | 3 | !include $(TOPSRC)\powerquest\MCONFIG | ||
763 | 4 | |||
764 | 5 | ALL:: libecho.exe | ||
765 | 6 | |||
766 | 7 | libecho.exe: libecho.c | ||
767 | 8 | |||
768 | 9 | clean:: | ||
769 | 10 | $(RM) libecho.exe |
Thanks for your work on this.
As we're very likely to get all the changes in the next upstream release, I'll reject this merge proposal for now.