Changeset View
Changeset View
Standalone View
Standalone View
sys/ufs/ffs/ffs_snapshot.c
Show First 20 Lines • Show All 276 Lines • ▼ Show 20 Lines | if (error) { | ||||
else | else | ||||
vput(nd.ni_dvp); | vput(nd.ni_dvp); | ||||
return (error); | return (error); | ||||
} | } | ||||
VATTR_NULL(&vat); | VATTR_NULL(&vat); | ||||
vat.va_type = VREG; | vat.va_type = VREG; | ||||
vat.va_mode = S_IRUSR; | vat.va_mode = S_IRUSR; | ||||
vat.va_vaflags |= VA_EXCLUSIVE; | vat.va_vaflags |= VA_EXCLUSIVE; | ||||
if (VOP_GETWRITEMOUNT(nd.ni_dvp, &wrtmp)) | if (VOP_GETWRITEMOUNT(nd.ni_dvp, &wrtmp, 0)) | ||||
wrtmp = NULL; | wrtmp = NULL; | ||||
if (wrtmp != mp) | if (wrtmp != mp) | ||||
panic("ffs_snapshot: mount mismatch"); | panic("ffs_snapshot: mount mismatch"); | ||||
vfs_rel(wrtmp); | vfs_rel(wrtmp); | ||||
if (vn_start_write(NULL, &wrtmp, V_NOWAIT) != 0) { | if (vn_start_write(NULL, &wrtmp, V_NOWAIT) != 0) { | ||||
NDFREE(&nd, NDF_ONLY_PNBUF); | NDFREE(&nd, NDF_ONLY_PNBUF); | ||||
vput(nd.ni_dvp); | vput(nd.ni_dvp); | ||||
if ((error = vn_start_write(NULL, &wrtmp, | if ((error = vn_start_write(NULL, &wrtmp, | ||||
▲ Show 20 Lines • Show All 2,430 Lines • Show Last 20 Lines |