NFS SetAttr для ModifiedDate
Я использую некодривскую библиотеку. И мне нужно добавить функциональность, чтобы изменить дату последнего изменения файла. Нашел метод SetAttr. NFSv3.cs И применить аналогично функции SetFileSize, чтобы установить дату изменения:
public void SetLastModifiedDate(string FileFullName, DateTime LastModified)
{
if (_ProtocolV3 == null)
{ throw new NFSConnectionException("NFS Client not connected!"); }
if (_MountProtocolV3 == null)
{ throw new NFSMountConnectionException("NFS Device not connected!"); }
NFSAttributes Attributes = GetItemAttributes(FileFullName);
SetAttributeArguments dpArgSAttr = new SetAttributeArguments();
NFSTimeValue lastModified = new NFSTimeValue();
lastModified.Seconds = (int)(LastModified - new DateTime(1970, 1, 1)).TotalSeconds;
dpArgSAttr.Handle = new NFSHandle(Attributes.Handle, V3.RPC.NFSv3Protocol.NFS_V3);
dpArgSAttr.Attributes = new MakeAttributes();
dpArgSAttr.Attributes.LastAccessedTime = new NFSTimeValue();
dpArgSAttr.Attributes.ModifiedTime = lastModified;
dpArgSAttr.Attributes.SetModifiedTime = TimeHow.SET_TO_CLIENT_TIME;
dpArgSAttr.Attributes.Mode = Attributes.Mode;
dpArgSAttr.Attributes.UserID = -1;
dpArgSAttr.Attributes.GroupID = -1;
dpArgSAttr.Attributes.SetSize = false;
dpArgSAttr.GuardCreateTime = new NFSTimeValue();
dpArgSAttr.GuardCheck = false;
ResultObject<SetAttributeAccessOK, SetAttributeAccessFAIL> pAttrStat =
_ProtocolV3.NFSPROC3_SETATTR(dpArgSAttr);
if (pAttrStat == null || pAttrStat.Status != NFSStats.NFS_OK)
{
if (pAttrStat == null)
{ throw new NFSGeneralException("NFSPROC3_SETATTR: failure"); }
ExceptionHelpers.ThrowException(pAttrStat.Status);
}
}
К сожалению, я получаю сообщение об ошибке: Во время операции SETATTR обнаружено несоответствие синхронизации обновления. Код ошибки: NFSERR_NOT_SYNC = 10002
Экспорт файла:
/ home / nfs * (rw)
Может кто-нибудь посоветовать, что может быть не так? может быть просто конфигурация NFS?