Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Jul 2009 16:04:36 +0200
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        Anthony Chavez <acc@hexadecagram.org>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: Re-starting a gjournal provider
Message-ID:  <20090729140436.GG1586@garage.freebsd.pl>
In-Reply-To: <4A62E0CE.1000508@hexadecagram.org>
References:  <4A62E0CE.1000508@hexadecagram.org>

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

--Dzs2zDY0zgkG72+7
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, Jul 19, 2009 at 03:01:02AM -0600, Anthony Chavez wrote:
> Hello freebsd-fs,
>=20
> I'm trying to get gjournal working on a "removable" hard disk.  I use
> the term loosely, because I'm using a very simple eSATA enclosure: an
> AMS Venus DS5 [1].
>=20
> If I swap out disks, atacontrol cap ad0 seems sufficient enough to
> detect the new drive: the reported device model, serial number, firmware
> revision, and CHS values change as one would expect.
>=20
> My interpretation of [2] section 5.3 and gjournal(8) is that the
> following sequence of commands should ensure me that all write buffers
> have been flushed and bring the system to a point where it is safe to
> remove a disk.
>=20
> sync; sync; sync
> gjournal sync
> umount /dev/ad0s1.journal
> gjournal stop ad0s1.journal

You should first unmount and then call 'gjournal sync'.

> However, once they are executed, /dev/ad0s1.journal disappears and when
> I swap out the disk it doesn't come back.  The only way I've found to
> bring it back is atacontrol detach ata0; atacontrol attach ata0, which
> doesn't seem like a wise thing to do if I have another device on the
> same channel.

It doesn't come back because something (ATA layer?) doesn't properly
remove ad0 provider. When you remove the disk, /dev/ad0 should disappear
and reappear once you insert it again.

You can still do this trick after you insert the disk again so the GEOM
can schedule retaste:

	# true > /dev/ad0

> My question is, do I need to issue gjournal stop before I swap disks?
> And if so, is there any way that I can avoid the atacontrol
> detach/attach cycle that would need to take place before any mount is
> attempted so that /dev/ad0s1.journal appears (if in the drive inserted
> at the time does in fact utilize gjournal; I may want to experiment with
> having disks with either gjournal or soft updates)?
>=20
> And while I'm on the subject, are the (gjournal) syncs commands
> preceeding umount absolutely necessary in the case of removable media?

'gjournal sync' should follow unmount, not the other way around. And its
better to do it, but 'gjournal stop' should do the same.

--=20
Pawel Jakub Dawidek                       http://www.wheel.pl
pjd@FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!

--Dzs2zDY0zgkG72+7
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4 (FreeBSD)

iD8DBQFKcFb0ForvXbEpPzQRAn3BAKDFQ4AkRfSa7Ll0IqIByPC48sSIiACgjH2o
cEJJA+z+AhtRw2LpfPgAChw=
=3vmZ
-----END PGP SIGNATURE-----

--Dzs2zDY0zgkG72+7--



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