Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Oct 2009 20:50:15 GMT
From:      Dirk-Willem van Gulik <dirkx@webweaving.org>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   kern/139549: reconnecting a firewire disk does not cause the disklabel to update correctly/invalidate the cache
Message-ID:  <200910122050.n9CKoFxv028869@www.freebsd.org>
Resent-Message-ID: <200910122100.n9CL065g064796@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         139549
>Category:       kern
>Synopsis:       reconnecting a firewire disk does not cause the disklabel to update correctly/invalidate the cache
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Oct 12 21:00:06 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Dirk-Willem van Gulik
>Release:        7.2-Release
>Organization:
Private Individual
>Environment:
FreeBSD  7.2-RELEASE FreeBSD 7.2-RELEASE #0: Sun Oct 11 14:20:49 CEST 2009     root@:/usr/src/sys/i386/compile/GENERIC  i386

>Description:
Connecting a different firewire disk whilst _not_ changing the enclosure does not cause the disklabel to be updated correctly. I.e. some older cached entry is seen.


>How-To-Repeat:
Required
- machine with 7.2
- ONE firewire enclosure
- two disks which can be plugged into above enclosure; one at the time,

To reproduce:

0) Create two formatted IDE disk; e.g. one with a single s1c partition covering the whole disk and the other with a few s1a, s1d or similar - i.e. a default freebsd install.

1) Install 7.2 as-is.

2) Wire the first disk into the enclosure; and plug it into firewire. 

3) Usual dmesg/camcontrol status will show it is there.

4) Check you can mount something like 'mount /dev/da4s1c' as expected.

5) Now unplug the firewire; and swap the second disk into the enclosure.

6) Plug in the firewire - and observe dmesg to pick it up.

HOWEVER notice that the /dev/da4*** entry is still the same - it has not updated for the fact that disk 2 contained a a, d, e and f partition.




>Fix:
Sometimes (though not always) a 'disklabel -e' followed by a write of the label will cause the /dev/ devices to update.

However this only seems to be the case for some labels - NTFS, FAT and various linux partitions do not seem to be that easily 'seen'.

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200910122050.n9CKoFxv028869>