OSDN Git Service

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