move segment usage count into kernel + improve snapshot usage count