On 30.12.2012 09:46, Osier Yang wrote: > On 2012年12月28日 23:59, Michal Privoznik wrote: >> Since sanlock doesn't run under root:root, we have chown()'ed the >> __LIBVIRT__DISKS__ lease file to the user:group defined in the >> sanlock config. However, when writing the patch I've forgot about >> lease files for each disk (this is the >> /var/lib/libvirt/sanlock/<md5>) file. >> --- >> src/locking/lock_driver_sanlock.c | 11 +++++++++++ >> 1 file changed, 11 insertions(+) >> >> diff --git a/src/locking/lock_driver_sanlock.c >> b/src/locking/lock_driver_sanlock.c >> index 75ced84..c955003 100644 >> --- a/src/locking/lock_driver_sanlock.c >> +++ b/src/locking/lock_driver_sanlock.c >> @@ -679,6 +679,17 @@ static int >> virLockManagerSanlockCreateLease(struct sanlk_resource *res) >> } >> VIR_DEBUG("Someone else just created lockspace %s", >> res->disks[0].path); >> } else { >> + /* chown() the path to make sure sanlock can access it */ >> + if ((driver->user != -1 || driver->group != -1)&& >> + (fchown(fd, driver->user, driver->group)< 0)) { >> + virReportSystemError(errno, >> + _("cannot chown '%s' to (%u, %u)"), >> + res->disks[0].path, >> + (unsigned int) driver->user, >> + (unsigned int) driver->group); >> + goto error_unlink; >> + } >> + >> if ((rv = sanlock_align(&res->disks[0]))< 0) { >> if (rv<= -200) >> virReportError(VIR_ERR_INTERNAL_ERROR, > > ACK Thanks, pushed. Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list