1 2005-09-07 Theodore Ts'o <tytso@mit.edu>
3 * resolve.c: Remove unneeded probe.h header file.
5 2005-09-05 Karel Zak <kzak@redhat.com>
7 * probe.c (probe_vfat_nomagic): Add support for detecting VFAT
8 filesystems even when the magic string isn't in the FAT
11 * probe.c: Add support for detecting software suspend partitions
13 * probe.c (probe_ext2): Check to see if a journal has been added
14 to an ext2 filesystem when revalidating cached information
17 2005-07-25 Theodore Ts'o <tytso@mit.edu>
19 * cache.c (safe_getenv): Pass in zero to the unusued arguments of
20 prctl(PR_GET_DUMPABLE) to avoid false positives from
23 2005-07-09 Andreas Dilger <adilger@clusterfs.com>
25 * getsize.c (blkid_get_dev_size): Use fstat/fstat64 to get size of
28 2006-06-30 Theodore Ts'o <tytso@mit.edu>
30 * Release of E2fsprogs 1.38
32 2005-06-27 Theodore Ts'o <tytso@mit.edu>
34 * read.c, dev.c: Fix the debugging/TEST_PROGRAM code so that it is
35 sufficiently standalone that "make check" will compile
36 without errors even when configure "--enable-blkid-debug"
39 2005-05-07 Theodore Ts'o <tytso@mit.edu>
41 * tag.c (blkid_find_dev_with_tag): If a device can't be found with
42 the specified search arguments, probe all new devices
43 before trying to verify existing devices, as a speed
46 * devname.c (blkid_probe_all_new): New function which only probes
47 devices are not known in the blkid cache. This takes
48 much less time than a full probe of all devices.
50 * cache.c, dev.c, devno.c, probe.c, probe.h: Fix gcc -Wall nits.
52 * blkidP.h, cache.c, dev.c, read.c, tag.c: Clean up the debugging
53 code so that we don't use the inline functions DEB_DUMP_*
54 and instead use the private functions blkid_debug_dump_*().
56 * tag.c (blkid_dev_has_tag): New function which returns 1 if a tag
57 has a particular type and possibly value.
59 * blkid.h, dev.c (blkid_dev_set_search, blkid_dev_next): Added new
60 function, blkid_dev_set_search(), which filters the
61 devices returned by the blkid_dev_next() iterator.
63 * tag.c, dev.c, Makefile.in: Add debugging test program code.
65 2005-05-05 Theodore Ts'o <tytso@mit.edu>
67 * probe.c (probe_cramfs), probe.h: Fix magic number recognition
68 for the cramfs filesystem, and add support to pull out the
69 label for cramfs filesystems. Thanks to Karel Zak (kzak
70 at redhat.com) for the patch.
72 2005-03-31 Theodore Ts'o <tytso@mit.edu>
74 * cache.c (blkid_get_cache): Use a much more paranoid
75 safe_getenv() function which will ignore the BLKID_FILE
76 environment varaible if the application program is setgid
77 or on a Linux system, if kernel doesn't think the process
78 is eligible to create a core dump. Also if glibc has
79 __secure_getenv(), then use it.
81 2005-03-21 Theodore Ts'o <tytso@mit.edu>
83 * Release of E2fsprogs 1.37
85 2005-03-21 Theodore Ts'o <tytso@mit.edu>
87 * cache.c (blkid_get_cache): Ignore the BLKID_FILE environment
88 variable if blkid_get_cache() is called from a setuid
91 2005-03-16 Theodore Ts'o <tytso@mit.edu>
93 * getsize.c (blkid_get_dev_size): Fix compilation problem on
96 2006-02-05 Theodore Ts'o <tytso@mit.edu>
98 * Release of E2fsprogs 1.36
100 2005-02-05 Theodore Ts'o <tytso@mit.edu>
102 * Makefile.in: Remove blkid.pc on a "make distclean"
104 2005-01-27 Theodore Ts'o <tytso@mit.edu>
106 * blkid.h, blkidP.h: Rename blkid_verify_devname() to be
107 blkid_verify(), and make it be a publically exported
110 2005-01-26 Theodore Ts'o <tytso@mit.edu>
112 * version.c: Add functions to query the version of the blkid library.
114 * blkid.pc.in: Add pkg-config files.
116 2005-01-25 Theodore Ts'o <tytso@mit.edu>
118 * probe.c: Windows can perform a "quick format" that doesn't clear
119 enough of the partition that the blkid probes can get
120 confused. Do the NTFS test first to deal with this
121 Windows misfeature. (Addresses Debian Bug #291990)
123 2005-01-21 Theodore Ts'o <tytso@mit.edu>
125 * probe.c (probe_oracleasm): Add support for recognizing Oracle
126 ASM volumes. Thanks to Manish Singh (manish.singh at
127 oracle.com) for supplying this patch.
129 2005-01-18 Theodore Ts'o <tytso@mit.edu>
131 * Makefile.in: Fix the kernel compile-time echo commands to be
132 consistent and portable
134 2005-01-13 Matthias Andree <matthias.andree@gmx.de>
136 * getsize.c: Move #include "blkidP.h" before <sys/queues.h> to avoid a
137 clash with the LIST_HEAD in the latter file.
139 2005-01-10 Theodore Ts'o <tytso@mit.edu>
141 * probe.c: Integrate and fix up Janos Farkas's patch. Version 0
142 swap headers won't ever have uuid/labels. Also, if the
143 swap partition is recreated without a label, make sure
144 label in the blkid file gets freed.
145 (get_ext2_info, probe_vfat, probe_msdos, probe_reiserfs):
146 Make sure the label is cleared from the blkid file if the
147 label gets cleared from the filesystem.
148 (probe_romfs): Avoid dereferencing a null pointer of the
149 label is not present.
151 2005-01-10 Janos Farkas <chexum+dev@gmail.com>
153 * probe.h: Define linux swap format.
155 * probe.c: Fetch uuid/label from swap headers if present. Mark
156 swap types as needing extra probe.
158 2005-01-05 Theodore Ts'o <tytso@mit.edu>
160 * save.c (save_dev): Don't save relative pathnames since they
161 won't be useful to another process.
163 * devname.c (probe_one): Make sure the device is a block device
164 before checking st_rdev.
166 * probe.c (probe_msdos): Mark msdos filesystems as type vfat, with
167 a SEC_TYPE of msdos, so that mount will use vfat to mount
168 msdos filesystems. (Addresses Debian bug #287455)
169 (probe_ext3): For ext3 filesystems, return a type of ext3
170 and a SEC_TYPE of ext2, for similar reasons as above.
171 (blkid_verify_devname): Allow non-block devices to be
172 verified, for testing purposes.
174 2004-12-14 Theodore Ts'o <tytso@mit.edu>
176 * Makefile.in: Use Linux-kernel-style makefile output for "make
179 * Makefile.in (installdirs): Use $(MKINSTALLDIRS) macro
181 2004-11-30 Theodore Ts'o <tytso@mit.edu>
183 * probe.c, probe.h: Avoid using uint and uchar types, to allow
184 compilation using dietlibc.
186 * Makefile.in: Use Linux-kernel-style makefile output to make it
187 easier to see errors/warnings.
189 2004-11-19 Theodore Ts'o <tytso@mit.edu>
191 * probe.c (probe_ocfs): Fix bug where the wrong size for "ocfs1"
192 was being passed to blkid_set_tag(). Thanks to Andrea
193 Dilger for pointing this out.
195 2004-09-17 Theodore Ts'o <tytso@mit.edu>
197 * probe.c, probe.h: Add support for ocfs2 detection, courtesy of
198 manish.singh@oracle.com
200 * getsize.c: Clean up header #include's. Include sys/disk.h if
201 present since this is the new place where the
202 DIOCGMEDIASIZE ioctl is defined on FreeBSD systems.
203 (Addresses Debian bug #264630)
205 * llseek.c (blkid_llseek): On non-linux systems, use lseek64() if
206 it is present. (Addresses Debian bug #269044)
208 2004-05-12 Theodore Ts'o <tytso@mit.edu>
210 * read.c (blkid_read_cache): Add missing fclose() which was
211 causing a memory and file descriptor leak. Thanks to
212 magnus.fromreide at teligent.se.
214 2004-04-19 Theodore Ts'o <tytso@mit.edu>
216 * probe.c (blkid_verify_devname): If the time is earlier than the
217 last modified time of the device, then force a reverify;
218 it means the system time may not be trustworthy.
220 2004-04-12 Theodore Ts'o <tytso@mit.edu>
222 * cache.c (blkid_get_cache): If the BLKID_FILE environment
223 variable is set, use it to find the blkid.tab file if the
224 calling application did not supply a filename.
226 2004-04-03 Theodore Ts'o <tytso@mit.edu>
228 * Makefile.in: Update the modtime even if subst doesn't need to
229 update the libblkid man page, to avoid always re-running
230 subst, especially since there are no dependencies on the
233 2004-04-03 Theodore Ts'o <tytso@mit.edu>
235 * blkid_types.h.in: Remove check for _UUID_TYPES since uuid_types.h
238 2004-03-21 Theodore Ts'o <tytso@mit.edu>
240 * getsize.c (blkid_get_dev_size): Don't close the file descriptor
241 when determining the size. This bug was introduced in the
242 previous getsize changes, and was screwing up the blkid
243 library probe functions. (Addresses Debian Bug #239191)
245 2004-03-08 Theodore Ts'o <tytso@mit.edu>
247 * getsize.c (blkid_get_dev_size): Only use the BLKGETSIZE64 ioctl
248 on Linux 2.6 since it is unreliable in Linux 2.4..
249 (Addresses Debian Bug #236528) Fix typo in the ioctl used
252 2004-03-04 Theodore Ts'o <tytso@mit.edu>
254 * probe.c (probe_ocfs), probe.h: Add support for the Oracle
255 Cluster Filesystem (ocfs). Patches courtesy of Rusty
256 Lynch (rusty@linux.co.intel.com).
258 2004-03-02 Theodore Ts'o <tytso@mit.edu>
260 * getsize.c (blkid_get_dev_size): Update getsize functions to use
261 Apple Darwin and Linux 64-bit ioctl's
263 2004-02-29 Brian Bergstrand <brian@bergstrand.org>
265 * Makefile.in: Use $(BSDLIB_PIC_FLAG) to determine whether to use
268 2004-02-28 Theodore Ts'o <tytso@mit.edu>
270 * Release of E2fsprogs 1.35
272 2003-12-07 Theodore Ts'o <tytso@mit.edu>
274 * probe.c, read.c, blkidP.h: Fix gcc -Wall nitpicks.
276 2003-07-25 Theodore Ts'o <tytso@mit.edu>
278 * Release of E2fsprogs 1.34
280 2003-07-22 Theodore Ts'o <tytso@mit.edu>
282 * probe.c (probe_udf): Add specific UDF probing code, and probe
283 UDF before checking for ISO9660 filesystems.
285 2003-07-21 Theodore Ts'o <tytso@mit.edu>
287 * probe.c (blkid_known_fstype): New function which returns true if
288 the filesystem type is one which this blkid library supports.
290 2003-07-20 Theodore Ts'o <tytso@mit.edu>
292 * probe.c: When revalidating a filesystem, delete the LABEL tag if
293 the filesystem no longer has a label.
295 2003-07-18 Theodore Ts'o <tytso@mit.edu>
297 * tag.c (blkid_find_dev_with_tag): If blkid_probe_all() returns an
298 error, then reflect that error upwards; don't try again
299 (forever). This prevents an infinite loop when /proc and
300 the /etc/blkid.tab file are not present.
302 2003-07-06 Theodore Ts'o <tytso@mit.edu>
304 * blkid_types.h.in: Fix gcc -Wall nitpicks (don't use #elsif)
306 * cache.c: Fix gcc -Wall nitpicks (missing #include <string.h>)
308 * probe.h: Fix gcc -Wall nitpicks (missing casts)
310 2003-05-21 Theodore Ts'o <tytso@mit.edu>
312 * Makefile.in (ELF_OTHER_LIBS): The blkid library depends on the
313 uuid library. (Addresses Debian bug: #194094)
315 2003-04-21 Theodore Ts'o <tytso@mit.edu>
317 * Release of E2fsprogs 1.33
319 2003-04-19 Theodore Ts'o <tytso@mit.edu>
321 * blkidP.h: Fix gcc -Wall warnings by using __inline__ instead of
324 2003-04-02 Theodore Ts'o <tytso@mit.edu>
326 * probe.c, probe.h: Fix XFS superblock definition. Add support to
327 extract UUID and labels for JFS and romfs. (Thanks to
328 Janos Farkas <chexum+dev@gmail.com>.)
330 2003-03-30 Theodore Ts'o <tytso@mit.edu>
332 * getsize.c: #include stat.h for the Apple Darwin port
334 2003-03-17 Theodore Ts'o <tytso@mit.edu>
336 * cache.c: Initialize blkid_debug_mask to zero since some
337 operating systems can't deal with variables in the common
338 section in shared libraries.
340 * getsize.c (blkid_get_dev_size): Fix Apple Darwin port.
342 2003-03-06 <tytso@mit.edu>
344 * devname.c (probe_one): Fix bug; if a partition has no known
345 type, don't derference a null pointer and crash.
347 2003-03-06 Theodore Tso <tytso@mit.edu>
349 * blkid_types.h.in: Don't redefine types if other e2fsprogs
350 *_types.h files have been included already.
352 * list.h, probe.h: Use static inline instead of extern inline to
353 comply with C99 inline support.
355 * devname.c (blkid_probe_all): Avoid GCC extension; don't
356 initialize an array with the address of an automatic
359 * Makefile.in: Eliminate -Wall as a C compiler option by default;
362 2003-03-02 Theodore Ts'o <tytso@mit.edu>
364 * Makefile.in: Don't install list.h, since it's not used by the
367 * blkid_types.h.in: Change #ifndef protection to use _BLKID_TYPES_H
369 2003-03-01 Theodore Ts'o <tytso@mit.edu>
371 * tag.c (blkid_set_tag): Fix bug; don't return an error when
372 deleting a tag by setting the value to NULL. This
373 caused a failed device verification to loop forever in
374 blkid_verify_devname().
376 * resolve.c (main): Update debugging test program so that it
377 compiles with the latest blkid API changes.
379 * libblkid.3.in: Update manual page to reflect recent API changes.
381 * resolve.c (blkid_get_tag_value): If the passed-in cache is NULL,
382 then get and release a temporary cache as a convenience to
383 the calling application.
384 (blkid_get_devname): If the passed in token does not
385 contain an '=', and value is NULL, then return the passed
388 * read.c (blkid_read_cache): Don't return 0 since blkid_read_cache
391 * blkid.h: Add include of sys/types.h, since we use dev_t
393 2003-02-27 Theodore Ts'o <tytso@mit.edu>
395 * resolve.c (blkid_get_tag_value): Rename function (used to be
396 blkid_get_tagname_devname)
398 2003-02-22 Theodore Ts'o <tytso@mit.edu>
400 * devname.c (blkid_probe_all), tag.c (blkid_find_dev_with_tag):
401 Call blkid_read_cache to make sure the in-core version of
402 the data structure is the latest. After probing all of
403 the devices in blkid_probe_all() force the cache file to
404 be written out, the probe_all represents a lot of effort
405 that shouldn't be lost.
407 * tag.c (blkid_set_tag): Always replace an existing tag with the
408 new value; we no longer suppor multiple tags with the same
409 value attached to a device, as this was never really
410 supported well, and significantly increased the code
413 * probe.c (probe_ext2): Change handling of ext2/ext3 filesystems.
414 Ext3 filesystems are now always treated as ext2
415 filesystems, with a special SEC_TYPE tag set to ext3.
416 This was necessary because we now longer support multiple
417 tags with the same name attached to a device.
419 * save.c (save_dev): Don't special case the TYPE tag; just write
420 it out along with all of the normal tags.
421 (blkid_flush_cache): Eliminate special case code for stdout.
423 * cache.c (blkid_new_cache, blkid_get_cache): Eliminate
424 blkid_new_cache and fold into blkid_get_cache (moved to
427 * read.c (blkid_read_cache): New function created from
428 blkid_get_cache which used to be in read.c that only
429 updates the in-core cache data structure from the file.
430 Uses the file modification time of the cache file to
431 determine whether the cache file needs to be re-read.
433 * cache.c, dev.c, devname.c, devno.c, probe.c, read.c, resolve.c,
434 save.c, tag.c, blkidP.h: Add dynamic debugging
435 capabilities, controlled by the environment variable
438 2003-02-16 Theodore Ts'o <tytso@mit.edu>
440 * blkid.h, dev.c, devname.c, probe.c, read.c, resolve.c: Rename
441 blkid_get_devname() to blkid_get_dev(). Also rename
442 blkid_get_token() to blkid_get_devname(). This more
443 accurately describes what these functions do.
445 2003-02-14 Theodore Ts'o <tytso@mit.edu>
447 * blkidP.h, devname.c (blkid_get_devname), read.c (parse_tag),
448 save.c (save_dev): Remove bid_id, as it is not used for
451 * Makefile.in (blkid): When building the blkid, don't link against
452 the shared blkid library; link only against the static
455 * blkidP.h (struct blkid_struct_dev): Remove bid_size and
456 bid_devsize (since they aren't used any more) and add
457 bid_pri to the device structure.
459 * devname.c (probe_one, lvm_probe_all, evms_probe_all,
460 blkid_probe_all): Set the bid_pri filed in the device
461 structure depending on type of device so that EVMS, LVM,
462 and MD devices get priority over normal devices.
464 * tag.c (blkid_find_dev_with_tag): When looking for a device that
465 matches the search criteria, return the one with the
466 largest priority (bid_pri).
468 * save.c (save_dev): Write out the PRI tag from bid_pri.
470 * read.c (parse_tag): Parse the PRI tag and store its value in
473 * probe.c (blkid_verify_devname): If the device does not exist
474 (open returns ENOENT), treat this as a fatal error and
475 release the device. After verifying the device, set the
476 cache as being modified so the changes are written out.
478 * resolve.c (main): Change the test driver to get a blkid cache
479 and pass it to blkid_get_tagname_devname and
480 blkid_get_token, as the cache is no longer optional.
482 2003-02-12 Theodore Ts'o <tytso@mit.edu>
484 * blkid.h, blkidP.h, cache.c, dev.c, devname.c, devno.c, probe.c,
485 probe.h, read.c, resolve.c, save.c, tag.c: Wholesale
486 changes to library to simplify the implementation and
487 shrink its size. Change library version to be 1.0.
489 2003-01-27 Theodore Ts'o <tytso@mit.edu>
491 * read.c (parse_tag): Do not return that blkid_tag when parsing
494 * resolve.c (blkid_get_token, blkid_get_tagname_devname): Fold in
495 code from removed functions
497 * tag.c (blkid_create_tag): Don't return the newly tag strcture
498 any more, as it's not needed.
499 (blkid_find_tag_cache, blkid_get_tag_cache,
500 blkid_token_to_tag, blkid_find_tv_tags): Remove these
501 functions, as they are either only used once or have
502 interfaces that should be deprecated.
503 (blkid_find_tag_dev, blkid_find_head_cache): Replace use
504 of blkid_tag with one or two const char * type/value
506 (blkid_find_dev_with_tag): Fold in code from removed functions
508 * probe.h, probe.c: Use a more sophisticated set of byte-swapping
509 routines which are more compact and efficient. Drop
510 calculation of bid_free, since it's unnecessary. Avoid
512 * save.c (blkid_save_cache): Set the permissions on the blkid
515 2003-01-25 Theodore Ts'o <tytso@mit.edu>
517 * cache.c, dev.c, devname.c, devno.c, getsize.c, llseek.c,
518 probe.c, probe.h, read.c, resolve.c, save.c, tag.c,
519 blkid.h, blkidP.h: Separate public and private
520 interfaces into separate header files. Start
521 separating internal implementation details from the
522 publically exported interface.
524 * devname.c: Add support for EVMS
526 * blkid.h, cache.c, dev.c, devname.c, devno.c, probe.c, probe.h,
527 read.c, resolve.c, save.c, tag.c: Fix gcc -Wall nits.
529 2003-01-24 Theodore Ts'o <tytso@mit.edu>
531 * save.c (blkid_save_cache): Use mkstemp() instead mktemp().
533 2002-10-04 Jordan Breeding <jordan.breeding@attbi.com>
535 * Forward port to e2fsprogs 1.30
537 2001-09-20 Andreas Dilger <adilger@turbolinux.com>
539 * Initial release of libblkid.