#if defined(AFS_LINUX26_ENV)
struct file *
-afs_linux_raw_open(afs_dcache_id_t *ainode, ino_t *hint)
+afs_linux_raw_open(afs_dcache_id_t *ainode)
{
struct inode *tip = NULL;
struct dentry *dp = NULL;
osi_Panic("Can't get dentry\n");
tip = dp->d_inode;
#endif
+
+#if defined(S_NOATIME)
+ tip->i_flags |= S_NOATIME; /* Disable updating access times. */
+#else
tip->i_flags |= MS_NOATIME; /* Disable updating access times. */
+#endif
#if defined(STRUCT_TASK_HAS_CRED)
filp = dentry_open(dp, mntget(afs_cacheMnt), O_RDWR, current_cred());
#else
osi_Panic("Can't open inode %d\n", (int) ainode->ufs);
#endif
- if (hint)
- *hint = tip->i_ino;
return filp;
}
}
if (!afs_osicred_initialized) {
/* valid for alpha_osf, SunOS, Ultrix */
- memset((char *)&afs_osi_cred, 0, sizeof(AFS_UCRED));
+ memset(&afs_osi_cred, 0, sizeof(afs_ucred_t));
crhold(&afs_osi_cred); /* don't let it evaporate, since it is static */
afs_osicred_initialized = 1;
}
}
memset(afile, 0, sizeof(struct osi_file));
- afile->filp = afs_linux_raw_open(ainode, &afile->inum);
+ afile->filp = afs_linux_raw_open(ainode);
afile->size = i_size_read(FILE_INODE(afile->filp));
AFS_GLOCK();
afile->offset = 0;
}
if (!afs_osicred_initialized) {
/* valid for alpha_osf, SunOS, Ultrix */
- memset((char *)&afs_osi_cred, 0, sizeof(AFS_UCRED));
+ memset(&afs_osi_cred, 0, sizeof(afs_ucred_t));
crhold(&afs_osi_cred); /* don't let it evaporate, since it is static */
afs_osicred_initialized = 1;
}
AFS_GLOCK();
afile->offset = 0;
afile->proc = (int (*)())0;
- afile->inum = ainode->ufs; /* for hint validity checking */
return (void *)afile;
}
#endif
{
register afs_int32 code;
AFS_STATCNT(osi_Stat);
- MObtainWriteLock(&afs_xosi, 320);
+ ObtainWriteLock(&afs_xosi, 320);
astat->size = i_size_read(OSIFILE_INODE(afile));
#if defined(AFS_LINUX26_ENV)
astat->mtime = OSIFILE_INODE(afile)->i_mtime.tv_sec;
astat->atime = OSIFILE_INODE(afile)->i_atime;
#endif
code = 0;
- MReleaseWriteLock(&afs_xosi);
+ ReleaseWriteLock(&afs_xosi);
return code;
}
code = afs_osi_Stat(afile, &tstat);
if (code || tstat.size <= asize)
return code;
- MObtainWriteLock(&afs_xosi, 321);
+ ObtainWriteLock(&afs_xosi, 321);
AFS_GUNLOCK();
#ifdef STRUCT_INODE_HAS_I_ALLOC_SEM
down_write(&inode->i_alloc_sem);
up_write(&inode->i_alloc_sem);
#endif
AFS_GLOCK();
- MReleaseWriteLock(&afs_xosi);
+ ReleaseWriteLock(&afs_xosi);
return code;
}