OSDN Git Service

linux: recognize scsi disks with a high major number (128-135)
[android-x86/external-parted.git] / NEWS
1 GNU parted NEWS                                    -*- outline -*-
2
3 * Noteworthy changes in release ?.? (????-??-??) [?]
4
5 ** Bug fixes
6
7   libparted once again recognizes a whole-disk FAT partition
8   [bug introduced in parted-1.9.0]
9
10   libparted now recognizes scsi disks with a high major (128-135) as scsi
11   disks
12
13 * Noteworthy changes in release 2.3 (2010-05-28) [stable]
14
15 ** New features
16
17   parted now recognizes ATA over Ethernet (AoE) devices
18
19   parted now recognizes Linux Software RAID Arrays
20
21   libparted has a new partition flag to check for diagnostic (aka recovery
22   or reserved) partitions: PED_PARTITION_DIAG
23
24 ** Bug fixes
25
26   When libparted deferenced a /dev/mapper/foo symlink, it would keep the
27   resulting /dev/dm-N name and sometimes use it later, even though it
28   had since become stale and invalid.  It no longer stores the result
29   of dereferencing a /dev/mapper symlink.
30
31   libparted's msdos_partition_is_flag_available function now always reports
32   that the "hidden" flag is not available for an extended partition.
33   Similarly, msdos_partition_get_flag(p,PED_PARTITION_HIDDEN) always returns 0
34   for an extended partition.
35
36   libparted uses a more accurate heuristic to distinguish between
37   ext4 and ext3 partitions.
38
39   libparted now properly checks the return value of dm_task_run when
40   operating on devicemapper devices.
41
42   allow using ped_device_cache_remove(dev) followed by a (later)
43   ped_device_destroy() without corrupting the device cache.
44
45   when creating an ext2 file system[*], Parted no longer creates an
46   invalid one when its size is 2TiB or larger.
47   [*] Remember, now all FS-creation operations are deprecated in Parted.
48   This is not an indicator that we'll be supporting this code.
49   On the contrary, it is slated to be removed.
50
51 ** Changes in behavior
52
53   libparted no longer issues an exception/warning about >512-byte
54   sector support being "HIGHLY EXPERIMENTAL".  It seems to have matured
55   enough to be usable at least with GPT and MSDOS partition tables.
56
57
58 * Noteworthy changes in release 2.2 (2010-02-26) [stable]
59
60 ** Changes in behavior
61
62   The default alignment (--align option) for newly created partitions has
63   been changed to optimal.
64
65 ** New features
66
67   The ped_device_get_*_alignment() functions now return a sane default
68   value instead of NULL when the so called topology information is incomplete.
69   The default minimum alignment aligns to physical sector size, the default
70   optimal alignment is 1MiB, which is what vista and windows 7 do.
71
72 ** Bug fixes
73
74   Parted no longer uses a physical sector size of 0 or of any other
75   value smaller than the logical sector size.
76
77   dos: creating an HFS or HFS+ partition in an msdos partition table
78   used to set the partition type to 0x83.  That is wrong.  The required
79   number is 0xaf, and that is what is used now.
80
81   gpt: read-only operation could clobber MBR part of hybrid GPT+MBR table
82   [bug introduced in parted-2.1]
83
84   gpt: a read-only operation like "parted $dev print" would overwrite $dev's
85   protective MBR when exactly one of the primary and backup GPT tables was
86   found to be corrupt.
87   [bug introduced prior to parted-1.8.0]
88
89   sun: the version, sanity and nparts VTOC fields were ignored by libparted.
90   Those fields are properly initialized now. The nparts (number of partitions)
91   field is initialized to 8 (max. number of sun partitions) rather that to a
92   real number of partitions. This solution is compatible with Linux kernel
93   and Linux fdisk.
94
95   "make install" no longer installs tests programs named disk and label
96
97   libparted: try harder to inform kernel of partition changes.
98   Previously when editing partitions, occasionally the kernel would
99   fail to be informed of partition changes.  When this happened future
100   problems would occur because the kernel had incorrect information.
101   For example, if this problem arose when resizing or creating a
102   new partition, then an incorrect partition size might be displayed
103   or a user might encounter a failure to format or delete a newly
104   created partition, respectively.
105
106   libparted: committing a disk that was returned by ped_disk_duplicate
107   would always result in ped_disk_clobber being called (and thus the first
108   and last 9KiB of the disk being zeroed), even if the duplicated disk,
109   was not returned by ped_disk_fresh().
110
111
112 * Noteworthy changes in release 2.1 (2009-12-20) [stable]
113
114 ** New features
115
116   new --align=<align> commandline option which can have the following values:
117   none:     Use the minimum alignment allowed by the disk type
118   cylinder: Align partitions to cylinders (the default)
119   minimal:  Use minimum alignment as given by the disk topology information
120   optimal:  Use optimum alignment as given by the disk topology information
121   The minimal and optimal  values will use layout information provided by the
122   disk to align the logical partition table addresses to actual physical
123   blocks on the disks. The mininal value uses the minimum aligment needed to
124   align the partition properly to physical blocks, which avoids performance
125   degradation. Where as the optimal value uses a multiple of the physical
126   block size in a way that guarantees optimal performance.
127   The min and opt values will only work when compiled with
128   libblkid >= 2.17 and running on a kernel >= 2.6.31, otherwise they will
129   behave as the none --align value.
130
131   libparted: new functions to set per disk (instead of per partition) flags:
132   ped_disk_set_flag()
133   ped_disk_get_flag()
134   ped_disk_is_flag_available()
135   ped_disk_flag_get_name()
136   ped_disk_flag_get_by_name()
137   ped_disk_flag_next()
138
139   libparted: new per disk flag: PED_DISK_CYLINDER_ALIGNMENT. This flag
140   (which defaults to true) controls if disk types for which cylinder alignment
141   is optional do cylinder alignment when a new partition gets added.
142
143   libparted: new functions to return per-partition-table-type limits:
144     - ped_disk_max_partition_start_sector: Return the largest representable
145     start sector number for a given "disk".
146     - ped_disk_max_partition_length: Return the maximum partition length
147     for a given "disk".
148
149   new command "align-check TYPE N" to determine whether the starting sector
150   of partition N is TYPE(minimal|optimal)-aligned for the disk.  E.g.,
151       parted -s /dev/sda align-check min 1 && echo partition 1 is min-aligned
152       parted -s /dev/sda align-check opt 2 && echo partition 2 is opt-aligned
153   The same libblkid and kernel version requirements apply as for --align
154
155   Add functions to libparted to get minimal and optimal alignment
156   information from devices:
157   ped_device_get_minimal_aligned_constraint()
158   ped_device_get_optimal_aligned_constraint()
159   ped_device_get_minimum_alignment()
160   ped_device_get_optimum_alignment()
161   The same libblkid and kernel version requirements apply as for --align
162
163   Add ped_disk_get_partition_alignment() function to libparted to get
164   information about alignment enforced by the disk type.
165
166 ** Bug fixes
167
168   parted can once again create partition tables on loop devices.
169   Before, "parted -s /dev/loop0 mklabel gpt" would fail.
170   [bug introduced in parted-1.9.0]
171
172   improved >512-byte sector support: for example, printing a table on a
173   4k-sector disk would show "Sector size (logical/physical): 4096B/512B",
174   when the sizes should have been "4096B/4096B".
175
176   gpt tables are more rigorously checked; before, partition entry array CRCs
177   were not checked, and we would mistakenly use the AlternateLBA member of a
178   known-corrupt primary table.
179
180   improved dasd disk support, in previous versions calling
181   ped_disk_new_fresh() or ped_disk_duplicate() on a dasd type PedDisk
182   would fail.  This is fixed now.
183
184   handle device nodes created by lvm build with udev synchronisation enabled
185   properly.
186
187   when printing tables, parted no longer truncates flag names
188
189
190 * Noteworthy changes in release 2.0 (2009-10-06) [beta]
191
192 ** Improvements
193
194   Parted now supports disks with sector size larger than 512 bytes.
195   Before this release, Parted could operate only on disks with a sector
196   size of 512 bytes.  However, disk manufacturers are already making disks
197   with an exposed hardware sector size of 4096 bytes.  Prior versions of
198   Parted cannot even read a partition table on such a device, not to
199   mention create or manipulate existing partition tables.
200   Due to internal design and time constraints, the following
201   less-common partition table types are currently disabled:
202     amiga, bsd, aix, pc98
203   "bsd" and "amiga" are mostly done, but had a few minor problems,
204   so may remain disabled until someone requests that they be revived.
205
206 ** Bug fixes
207
208   big-endian systems can once again read GPT partition tables
209   [bug introduced in parted-1.9.0]
210
211   ped_partition_is_busy no longer calls libparted's exception handler,
212   since doing so caused trouble with anaconda/pyparted when operating on
213   dmraid devices.
214
215   Partitions in a GPT table are no longer assigned the "microsoft
216   reserved partition" type.  Before this change, each partition would
217   be listed with a type of "msftres" by default.
218
219
220 * Noteworthy changes in release 1.9.0 (2009-07-23) [stable]
221
222 ** Bug fixes
223
224   parted now preserves the protective MBR (PMBR) in GPT type labels.
225   http://lists.alioth.debian.org/pipermail/parted-devel/2008-December/\
226     002473.html
227   http://lists.gnu.org/archive/html/bug-parted/2008-12/msg00015.html
228
229   gpt_read now uses SizeOfPartitionEntry instead of the size of
230   GuidPartitionEntry_t.  This ensures that *all* of the partition
231   entries are correctly read.
232   http://lists.alioth.debian.org/pipermail/parted-devel/2008-December/\
233     002465.html
234   http://lists.alioth.debian.org/pipermail/parted-devel/attachments/\
235     20081202/b7c0528d/attachment.txt
236
237   mklabel (interactive mode) now correctly asks for confirmation, when
238   replacing an existent label, without outputting an error message.
239   http://lists.alioth.debian.org/pipermail/parted-devel/2009-January/\
240     002739.html
241
242   resize now handles FAT16 file systems with a 64k cluster.  This
243   configuration is not common, but it is possible.
244   http://parted.alioth.debian.org/cgi-bin/trac.cgi/ticket/207
245
246   parted now ignores devices of the type /dev/md* when probing.  These
247   types of devices should be handled by the device-mapper capabilities
248   of parted.
249   http://lists.alioth.debian.org/pipermail/parted-devel/2009-April/\
250     002781.html
251
252   The parted documentation now describes the differences in the options
253   passed to mkpart for the label types.
254   http://lists.alioth.debian.org/pipermail/parted-devel/2009-April/\
255     002782.html
256
257 ** Changes in behavior
258
259   include/parted/beos.h, include/parted/gnu.h and include/parted/linux.h
260   have been removed.  The symbols contained in these files (GNUSpecific,
261   ped_device_new_from_store, BEOSSpecific, LinuxSpecific,  LINUX_SPECIFIC)
262   were moved to the individual files that need them.
263
264   In libparted, the linux-swap "filesystem" types are now called
265   "linux-swap(v0)" and "linux-swap(v1)" rather than "linux-swap(old)"
266   and "linux-swap(new)" as in parted 1.8, or "linux-swap" as in older
267   versions; "old" and "new" generally make poor names, and v1 is the
268   only format supported by current Linux kernels. Aliases for all
269   previous names are available.
270
271 * Noteworthy changes in release 1.8.8.1 (2007-12-17) [stable]
272
273 ** FIXME: fill in details
274
275 * Noteworthy changes in release 1.8.8 (2007-08-09) [stable]
276
277 ** GNU parted is now licensed under the GNU General Public License version 3
278    or higher.  See the COPYING file for more details.
279
280 ** libparted:
281   - Add compute_block_counts() to improve ext2fs support.
282   - Properly detect 'ext2 fs too small' cases.
283   - Move formatting commands out of translatable strings.
284   - Read an msdos partition table from a device with 2K sectors.
285   - Remove always-false "Unable to open" diagnostic in ped_disk_new(),
286     leave the "unrecognized disk label" diagnostic.
287   - Don't leak partition table buffer in amiga_read().
288   - Don't read/write initialized memory with DEBUG turned on off for
289     'mklabel bsd' and 'mklabel amiga' command calls.
290   - Turn off DEBUG in libparted.c to avoid initializing all allocated
291     memory to '1' bits.
292   - Correct handling of HeaderSize field in GPT labels.
293   - Fix block number used when checking for ext2 fs state.
294   - Add detection support for Xen virtual block devices (/dev/xvd*).
295   - When reading DASD labels, check the filesystem type as well as
296     partition flags to determine what's on the partition.
297   - Add _dm_probe_all() from Debian to probe for all device-mapper
298     devices.
299
300 ** parted:
301   - Fixed exception handling in mkpart and mkpartfs commands.
302   - Add the --dry-run option to the partprobe command.
303   - Update docs: cannot specify 'primary' for a partition on a loop
304     device.
305   - Remove unused functions (get_spaces).
306   - Fix off-by-one error in str_list_print_wrap().
307   - Use xmalloc() and xrealloc() to check return values.
308   - Fix invalid command line argument handling.
309   - Close memory leaks in parted.c and table.c.
310   - Fix warnings when compiling with translation support enabled.
311   - Use a consistent prompt when asking for a file system type.
312   - Update docs: don't reference old versions of gzip.
313
314 ** misc:
315   - Improve the testing framework in the tests/ subdirectory.  Build out
316     more of the testing scripts so we can start using that to ensure we
317     don't introduce regressions in releases.
318   - Support testing with tmpfs filesystems on Linux.
319   - Work around inadequate libreadline in the configure script.
320   - Don't include config.h from internal headers.
321
322 * Noteworthy changes in release 1.8.7 (2007-05-09) [stable]
323
324 ** libparted:
325   - Prevent compilation of DASD code on GNU Hurd systems.
326   - Integrate new unit testing framework for parted and libparted.
327   - Fix primary partition cylinder alignment error for DOS disk labels.
328   - Use PED_PARTITION_NORMAL in place of PED_PARTITION_PRIMARY.
329   - Avoid segfault due to a double free on reiserfs support.
330
331 ** parted:
332   - Fix script mode (-s) for mkfs command in parted.
333   - Suppress "you are not superuser..." warning in script mode.
334   - Fix off-by-one bug in parted when displaying information about the
335     disk.
336   - Do not translate partition names in the 'parted print' command.
337     This causes problems for non-Latin-based character sets.
338   - Send errors to stderr rather than stdout.
339   - Handle command line options independent of the order.
340   - Abort on any invalid option and handle -v and -h first.
341   - Only display the update /etc/fstab message when there has been a
342     change to the disk (a shorter and more direct message too).
343
344 * Noteworthy changes in release 1.8.6 (2007-03-20) [stable]
345
346 ** Revert the implementation of the linux-swap(new) and linux-swap(old) types.
347    The type is 'linux-swap' for v1, v2, and s1suspend swap partitions on Linux.
348
349 * Noteworthy changes in release 1.8.5 (2007-03-20) [stable]
350
351 ** Another minor update.  Both versions 1.8.3 and 1.8.4 lacked po translation
352    files.  These are included with version 1.8.5.
353
354 * Noteworthy changes in release 1.8.4 (2007-03-19) [stable]
355
356 ** Minor bug fix release for 1.8.3 to fix build issues on various
357    platforms:
358   - Use 'uname -m' to determine if we build on System Z or not.
359   - Include <parted/vtoc.h> in <parted/fdasd.h> for format1_label_t
360     definition.
361   - Remove unused variables in libparted/arch/linux.c (-Werror).
362   - Check return values on fgets() and asprint() in libparted/arch/linux.c
363     (-Werror).
364   - Check for tgetent() in libtinfo in the configure script.
365   - Move some macro definitions in <parted/disk.h> to fix a compile
366     problem with gcc-4.1.2 as indicated here:
367     http://lists.gnu.org/archive/html/bug-parted/2007-03/msg00008.html
368
369 * Noteworthy changes in release 1.8.3 (2007-03-16) [stable]
370
371 ** libparted:
372   - Header file clean ups.
373   - Sync the linux-swap header according to the Linux kernel sources.
374   - Enable support for swsusp partitions and the ability to differentiate
375     between old and new versions of linux-swap partitions.
376   - Renaming PARTITION_EXT to PARTITION_DOS_EXT in the DOS disklabel
377     code (consitency with Linux kernel source).
378   - Added libparted.pc pkg-config file.
379   - Remove unused functions, ifdefs, and other code.
380   - Deprecate ped_[register|unregister]_disk_type in favor of
381     ped_disk_type_[register|unregister].
382   - Small test program fixes (in label.c and common.c).
383   - Make functions const-correct.
384   - Handle systems where libreadline is not available.
385   - Preserve starting sector for primary NTFS 3.1 partitions on DOS
386     disklabel.
387   - Handle 2048-byte logical sectors in linux_read().
388   - Use PED_SECTOR_SIZE_DEFAULT macro in place of 512.
389   - Don't assume logical sector size is <= 512B on AIX.
390   - Detect HFS write failure.
391   - Use mkstemp() in place of mktemp().
392   - Added HFS+ resize support.
393   - Don't build DASD support on non-zSeries hardware.
394
395 ** parted/partprobe:
396   - Use fputs() and putchar() in place for printf(), when possible.
397   - Detect/report stdout write errors.
398   - Accept the --version and --help options.
399   - Fix memory leaks in parted(8).
400
401 ** general:
402   - Synchronize the manual page and --help documentation.
403   - GNU autoconf and automake updates.
404   - 'gcc -Wall -Wshadow' warning cleanups.
405   - Don't define _GNU_SOURCE manually.
406   - Documentation updates and cleanups (AUTHORS, copyright notices,
407     etc).
408   - Use gnulib (http://www.gnu.org/software/gnulib/).
409
410 * Noteworthy changes in release 1.8.2 (2007-01-12) [stable]
411
412 ** libparted:
413   - Add the ped_device_cache_remove() function to remove a device from
414     the cache.  This is necessary for some things that use libparted,
415     including pyparted.
416   - Fix a segfault in ped_assert() where the wrong pointer is freed in
417     the backtrace handler.
418   - Only call _disk_warn_loss(disk) in do_mklabel() if disk is not NULL.
419     Fixes a segfault when initializing new volumes.
420   - Dynamically allocate space for exception messages.
421   - Output a backtrace when catching SEGV_MAPPER or a general SIGSEGV.
422
423 ** parted:
424   - Destroy all objects before return when called with --list or --all
425     option.
426   - Zero sized device is shown as 0.00B and not -0.00kB.
427   - Implement 'print devices' command.
428   - Alias 'print list' to 'print all'.
429   - Alias 'mktable' to 'mklabel'.
430
431 ** misc:
432   - Other bug fixes, documentation updates, and translation improvements.
433   - Code and API clean-ups.
434
435 * Noteworthy changes in release 1.8.1 (2006-12-04) [stable]
436
437 ** libparted:
438   - Rework backtrace support.
439   - Code cleanups.
440   - Added --enable-selinux configure option to enable linking libparted with
441     libselinux and libsepol.
442   - Disable ext2fs resize for now, tell user to use resize2fs.
443
444 ** parted:
445   - Fix loop in print_all().
446   - Introduce the -list command-line switch.
447   - Make mktable aliased to mklabel.
448   - Warn before mklabel and mkfs.
449   - Code cleanups in _partition_warn_busy(), _disk_warn_busy(),
450     _partition_warn_loss(), and _disk_warn_loss().
451   - Avoid warning about user permissions when using --version.
452   - Fix 'print' command help.
453   - Proper print when there are no extended partitions, but partition names.
454
455 ** misc:
456   - Generate SHA-1 digest of the archive files and upload those along with the
457     actual archive files.
458   - Update translation files.
459   - Remove automatically generated files from version control.
460
461 * Noteworthy changes in release 1.8.0 (2006-11-17) [stable]
462
463 ** libparted:
464   - GPT fixes:
465        - Correctly handle disks with non-512 byte sector sizes
466        - Support LUN resizing (see new space, allow parted to use it)
467        - Prevent overlap of LastUsableLBA and PartitionEntryLBA in backup GPT
468   - Prevent SIGFPE when FAT sector size is 0
469   - Add ped_exception_get_handler()
470   - DASD support for IBM zSeries systems
471   - AIX disk label support
472   - Detect Promise SX8 storage devices
473   - Macintosh (ppc and x86) disk label improvements:
474        - Prevent LVM and RAID partition types from corrupting the table
475        - Fix removal of driver partition
476   - Add support binary units (MiB, KiB, GiB)
477   - In ped_register_disk_type(), handle disk_types==NULL case
478   - In ped_unregister_disk_type(), handle case where type is not registered
479   - Fix geometry read problems on 64-bit Macs (and probably other 64-bit systems)
480   - Add support for /dev/mapper devices via libdevmapper library
481   - Detect Apple_Boot partition types correctly on MacOS X 10.4 systems
482
483 ** parted:
484   - Various bug fixes, signal handling fixes, and spelling error fixes
485   - UI improvements to display more information about the disk and transport
486     layer
487
488 ========================================================================
489
490 Copyright (C) 2001-2010 Free Software Foundation, Inc.
491
492 Permission is granted to copy, distribute and/or modify this document
493 under the terms of the GNU Free Documentation License, Version 1.3 or
494 any later version published by the Free Software Foundation; with no
495 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
496 Texts.  A copy of the license is included in the ``GNU Free
497 Documentation License'' file as part of this distribution.