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?

0 ответов

Другие вопросы по тегам