Re: I want a sysctl kern.allow_shooting_into_my_foot!

[ Available lists | Index of freebsd-current | Month of Jan 2003 | Week of 22 Jan 2003 | Raw email | View thread | Wrap long lines | Reply | Tag ]
From
Bernd Walter <ticso@cicely8.cicely.de>
Date
22 Jan 2003 05:48:44
Subject
Re: I want a sysctl kern.allow_shooting_into_my_foot!
Message-ID
20030122134820.GD758@cicely8.cicely.de

In reply to
Referenced by

[ Hide this part ]
On Wed, Jan 22, 2003 at 02:40:28PM +0100, phk@freebsd.org wrote:
> In message <20030122135320.A70341@uriah.heep.sax.de>, Joerg Wunsch writes:
>
> >Here's the result. What does it mean to me? (debug flag set from
> >DDB, and turned off in single-user again.)
>
> Here's the bug:
>
> g_dev_open(da1a, 3, 0, 0)
>
> da1a opened (FREAD|FWRITE)
>
> g_access_rel(0xc1178a40(da1a), 1, 1, 0)
> open delta:[r1w1e0] old:[r0w0e0] provider:[r0w0e0] 0xc11d4f00(da1a)
> g_post_event(2, 0, 0, 0xc11d4f00, 0xc1178a40)
> g_access_rel(0xc1178f40(da1), 1, 1, 1)
> open delta:[r1w1e1] old:[r0w0e0] provider:[r0w0e0] 0xc1194d00(da1)
> g_post_event(2, 0, 0, 0xc1194d00, 0xc1178f40)
> g_disk_access(da1, 1, 1, 1)
> g_do_event(0xc1178780) 2 m:0 g:0 p:0xc11d4f00 c:0xc1178a40 -
> EV_SPOILED(0xc11d4f00(da1a),0xc1178a40)
> g_do_event(0xc1178740) 2 m:0 g:0 p:0xc1194d00 c:0xc1178f40 -
> EV_SPOILED(0xc1194d00(da1),0xc1178f40)
> spoiling 0xc1178e40 (da1) (0)
> g_dev_close(da1a, 0, 0, 0)
>
> da1a closed but without FREAD|FWRITE, which turns the close into a no-op.

[125]cicely5# grep d_open *
grep: CVS: Operation not permitted
vinumext.h:d_open_t vinumopen;
vinumio.c: drive->lasterror = (dsw->d_open) (drive->dev, FWRITE | FREAD, 0, NULL);
Exit 2
[126]cicely5# grep d_close *
grep: CVS: Operation not permitted
vinumext.h:d_close_t vinumclose;
vinumio.c: error = (*devsw(drive->dev)->d_close) (drive->dev, 0, 0, NULL);
Exit 2

You are saying that the close should read?
error = (*devsw(drive->dev)->d_close) (drive->dev, FWRITE | FREAD, 0, NULL);

--
B.Walter COSMO-Project http://www.cosmo-project.de
ticso@cicely.de Usergroup info@cosmo-project.de


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Elapsed time: 0.116 seconds