summaryrefslogtreecommitdiffstats
path: root/sys/fs/ext2fs/ext2_extern.h
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2011-04-28 14:27:17 +0000
committerjhb <jhb@FreeBSD.org>2011-04-28 14:27:17 +0000
commit574178d5e64458a7d476b3ea904f91a72301bfa4 (patch)
tree5c411cd76f416c4ad8905361c5890b5ff3a6729c /sys/fs/ext2fs/ext2_extern.h
parentbc631ee68ae9daba50a7e7580cf277699922168f (diff)
downloadFreeBSD-src-574178d5e64458a7d476b3ea904f91a72301bfa4.zip
FreeBSD-src-574178d5e64458a7d476b3ea904f91a72301bfa4.tar.gz
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
Diffstat (limited to 'sys/fs/ext2fs/ext2_extern.h')
-rw-r--r--sys/fs/ext2fs/ext2_extern.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/fs/ext2fs/ext2_extern.h b/sys/fs/ext2fs/ext2_extern.h
index 60905cb..821809f 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;
OpenPOWER on IntegriCloud