Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/dev



On Dec 30,  7:11pm, "Michael van Elst" wrote:
}
} This is a multi-part message in MIME format.
} 
} --_----------=_141996666543200
} Content-Disposition: inline
} Content-Transfer-Encoding: 8bit
} Content-Type: text/plain; charset="US-ASCII"
} 
} Module Name:	src
} Committed By:	mlelstv
} Date:		Tue Dec 30 19:11:05 UTC 2014
} 
} Modified Files:
} 	src/sys/dev: ccd.c
} 
} Log Message:
} Fix locking error.
} Clear EPASSTHROUGH return value from disk_ioctl.
} Add missing wedge ioctls.

     Thanks.  It looks like you need to do this with cgd(4) as
well.  I pulled the wedge stuff from there.  Looks like I should
have chosen a better driver to emulate.  BTW, given that the wedge
stuff is pretty basic and doesn't have much in the way of device
specific code, why isn't it handled in a common function (i.e.
disk_ioctl())?

} To generate a diff of this commit:
} cvs rdiff -u -r1.156 -r1.157 src/sys/dev/ccd.c
} 
} Please note that diffs are not public domain; they are subject to the
} copyright notices on the relevant files.
} 
} 
} --_----------=_141996666543200
} Content-Disposition: inline
} Content-Length: 3804
} Content-Transfer-Encoding: binary
} Content-Type: text/x-diff; charset=us-ascii
} 
} Modified files:
} 
} Index: src/sys/dev/ccd.c
} diff -u src/sys/dev/ccd.c:1.156 src/sys/dev/ccd.c:1.157
} --- src/sys/dev/ccd.c:1.156	Tue Dec 30 12:42:16 2014
} +++ src/sys/dev/ccd.c	Tue Dec 30 19:11:05 2014
} @@ -1288,6 +1300,9 @@ ccdioctl(dev_t dev, u_long cmd, void *da
}  			goto out;
}  		}
}  
} +		/* Delete all of our wedges. */
} +		dkwedge_delall(&cs->sc_dkdev);
} +
}  		/* Stop new I/O, wait for in-flight I/O to complete. */
}  		mutex_enter(cs->sc_iolock);
}  		cs->sc_flags &= ~(CCDF_INITED|CCDF_VLABEL);
} @@ -1337,7 +1352,6 @@ ccdioctl(dev_t dev, u_long cmd, void *da
}  		aprint_normal("%s: detached\n", cs->sc_xname);
}  
}  		/* Detach the disk. */
} -		dkwedge_delall(&cs->sc_dkdev);
}  		disk_detach(&cs->sc_dkdev);
}  		bufq_free(cs->sc_bufq);
}  		ccdput(cs);

     Uh, why delete the wedges prior to I/O completion?

}-- End of excerpt from "Michael van Elst"


Home | Main Index | Thread Index | Old Index