rem: return B_OK;
add: int device = open(deviceName, O_RDONLY); err = device < B_OK ? device : B_OK; if (!err) { if (ioctl(device, B_GET_GEOMETRY, &geometry) == 0) { deviceSize = (off_t)geometry.sectors_per_track * geometry.cylinder_count * geometry.head_count; } else { err = errno; } }   if (!err) { volume = new UDF::Volume(nsid); err = volume ? B_OK : B_NO_MEMORY; } if (!err) { err = volume->Mount(deviceName, 0, deviceSize, flags, 2048); }  if (!err) { if (rootID) *rootID = 0; if (volumeCookie) *volumeCookie = volume;  dprintf("new_vnode(root) = %d\n", new_vnode(nsid, *rootID, (void*)23)); }  RETURN(err);
context: udf_mount(nspace_id nsid, const char *deviceName, ulong flags, void *parms,		size_t parmsLength, void **volumeCookie, vnode_id *rootID){	FUNCTION();	if (rootID)		*rootID = 0;	if (volumeCookie)		*volumeCookie = new char[1];	dprintf("new_vnode(root) = %d\n", new_vnode(nsid, *rootID, (void*)23));	return B_OK;	}