Beispiel #1
0
        /// <exception cref="Org.Apache.Hadoop.Hdfs.Protocol.QuotaExceededException"/>
        private static bool UnprotectedSetTimes(FSDirectory fsd, INode inode, long mtime,
                                                long atime, bool force, int latest)
        {
            System.Diagnostics.Debug.Assert(fsd.HasWriteLock());
            bool status = false;

            if (mtime != -1)
            {
                inode  = inode.SetModificationTime(mtime, latest);
                status = true;
            }
            if (atime != -1)
            {
                long inodeTime = inode.GetAccessTime();
                // if the last access time update was within the last precision interval, then
                // no need to store access time
                if (atime <= inodeTime + fsd.GetFSNamesystem().GetAccessTimePrecision() && !force)
                {
                    status = false;
                }
                else
                {
                    inode.SetAccessTime(atime, latest);
                    status = true;
                }
            }
            return(status);
        }