717e1785a5
Introduce a per-FS rename lock and new vfsops to manipulate it. Get this lock while renaming. Also add another relookup() in do_sys_rename, which is a hack to kludge around some of the worst deficiencies of ufs_rename. reviewed-by: pooka (and an earlier rev by ad) posted on tech-kern with no objections.
33 lines
887 B
C
33 lines
887 B
C
/* $NetBSD: genfs.h,v 1.23 2008/01/28 14:31:18 dholland Exp $ */
|
|
|
|
int genfs_badop(void *);
|
|
int genfs_nullop(void *);
|
|
int genfs_enoioctl(void *);
|
|
int genfs_enoextops(void *);
|
|
int genfs_einval(void *);
|
|
int genfs_eopnotsupp(void *);
|
|
int genfs_ebadf(void *);
|
|
int genfs_nolock(void *);
|
|
int genfs_noislocked(void *);
|
|
int genfs_nounlock(void *);
|
|
|
|
int genfs_poll(void *);
|
|
int genfs_kqfilter(void *);
|
|
int genfs_fcntl(void *);
|
|
int genfs_seek(void *);
|
|
int genfs_abortop(void *);
|
|
int genfs_revoke(void *);
|
|
int genfs_lock(void *);
|
|
int genfs_islocked(void *);
|
|
int genfs_unlock(void *);
|
|
int genfs_mmap(void *);
|
|
int genfs_getpages(void *);
|
|
int genfs_putpages(void *);
|
|
int genfs_null_putpages(void *);
|
|
int genfs_compat_getpages(void *);
|
|
|
|
int genfs_do_putpages(struct vnode *, off_t, off_t, int, struct vm_page **);
|
|
|
|
int genfs_renamelock_enter(struct mount *);
|
|
void genfs_renamelock_exit(struct mount *);
|