summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/ctree.h
diff options
context:
space:
mode:
authorChris Mason2007-04-19 21:36:27 +0200
committerDavid Woodhouse2007-04-19 21:36:27 +0200
commit7e38180e207c8707691c12395e990a5d583c5e71 (patch)
tree50fc0973873f7bc9455a1faf536a5a5b4681fe56 /fs/btrfs/ctree.h
parentBtrfs: many file_write fixes, inline data (diff)
downloadkernel-qcow2-linux-7e38180e207c8707691c12395e990a5d583c5e71.tar.gz
kernel-qcow2-linux-7e38180e207c8707691c12395e990a5d583c5e71.tar.xz
kernel-qcow2-linux-7e38180e207c8707691c12395e990a5d583c5e71.zip
Btrfs: directory inode index is back
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/ctree.h')
-rw-r--r--fs/btrfs/ctree.h58
1 files changed, 17 insertions, 41 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index f1800008be34..d628a3b9441c 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -185,11 +185,6 @@ struct btrfs_inode_item {
struct btrfs_inode_timespec otime;
} __attribute__ ((__packed__));
-/* inline data is just a blob of bytes */
-struct btrfs_inline_data_item {
- u8 data;
-} __attribute__ ((__packed__));
-
struct btrfs_dir_item {
struct btrfs_disk_key location;
__le16 flags;
@@ -293,9 +288,6 @@ struct btrfs_root {
#define BTRFS_KEY_TYPE_MASK (((u32)BTRFS_KEY_TYPE_MAX - 1) << \
BTRFS_KEY_TYPE_SHIFT)
-#define BTRFS_KEY_OVERFLOW_MAX 128
-#define BTRFS_KEY_OVERFLOW_MASK ((u32)BTRFS_KEY_OVERFLOW_MAX - 1)
-
/*
* inode items have the data typically returned from stat and store other
* info about object characteristics. There is one for every file and dir in
@@ -621,31 +613,6 @@ static inline void btrfs_set_key_type(struct btrfs_key *key, u32 val)
key->flags = (key->flags & ~(BTRFS_KEY_TYPE_MASK)) | val;
}
-static inline u32 btrfs_key_overflow(struct btrfs_key *key)
-{
- return key->flags & BTRFS_KEY_OVERFLOW_MASK;
-}
-
-static inline void btrfs_set_key_overflow(struct btrfs_key *key, u32 over)
-{
- BUG_ON(over >= BTRFS_KEY_OVERFLOW_MAX);
- key->flags = (key->flags & ~BTRFS_KEY_OVERFLOW_MASK) | over;
-}
-
-static inline u32 btrfs_disk_key_overflow(struct btrfs_disk_key *key)
-{
- return le32_to_cpu(key->flags) & BTRFS_KEY_OVERFLOW_MASK;
-}
-
-static inline void btrfs_set_disk_key_overflow(struct btrfs_disk_key *key,
- u32 over)
-{
- u32 flags = btrfs_disk_key_flags(key);
- BUG_ON(over >= BTRFS_KEY_OVERFLOW_MAX);
- flags = (flags & ~BTRFS_KEY_OVERFLOW_MASK) | over;
- btrfs_set_disk_key_flags(key, flags);
-}
-
static inline u64 btrfs_header_blocknr(struct btrfs_header *h)
{
return le64_to_cpu(h->blocknr);
@@ -1079,15 +1046,24 @@ int btrfs_find_last_root(struct btrfs_root *root, u64 objectid, struct
int btrfs_insert_dir_item(struct btrfs_trans_handle *trans, struct btrfs_root
*root, const char *name, int name_len, u64 dir,
struct btrfs_key *location, u8 type);
-int btrfs_lookup_dir_item(struct btrfs_trans_handle *trans, struct btrfs_root
- *root, struct btrfs_path *path, u64 dir,
- const char *name, int name_len, int mod);
-int btrfs_lookup_dir_index_item(struct btrfs_trans_handle *trans,
- struct btrfs_root *root,
- struct btrfs_path *path, u64 dir,
- u64 objectid, int mod);
-int btrfs_match_dir_item_name(struct btrfs_root *root, struct btrfs_path *path,
+struct btrfs_dir_item *btrfs_lookup_dir_item(struct btrfs_trans_handle *trans,
+ struct btrfs_root *root,
+ struct btrfs_path *path, u64 dir,
+ const char *name, int name_len,
+ int mod);
+struct btrfs_dir_item *
+btrfs_lookup_dir_index_item(struct btrfs_trans_handle *trans,
+ struct btrfs_root *root,
+ struct btrfs_path *path, u64 dir,
+ u64 objectid, const char *name, int name_len,
+ int mod);
+struct btrfs_dir_item *btrfs_match_dir_item_name(struct btrfs_root *root,
+ struct btrfs_path *path,
const char *name, int name_len);
+int btrfs_delete_one_dir_name(struct btrfs_trans_handle *trans,
+ struct btrfs_root *root,
+ struct btrfs_path *path,
+ struct btrfs_dir_item *di);
/* inode-map.c */
int btrfs_find_free_objectid(struct btrfs_trans_handle *trans,
struct btrfs_root *fs_root,