diff options
author | John Baldwin <jhb@FreeBSD.org> | 2011-04-28 14:27:17 +0000 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2011-04-28 14:27:17 +0000 |
commit | 9e880b876dea266a295d6f114724ba88bde68cbb (patch) | |
tree | 5c411cd76f416c4ad8905361c5890b5ff3a6729c /sys/fs/ext2fs/ext2_extern.h | |
parent | cd0f42fa9f97d519dd541611e6f7fed7fb2dcfbe (diff) | |
download | src-9e880b876dea266a295d6f114724ba88bde68cbb.tar.gz src-9e880b876dea266a295d6f114724ba88bde68cbb.zip |
Sync with several changes in UFS/FFS:
- 77115: Implement support for O_DIRECT.
- 98425: Fix a performance issue introduced in 70131 that was causing
reads before writes even when writing full blocks.
- 98658: Rename the BALLOC flags from B_* to BA_* to avoid confusion with
the struct buf B_ flags.
- 100344: Merge the BA_ and IO_ flags so so that they may both be used in
the same flags word. This merger is possible by assigning the IO_ flags
to the low sixteen bits and the BA_ flags the high sixteen bits.
- 105422: Fix a file-rewrite performance case.
- 129545: Implement IO_INVAL in VOP_WRITE() by marking the buffer as
"no cache".
- Readd the DOINGASYNC() macro and use it to control asynchronous writes.
Change i-node updates to honor DOINGASYNC() instead of always being
synchronous.
- Use a PRIV_VFS_RETAINSUGID check instead of checking cr_uid against 0
directly when deciding whether or not to clear suid and sgid bits.
Submitted by: Pedro F. Giffuni giffunip at yahoo
Notes
Notes:
svn path=/head/; revision=221166
Diffstat (limited to 'sys/fs/ext2fs/ext2_extern.h')
-rw-r--r-- | sys/fs/ext2fs/ext2_extern.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/fs/ext2fs/ext2_extern.h b/sys/fs/ext2fs/ext2_extern.h index 60905cbca3ac..821809f7c335 100644 --- a/sys/fs/ext2fs/ext2_extern.h +++ b/sys/fs/ext2fs/ext2_extern.h @@ -81,11 +81,13 @@ int ext2_checkpath(struct inode *, struct inode *, struct ucred *); int cg_has_sb(int i); int ext2_inactive(struct vop_inactive_args *); -/* Flags to low-level allocation routines. */ -#define B_CLRBUF 0x01 /* Request allocated buffer be cleared. */ -#define B_SYNC 0x02 /* Do all allocations synchronously. */ -#define B_METAONLY 0x04 /* Return indirect block buffer. */ -#define B_NOWAIT 0x08 /* do not sleep to await lock */ +/* Flags to low-level allocation routines. + * The low 16-bits are reserved for IO_ flags from vnode.h. + */ +#define BA_CLRBUF 0x00010000 /* Clear invalid areas of buffer. */ +#define BA_SEQMASK 0x7F000000 /* Bits holding seq heuristic. */ +#define BA_SEQSHIFT 24 +#define BA_SEQMAX 0x7F extern struct vop_vector ext2_vnodeops; extern struct vop_vector ext2_fifoops; |