X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Finclude%2Finterval_tree.h;h=2b0d39175958a414d829ccbb689ad0f90dc3496e;hb=de7fe0875bf906416bbcbc650cd30895cb3aaffd;hp=117d5c0a9e11ed4155f133072290b0c224019974;hpb=6869932b552ac705f411de3362f01bd50c1f6f7d;p=fs%2Flustre-release.git diff --git a/lustre/include/interval_tree.h b/lustre/include/interval_tree.h index 117d5c0..2b0d391 100644 --- a/lustre/include/interval_tree.h +++ b/lustre/include/interval_tree.h @@ -26,7 +26,7 @@ * GPL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved + * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. */ /* @@ -48,8 +48,10 @@ struct interval_node { struct interval_node *in_left; struct interval_node *in_right; struct interval_node *in_parent; - __u8 in_color; - __u8 res1[7]; /* tags, 8-bytes aligned */ + unsigned in_color:1, + in_intree:1, /** set if the node is in tree */ + in_res1:30; + __u8 in_res2[4]; /** tags, 8-bytes aligned */ __u64 in_max_high; struct interval_node_extent { __u64 start; @@ -62,6 +64,11 @@ enum interval_iter { INTERVAL_ITER_STOP = 2 }; +static inline int interval_is_intree(struct interval_node *node) +{ + return node->in_intree == 1; +} + static inline __u64 interval_low(struct interval_node *node) { return node->in_extent.start;