From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Mon, 23 May 2005 14:47:17 -0500 From: Sam To: 9fans@cse.psu.edu Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Subject: [9fans] device close Topicbox-Message-UUID: 50cab2ae-ead0-11e9-9d60-3106f5b1d025 In my aoe driver I'm getting closes on QIDs that were never opened: (assuming devaoe is bound to the CWD) rb1# echo bind /net/ether1 >aoectl aoeopen: c->qid.path=0x2 aoeclose: c->qid.path=0x2 rb1# cd aoe2.9 rb1# ls -l aoeclose: c->qid.path=0x16 aoeopen: c->qid.path=0x16 aoeclose: c->qid.path=0x16 --rw-rw-rw- 0 dennis dennis 0 May 23 14:44 config --rw-rw-rw- 0 dennis dennis 0 May 23 14:44 ctl --rw-rw-rw- 0 dennis dennis 41174138880 May 23 14:44 data --r--r--r-- 0 dennis dennis 0 May 23 14:44 stat rb1# ls -l data aoeclose: c->qid.path=0x19 aoe2.9 data close (nopen=0) called from 8016c789 --rw-rw-rw- 0 dennis dennis 41174138880 May 23 14:44 data 8016c789 is in cclose. (which is obvious now) I had hoped to keep a reference count on data so i can know whether or not it's safe to switch to a new disk on the same blade. I don't think it's very fair to change disks while a proc is holding the device open for IO. Devwalk seems to be the immediate culprit, but I don't think it's wrong. How would one do ref counting in the face of dup'ing channels and potentially open references using the dev architecture? Cheers, Sam