1 2005-12-10 Theodore Ts'o <tytso@mit.edu>
3 * Makefile.in: Add a dependency to make sure that the
4 subdirectories are created before creating all of the
7 2005-09-10 Theodore Ts'o <tytso@mit.edu>
9 * probe.c (probe_fat): Search the root directory of FAT
10 filesystems for the label information.
12 * probe.c, probe.h: Change superblock and generic i/o functions to
13 be more generic. Clean up interface to the probe
14 function. Fix memory leak.
16 * probe.c, probe.h: Extract basic iso9660 label information.
18 * probe.c, probe.h: Add support for resier4 filesystem.
20 2005-09-07 Theodore Ts'o <tytso@mit.edu>
22 * probe.c: Collapse vfat and fat code and make it more paranoid
23 when probing for vat/fat filesystems.
25 * resolve.c: Remove unneeded probe.h header file.
27 2005-09-05 Karel Zak <kzak@redhat.com>
29 * probe.c (probe_vfat_nomagic): Add support for detecting VFAT
30 filesystems even when the magic string isn't in the FAT
33 * probe.c: Add support for detecting software suspend partitions
35 * probe.c (probe_ext2): Check to see if a journal has been added
36 to an ext2 filesystem when revalidating cached information
39 2005-07-25 Theodore Ts'o <tytso@mit.edu>
41 * cache.c (safe_getenv): Pass in zero to the unusued arguments of
42 prctl(PR_GET_DUMPABLE) to avoid false positives from
45 2005-07-09 Andreas Dilger <adilger@clusterfs.com>
47 * getsize.c (blkid_get_dev_size): Use fstat/fstat64 to get size of
50 2006-06-30 Theodore Ts'o <tytso@mit.edu>
52 * Release of E2fsprogs 1.38
54 2005-06-27 Theodore Ts'o <tytso@mit.edu>
56 * read.c, dev.c: Fix the debugging/TEST_PROGRAM code so that it is
57 sufficiently standalone that "make check" will compile
58 without errors even when configure "--enable-blkid-debug"
61 2005-05-07 Theodore Ts'o <tytso@mit.edu>
63 * tag.c (blkid_find_dev_with_tag): If a device can't be found with
64 the specified search arguments, probe all new devices
65 before trying to verify existing devices, as a speed
68 * devname.c (blkid_probe_all_new): New function which only probes
69 devices are not known in the blkid cache. This takes
70 much less time than a full probe of all devices.
72 * cache.c, dev.c, devno.c, probe.c, probe.h: Fix gcc -Wall nits.
74 * blkidP.h, cache.c, dev.c, read.c, tag.c: Clean up the debugging
75 code so that we don't use the inline functions DEB_DUMP_*
76 and instead use the private functions blkid_debug_dump_*().
78 * tag.c (blkid_dev_has_tag): New function which returns 1 if a tag
79 has a particular type and possibly value.
81 * blkid.h, dev.c (blkid_dev_set_search, blkid_dev_next): Added new
82 function, blkid_dev_set_search(), which filters the
83 devices returned by the blkid_dev_next() iterator.
85 * tag.c, dev.c, Makefile.in: Add debugging test program code.
87 2005-05-05 Theodore Ts'o <tytso@mit.edu>
89 * probe.c (probe_cramfs), probe.h: Fix magic number recognition
90 for the cramfs filesystem, and add support to pull out the
91 label for cramfs filesystems. Thanks to Karel Zak (kzak
92 at redhat.com) for the patch.
94 2005-03-31 Theodore Ts'o <tytso@mit.edu>
96 * cache.c (blkid_get_cache): Use a much more paranoid
97 safe_getenv() function which will ignore the BLKID_FILE
98 environment varaible if the application program is setgid
99 or on a Linux system, if kernel doesn't think the process
100 is eligible to create a core dump. Also if glibc has
101 __secure_getenv(), then use it.
103 2005-03-21 Theodore Ts'o <tytso@mit.edu>
105 * Release of E2fsprogs 1.37
107 2005-03-21 Theodore Ts'o <tytso@mit.edu>
109 * cache.c (blkid_get_cache): Ignore the BLKID_FILE environment
110 variable if blkid_get_cache() is called from a setuid
113 2005-03-16 Theodore Ts'o <tytso@mit.edu>
115 * getsize.c (blkid_get_dev_size): Fix compilation problem on
118 2006-02-05 Theodore Ts'o <tytso@mit.edu>
120 * Release of E2fsprogs 1.36
122 2005-02-05 Theodore Ts'o <tytso@mit.edu>
124 * Makefile.in: Remove blkid.pc on a "make distclean"
126 2005-01-27 Theodore Ts'o <tytso@mit.edu>
128 * blkid.h, blkidP.h: Rename blkid_verify_devname() to be
129 blkid_verify(), and make it be a publically exported
132 2005-01-26 Theodore Ts'o <tytso@mit.edu>
134 * version.c: Add functions to query the version of the blkid library.
136 * blkid.pc.in: Add pkg-config files.
138 2005-01-25 Theodore Ts'o <tytso@mit.edu>
140 * probe.c: Windows can perform a "quick format" that doesn't clear
141 enough of the partition that the blkid probes can get
142 confused. Do the NTFS test first to deal with this
143 Windows misfeature. (Addresses Debian Bug #291990)
145 2005-01-21 Theodore Ts'o <tytso@mit.edu>
147 * probe.c (probe_oracleasm): Add support for recognizing Oracle
148 ASM volumes. Thanks to Manish Singh (manish.singh at
149 oracle.com) for supplying this patch.
151 2005-01-18 Theodore Ts'o <tytso@mit.edu>
153 * Makefile.in: Fix the kernel compile-time echo commands to be
154 consistent and portable
156 2005-01-13 Matthias Andree <matthias.andree@gmx.de>
158 * getsize.c: Move #include "blkidP.h" before <sys/queues.h> to avoid a
159 clash with the LIST_HEAD in the latter file.
161 2005-01-10 Theodore Ts'o <tytso@mit.edu>
163 * probe.c: Integrate and fix up Janos Farkas's patch. Version 0
164 swap headers won't ever have uuid/labels. Also, if the
165 swap partition is recreated without a label, make sure
166 label in the blkid file gets freed.
167 (get_ext2_info, probe_vfat, probe_msdos, probe_reiserfs):
168 Make sure the label is cleared from the blkid file if the
169 label gets cleared from the filesystem.
170 (probe_romfs): Avoid dereferencing a null pointer of the
171 label is not present.
173 2005-01-10 Janos Farkas <chexum+dev@gmail.com>
175 * probe.h: Define linux swap format.
177 * probe.c: Fetch uuid/label from swap headers if present. Mark
178 swap types as needing extra probe.
180 2005-01-05 Theodore Ts'o <tytso@mit.edu>
182 * save.c (save_dev): Don't save relative pathnames since they
183 won't be useful to another process.
185 * devname.c (probe_one): Make sure the device is a block device
186 before checking st_rdev.
188 * probe.c (probe_msdos): Mark msdos filesystems as type vfat, with
189 a SEC_TYPE of msdos, so that mount will use vfat to mount
190 msdos filesystems. (Addresses Debian bug #287455)
191 (probe_ext3): For ext3 filesystems, return a type of ext3
192 and a SEC_TYPE of ext2, for similar reasons as above.
193 (blkid_verify_devname): Allow non-block devices to be
194 verified, for testing purposes.
196 2004-12-14 Theodore Ts'o <tytso@mit.edu>
198 * Makefile.in: Use Linux-kernel-style makefile output for "make
201 * Makefile.in (installdirs): Use $(MKINSTALLDIRS) macro
203 2004-11-30 Theodore Ts'o <tytso@mit.edu>
205 * probe.c, probe.h: Avoid using uint and uchar types, to allow
206 compilation using dietlibc.
208 * Makefile.in: Use Linux-kernel-style makefile output to make it
209 easier to see errors/warnings.
211 2004-11-19 Theodore Ts'o <tytso@mit.edu>
213 * probe.c (probe_ocfs): Fix bug where the wrong size for "ocfs1"
214 was being passed to blkid_set_tag(). Thanks to Andrea
215 Dilger for pointing this out.
217 2004-09-17 Theodore Ts'o <tytso@mit.edu>
219 * probe.c, probe.h: Add support for ocfs2 detection, courtesy of
220 manish.singh@oracle.com
222 * getsize.c: Clean up header #include's. Include sys/disk.h if
223 present since this is the new place where the
224 DIOCGMEDIASIZE ioctl is defined on FreeBSD systems.
225 (Addresses Debian bug #264630)
227 * llseek.c (blkid_llseek): On non-linux systems, use lseek64() if
228 it is present. (Addresses Debian bug #269044)
230 2004-05-12 Theodore Ts'o <tytso@mit.edu>
232 * read.c (blkid_read_cache): Add missing fclose() which was
233 causing a memory and file descriptor leak. Thanks to
234 magnus.fromreide at teligent.se.
236 2004-04-19 Theodore Ts'o <tytso@mit.edu>
238 * probe.c (blkid_verify_devname): If the time is earlier than the
239 last modified time of the device, then force a reverify;
240 it means the system time may not be trustworthy.
242 2004-04-12 Theodore Ts'o <tytso@mit.edu>
244 * cache.c (blkid_get_cache): If the BLKID_FILE environment
245 variable is set, use it to find the blkid.tab file if the
246 calling application did not supply a filename.
248 2004-04-03 Theodore Ts'o <tytso@mit.edu>
250 * Makefile.in: Update the modtime even if subst doesn't need to
251 update the libblkid man page, to avoid always re-running
252 subst, especially since there are no dependencies on the
255 2004-04-03 Theodore Ts'o <tytso@mit.edu>
257 * blkid_types.h.in: Remove check for _UUID_TYPES since uuid_types.h
260 2004-03-21 Theodore Ts'o <tytso@mit.edu>
262 * getsize.c (blkid_get_dev_size): Don't close the file descriptor
263 when determining the size. This bug was introduced in the
264 previous getsize changes, and was screwing up the blkid
265 library probe functions. (Addresses Debian Bug #239191)
267 2004-03-08 Theodore Ts'o <tytso@mit.edu>
269 * getsize.c (blkid_get_dev_size): Only use the BLKGETSIZE64 ioctl
270 on Linux 2.6 since it is unreliable in Linux 2.4..
271 (Addresses Debian Bug #236528) Fix typo in the ioctl used
274 2004-03-04 Theodore Ts'o <tytso@mit.edu>
276 * probe.c (probe_ocfs), probe.h: Add support for the Oracle
277 Cluster Filesystem (ocfs). Patches courtesy of Rusty
278 Lynch (rusty@linux.co.intel.com).
280 2004-03-02 Theodore Ts'o <tytso@mit.edu>
282 * getsize.c (blkid_get_dev_size): Update getsize functions to use
283 Apple Darwin and Linux 64-bit ioctl's
285 2004-02-29 Brian Bergstrand <brian@bergstrand.org>
287 * Makefile.in: Use $(BSDLIB_PIC_FLAG) to determine whether to use
290 2004-02-28 Theodore Ts'o <tytso@mit.edu>
292 * Release of E2fsprogs 1.35
294 2003-12-07 Theodore Ts'o <tytso@mit.edu>
296 * probe.c, read.c, blkidP.h: Fix gcc -Wall nitpicks.
298 2003-07-25 Theodore Ts'o <tytso@mit.edu>
300 * Release of E2fsprogs 1.34
302 2003-07-22 Theodore Ts'o <tytso@mit.edu>
304 * probe.c (probe_udf): Add specific UDF probing code, and probe
305 UDF before checking for ISO9660 filesystems.
307 2003-07-21 Theodore Ts'o <tytso@mit.edu>
309 * probe.c (blkid_known_fstype): New function which returns true if
310 the filesystem type is one which this blkid library supports.
312 2003-07-20 Theodore Ts'o <tytso@mit.edu>
314 * probe.c: When revalidating a filesystem, delete the LABEL tag if
315 the filesystem no longer has a label.
317 2003-07-18 Theodore Ts'o <tytso@mit.edu>
319 * tag.c (blkid_find_dev_with_tag): If blkid_probe_all() returns an
320 error, then reflect that error upwards; don't try again
321 (forever). This prevents an infinite loop when /proc and
322 the /etc/blkid.tab file are not present.
324 2003-07-06 Theodore Ts'o <tytso@mit.edu>
326 * blkid_types.h.in: Fix gcc -Wall nitpicks (don't use #elsif)
328 * cache.c: Fix gcc -Wall nitpicks (missing #include <string.h>)
330 * probe.h: Fix gcc -Wall nitpicks (missing casts)
332 2003-05-21 Theodore Ts'o <tytso@mit.edu>
334 * Makefile.in (ELF_OTHER_LIBS): The blkid library depends on the
335 uuid library. (Addresses Debian bug: #194094)
337 2003-04-21 Theodore Ts'o <tytso@mit.edu>
339 * Release of E2fsprogs 1.33
341 2003-04-19 Theodore Ts'o <tytso@mit.edu>
343 * blkidP.h: Fix gcc -Wall warnings by using __inline__ instead of
346 2003-04-02 Theodore Ts'o <tytso@mit.edu>
348 * probe.c, probe.h: Fix XFS superblock definition. Add support to
349 extract UUID and labels for JFS and romfs. (Thanks to
350 Janos Farkas <chexum+dev@gmail.com>.)
352 2003-03-30 Theodore Ts'o <tytso@mit.edu>
354 * getsize.c: #include stat.h for the Apple Darwin port
356 2003-03-17 Theodore Ts'o <tytso@mit.edu>
358 * cache.c: Initialize blkid_debug_mask to zero since some
359 operating systems can't deal with variables in the common
360 section in shared libraries.
362 * getsize.c (blkid_get_dev_size): Fix Apple Darwin port.
364 2003-03-06 <tytso@mit.edu>
366 * devname.c (probe_one): Fix bug; if a partition has no known
367 type, don't derference a null pointer and crash.
369 2003-03-06 Theodore Tso <tytso@mit.edu>
371 * blkid_types.h.in: Don't redefine types if other e2fsprogs
372 *_types.h files have been included already.
374 * list.h, probe.h: Use static inline instead of extern inline to
375 comply with C99 inline support.
377 * devname.c (blkid_probe_all): Avoid GCC extension; don't
378 initialize an array with the address of an automatic
381 * Makefile.in: Eliminate -Wall as a C compiler option by default;
384 2003-03-02 Theodore Ts'o <tytso@mit.edu>
386 * Makefile.in: Don't install list.h, since it's not used by the
389 * blkid_types.h.in: Change #ifndef protection to use _BLKID_TYPES_H
391 2003-03-01 Theodore Ts'o <tytso@mit.edu>
393 * tag.c (blkid_set_tag): Fix bug; don't return an error when
394 deleting a tag by setting the value to NULL. This
395 caused a failed device verification to loop forever in
396 blkid_verify_devname().
398 * resolve.c (main): Update debugging test program so that it
399 compiles with the latest blkid API changes.
401 * libblkid.3.in: Update manual page to reflect recent API changes.
403 * resolve.c (blkid_get_tag_value): If the passed-in cache is NULL,
404 then get and release a temporary cache as a convenience to
405 the calling application.
406 (blkid_get_devname): If the passed in token does not
407 contain an '=', and value is NULL, then return the passed
410 * read.c (blkid_read_cache): Don't return 0 since blkid_read_cache
413 * blkid.h: Add include of sys/types.h, since we use dev_t
415 2003-02-27 Theodore Ts'o <tytso@mit.edu>
417 * resolve.c (blkid_get_tag_value): Rename function (used to be
418 blkid_get_tagname_devname)
420 2003-02-22 Theodore Ts'o <tytso@mit.edu>
422 * devname.c (blkid_probe_all), tag.c (blkid_find_dev_with_tag):
423 Call blkid_read_cache to make sure the in-core version of
424 the data structure is the latest. After probing all of
425 the devices in blkid_probe_all() force the cache file to
426 be written out, the probe_all represents a lot of effort
427 that shouldn't be lost.
429 * tag.c (blkid_set_tag): Always replace an existing tag with the
430 new value; we no longer suppor multiple tags with the same
431 value attached to a device, as this was never really
432 supported well, and significantly increased the code
435 * probe.c (probe_ext2): Change handling of ext2/ext3 filesystems.
436 Ext3 filesystems are now always treated as ext2
437 filesystems, with a special SEC_TYPE tag set to ext3.
438 This was necessary because we now longer support multiple
439 tags with the same name attached to a device.
441 * save.c (save_dev): Don't special case the TYPE tag; just write
442 it out along with all of the normal tags.
443 (blkid_flush_cache): Eliminate special case code for stdout.
445 * cache.c (blkid_new_cache, blkid_get_cache): Eliminate
446 blkid_new_cache and fold into blkid_get_cache (moved to
449 * read.c (blkid_read_cache): New function created from
450 blkid_get_cache which used to be in read.c that only
451 updates the in-core cache data structure from the file.
452 Uses the file modification time of the cache file to
453 determine whether the cache file needs to be re-read.
455 * cache.c, dev.c, devname.c, devno.c, probe.c, read.c, resolve.c,
456 save.c, tag.c, blkidP.h: Add dynamic debugging
457 capabilities, controlled by the environment variable
460 2003-02-16 Theodore Ts'o <tytso@mit.edu>
462 * blkid.h, dev.c, devname.c, probe.c, read.c, resolve.c: Rename
463 blkid_get_devname() to blkid_get_dev(). Also rename
464 blkid_get_token() to blkid_get_devname(). This more
465 accurately describes what these functions do.
467 2003-02-14 Theodore Ts'o <tytso@mit.edu>
469 * blkidP.h, devname.c (blkid_get_devname), read.c (parse_tag),
470 save.c (save_dev): Remove bid_id, as it is not used for
473 * Makefile.in (blkid): When building the blkid, don't link against
474 the shared blkid library; link only against the static
477 * blkidP.h (struct blkid_struct_dev): Remove bid_size and
478 bid_devsize (since they aren't used any more) and add
479 bid_pri to the device structure.
481 * devname.c (probe_one, lvm_probe_all, evms_probe_all,
482 blkid_probe_all): Set the bid_pri filed in the device
483 structure depending on type of device so that EVMS, LVM,
484 and MD devices get priority over normal devices.
486 * tag.c (blkid_find_dev_with_tag): When looking for a device that
487 matches the search criteria, return the one with the
488 largest priority (bid_pri).
490 * save.c (save_dev): Write out the PRI tag from bid_pri.
492 * read.c (parse_tag): Parse the PRI tag and store its value in
495 * probe.c (blkid_verify_devname): If the device does not exist
496 (open returns ENOENT), treat this as a fatal error and
497 release the device. After verifying the device, set the
498 cache as being modified so the changes are written out.
500 * resolve.c (main): Change the test driver to get a blkid cache
501 and pass it to blkid_get_tagname_devname and
502 blkid_get_token, as the cache is no longer optional.
504 2003-02-12 Theodore Ts'o <tytso@mit.edu>
506 * blkid.h, blkidP.h, cache.c, dev.c, devname.c, devno.c, probe.c,
507 probe.h, read.c, resolve.c, save.c, tag.c: Wholesale
508 changes to library to simplify the implementation and
509 shrink its size. Change library version to be 1.0.
511 2003-01-27 Theodore Ts'o <tytso@mit.edu>
513 * read.c (parse_tag): Do not return that blkid_tag when parsing
516 * resolve.c (blkid_get_token, blkid_get_tagname_devname): Fold in
517 code from removed functions
519 * tag.c (blkid_create_tag): Don't return the newly tag strcture
520 any more, as it's not needed.
521 (blkid_find_tag_cache, blkid_get_tag_cache,
522 blkid_token_to_tag, blkid_find_tv_tags): Remove these
523 functions, as they are either only used once or have
524 interfaces that should be deprecated.
525 (blkid_find_tag_dev, blkid_find_head_cache): Replace use
526 of blkid_tag with one or two const char * type/value
528 (blkid_find_dev_with_tag): Fold in code from removed functions
530 * probe.h, probe.c: Use a more sophisticated set of byte-swapping
531 routines which are more compact and efficient. Drop
532 calculation of bid_free, since it's unnecessary. Avoid
534 * save.c (blkid_save_cache): Set the permissions on the blkid
537 2003-01-25 Theodore Ts'o <tytso@mit.edu>
539 * cache.c, dev.c, devname.c, devno.c, getsize.c, llseek.c,
540 probe.c, probe.h, read.c, resolve.c, save.c, tag.c,
541 blkid.h, blkidP.h: Separate public and private
542 interfaces into separate header files. Start
543 separating internal implementation details from the
544 publically exported interface.
546 * devname.c: Add support for EVMS
548 * blkid.h, cache.c, dev.c, devname.c, devno.c, probe.c, probe.h,
549 read.c, resolve.c, save.c, tag.c: Fix gcc -Wall nits.
551 2003-01-24 Theodore Ts'o <tytso@mit.edu>
553 * save.c (blkid_save_cache): Use mkstemp() instead mktemp().
555 2002-10-04 Jordan Breeding <jordan.breeding@attbi.com>
557 * Forward port to e2fsprogs 1.30
559 2001-09-20 Andreas Dilger <adilger@turbolinux.com>
561 * Initial release of libblkid.