summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKay Sievers <kay.sievers@vrfy.org>2008-11-13 21:44:28 +0100
committerKay Sievers <kay.sievers@vrfy.org>2008-11-13 21:44:28 +0100
commit510af2e9397373a562aa66f9a8027980057bfa09 (patch)
treeda2545878ed9d6ff77b99148daecb438b87e2b0b
parent8c7630b704f2a106a2cd6192c89e2d8a7cd0ff31 (diff)
volume_id: ntfs - mark as no other fs must match
-rw-r--r--NEWS14
-rw-r--r--extras/volume_id/lib/ntfs.c3
2 files changed, 16 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index aec8bb330b..b102ba37a3 100644
--- a/NEWS
+++ b/NEWS
@@ -14,6 +14,20 @@ functionality.
Installations which support old kernels, but install current default
udev rules may need to add that to the compat rules file.
+Libvolume_id now always probes for all known filesystems, and does not
+stop at the first match. Some filesystems are marked as "exclusive probe"
+and if one of these filesytem types match, libvolume_id will not return
+a probing result if any other filesystem type matches. This is intended
+to help with conflicting left-over signatures from earlier file system
+formats. That way, we no longer depend on the probing order for competing
+signatures.
+In some cases the kernel allows to mount a volume with the old filesystem
+type, before it has been re-formatted with a different type. This can
+damage the new filesystem and lead to data loss. Because volume_id can
+not decide which is the correct signature, the wrong signatures need to
+be removed manually from the volume, or the volume needs to be reformatted
+to make filesystem auto-detection and possible auto-mounting working.
+
udev 132
========
diff --git a/extras/volume_id/lib/ntfs.c b/extras/volume_id/lib/ntfs.c
index f861b4bf28..b322c77dbd 100644
--- a/extras/volume_id/lib/ntfs.c
+++ b/extras/volume_id/lib/ntfs.c
@@ -195,6 +195,7 @@ int volume_id_probe_ntfs(struct volume_id *id, uint64_t off, uint64_t size)
volume_id_set_usage(id, VOLUME_ID_FILESYSTEM);
id->type = "ntfs";
-
+ /* we think this is ntfs, but we make sure no other signatures are found */
+ id->force_unique_result = 1;
return 0;
}