2003-03-17 Theodore Ts'o * getsize.c (blkid_get_dev_size): Fix Apple Darwin port. 2003-03-06 * devname.c (probe_one): Fix bug; if a partition has no known type, don't derference a null pointer and crash. 2003-03-06 Theodore Tso * blkid_types.h.in: Don't redefine types if other e2fsprogs *_types.h files have been included already. * list.h, probe.h: Use static inline instead of extern inline to comply with C99 inline support. * devname.c (blkid_probe_all): Avoid GCC extension; don't initialize an array with the address of an automatic variable. * Makefile.in: Eliminate -Wall as a C compiler option by default; it's not portable. 2003-03-02 Theodore Ts'o * Makefile.in: Don't install list.h, since it's not used by the public blkid.h file. * blkid_types.h.in: Change #ifndef protection to use _BLKID_TYPES_H 2003-03-01 Theodore Ts'o * tag.c (blkid_set_tag): Fix bug; don't return an error when deleting a tag by setting the value to NULL. This caused a failed device verification to loop forever in blkid_verify_devname(). * resolve.c (main): Update debugging test program so that it compiles with the latest blkid API changes. * libblkid.3.in: Update manual page to reflect recent API changes. * resolve.c (blkid_get_tag_value): If the passed-in cache is NULL, then get and release a temporary cache as a convenience to the calling application. (blkid_get_devname): If the passed in token does not contain an '=', and value is NULL, then return the passed in token. * read.c (blkid_read_cache): Don't return 0 since blkid_read_cache now returns void. * blkid.h: Add include of sys/types.h, since we use dev_t 2003-02-27 Theodore Ts'o * resolve.c (blkid_get_tag_value): Rename function (used to be blkid_get_tagname_devname) 2003-02-22 Theodore Ts'o * devname.c (blkid_probe_all), tag.c (blkid_find_dev_with_tag): Call blkid_read_cache to make sure the in-core version of the data structure is the latest. After probing all of the devices in blkid_probe_all() force the cache file to be written out, the probe_all represents a lot of effort that shouldn't be lost. * tag.c (blkid_set_tag): Always replace an existing tag with the new value; we no longer suppor multiple tags with the same value attached to a device, as this was never really supported well, and significantly increased the code complexity. * probe.c (probe_ext2): Change handling of ext2/ext3 filesystems. Ext3 filesystems are now always treated as ext2 filesystems, with a special SEC_TYPE tag set to ext3. This was necessary because we now longer support multiple tags with the same name attached to a device. * save.c (save_dev): Don't special case the TYPE tag; just write it out along with all of the normal tags. (blkid_flush_cache): Eliminate special case code for stdout. * cache.c (blkid_new_cache, blkid_get_cache): Eliminate blkid_new_cache and fold into blkid_get_cache (moved to cache.c) * read.c (blkid_read_cache): New function created from blkid_get_cache which used to be in read.c that only updates the in-core cache data structure from the file. Uses the file modification time of the cache file to determine whether the cache file needs to be re-read. * cache.c, dev.c, devname.c, devno.c, probe.c, read.c, resolve.c, save.c, tag.c, blkidP.h: Add dynamic debugging capabilities, controlled by the environment variable BLKID_DEBUG. 2003-02-16 Theodore Ts'o * blkid.h, dev.c, devname.c, probe.c, read.c, resolve.c: Rename blkid_get_devname() to blkid_get_dev(). Also rename blkid_get_token() to blkid_get_devname(). This more accurately describes what these functions do. 2003-02-14 Theodore Ts'o * blkidP.h, devname.c (blkid_get_devname), read.c (parse_tag), save.c (save_dev): Remove bid_id, as it is not used for anything. * Makefile.in (blkid): When building the blkid, don't link against the shared blkid library; link only against the static blkid library. * blkidP.h (struct blkid_struct_dev): Remove bid_size and bid_devsize (since they aren't used any more) and add bid_pri to the device structure. * devname.c (probe_one, lvm_probe_all, evms_probe_all, blkid_probe_all): Set the bid_pri filed in the device structure depending on type of device so that EVMS, LVM, and MD devices get priority over normal devices. * tag.c (blkid_find_dev_with_tag): When looking for a device that matches the search criteria, return the one with the largest priority (bid_pri). * save.c (save_dev): Write out the PRI tag from bid_pri. * read.c (parse_tag): Parse the PRI tag and store its value in bid_pri. * probe.c (blkid_verify_devname): If the device does not exist (open returns ENOENT), treat this as a fatal error and release the device. After verifying the device, set the cache as being modified so the changes are written out. * resolve.c (main): Change the test driver to get a blkid cache and pass it to blkid_get_tagname_devname and blkid_get_token, as the cache is no longer optional. 2003-02-12 Theodore Ts'o * blkid.h, blkidP.h, cache.c, dev.c, devname.c, devno.c, probe.c, probe.h, read.c, resolve.c, save.c, tag.c: Wholesale changes to library to simplify the implementation and shrink its size. Change library version to be 1.0. 2003-01-27 Theodore Ts'o * read.c (parse_tag): Do not return that blkid_tag when parsing the blkid.tag file. * resolve.c (blkid_get_token, blkid_get_tagname_devname): Fold in code from removed functions * tag.c (blkid_create_tag): Don't return the newly tag strcture any more, as it's not needed. (blkid_find_tag_cache, blkid_get_tag_cache, blkid_token_to_tag, blkid_find_tv_tags): Remove these functions, as they are either only used once or have interfaces that should be deprecated. (blkid_find_tag_dev, blkid_find_head_cache): Replace use of blkid_tag with one or two const char * type/value arguments. (blkid_find_dev_with_tag): Fold in code from removed functions * probe.h, probe.c: Use a more sophisticated set of byte-swapping routines which are more compact and efficient. Drop calculation of bid_free, since it's unnecessary. Avoid * save.c (blkid_save_cache): Set the permissions on the blkid cache file to 644. 2003-01-25 Theodore Ts'o * cache.c, dev.c, devname.c, devno.c, getsize.c, llseek.c, probe.c, probe.h, read.c, resolve.c, save.c, tag.c, blkid.h, blkidP.h: Separate public and private interfaces into separate header files. Start separating internal implementation details from the publically exported interface. * devname.c: Add support for EVMS * blkid.h, cache.c, dev.c, devname.c, devno.c, probe.c, probe.h, read.c, resolve.c, save.c, tag.c: Fix gcc -Wall nits. 2003-01-24 Theodore Ts'o * save.c (blkid_save_cache): Use mkstemp() instead mktemp(). 2002-10-04 Jordan Breeding * Forward port to e2fsprogs 1.30 2001-09-20 Andreas Dilger * Initial release of libblkid.