From aea98e9ff61f04e7e57fc77cecaada4456d48324 Mon Sep 17 00:00:00 2001 From: tv Date: Fri, 9 May 2008 14:28:37 +0000 Subject: (firstCheck) exclude root fs from found USB discs git-svn-id: http://svn.mandriva.com/svn/soft/draksnapshot/trunk@242420 99302b65-d5f7-0310-b3dd-f8cd6f4e3d94 --- NEWS | 1 + draksnapshot-applet | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/NEWS b/NEWS index 8ebf685..99d8798 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,6 @@ - applet: o do not crash if notify deamon failed on ->show (#40031) + o exclude root fs from found USB discs: Version 0.9 - 3 April 2008, Thierry Vignaud diff --git a/draksnapshot-applet b/draksnapshot-applet index 6e6265b..a44a1ba 100755 --- a/draksnapshot-applet +++ b/draksnapshot-applet @@ -170,6 +170,24 @@ sub configure() { sub firstCheck() { my @discs = grep { $_->{usb_bus} && detect_devices::may_be_a_hd($_) } detect_devices::getSCSI(); + + # find root fs: + my $root; + foreach (cat_("/etc/mtab"), cat_("/proc/mounts")) { + my ($dev, $mntpoint) = split; + if ($mntpoint eq '/') { + $root = $dev; + last; + } + } + + # we just want the basename of the root disc: + $root =~ s!.*/!!; + $root =~ s!\d*$!!; + + # exclude root fs from found USB discs: + @discs = grep { $_ ne $root } map { $_->{device} } @discs; + go2State(@discs ? 'disk_found' : 'okay'); } -- cgit v1.2.1