Lines Matching refs:osb
324 * Could protect more on osb as it's very short lived.
359 * Must hold local alloc i_mutex and osb->osb_lock to change
490 static inline int ocfs2_sparse_alloc(struct ocfs2_super *osb)
492 if (osb->s_feature_incompat & OCFS2_FEATURE_INCOMPAT_SPARSE_ALLOC)
497 static inline int ocfs2_writes_unwritten_extents(struct ocfs2_super *osb)
502 if (!ocfs2_sparse_alloc(osb))
505 if (osb->s_feature_ro_compat & OCFS2_FEATURE_RO_COMPAT_UNWRITTEN)
510 static inline int ocfs2_supports_append_dio(struct ocfs2_super *osb)
512 if (osb->s_feature_incompat & OCFS2_FEATURE_INCOMPAT_APPEND_DIO)
518 static inline int ocfs2_supports_inline_data(struct ocfs2_super *osb)
520 if (osb->s_feature_incompat & OCFS2_FEATURE_INCOMPAT_INLINE_DATA)
525 static inline int ocfs2_supports_xattr(struct ocfs2_super *osb)
527 if (osb->s_feature_incompat & OCFS2_FEATURE_INCOMPAT_XATTR)
532 static inline int ocfs2_meta_ecc(struct ocfs2_super *osb)
534 if (osb->s_feature_incompat & OCFS2_FEATURE_INCOMPAT_META_ECC)
539 static inline int ocfs2_supports_indexed_dirs(struct ocfs2_super *osb)
541 if (osb->s_feature_incompat & OCFS2_FEATURE_INCOMPAT_INDEXED_DIRS)
546 static inline int ocfs2_supports_discontig_bg(struct ocfs2_super *osb)
548 if (osb->s_feature_incompat & OCFS2_FEATURE_INCOMPAT_DISCONTIG_BG)
553 static inline unsigned int ocfs2_link_max(struct ocfs2_super *osb)
555 if (ocfs2_supports_indexed_dirs(osb))
591 static inline int ocfs2_refcount_tree(struct ocfs2_super *osb)
593 if (osb->s_feature_incompat & OCFS2_FEATURE_INCOMPAT_REFCOUNT_TREE)
602 static inline void ocfs2_set_osb_flag(struct ocfs2_super *osb,
605 spin_lock(&osb->osb_lock);
606 osb->osb_flags |= flag;
607 spin_unlock(&osb->osb_lock);
610 static inline void ocfs2_set_ro_flag(struct ocfs2_super *osb,
613 spin_lock(&osb->osb_lock);
614 osb->osb_flags &= ~(OCFS2_OSB_SOFT_RO|OCFS2_OSB_HARD_RO);
616 osb->osb_flags |= OCFS2_OSB_HARD_RO;
618 osb->osb_flags |= OCFS2_OSB_SOFT_RO;
619 spin_unlock(&osb->osb_lock);
622 static inline int ocfs2_is_hard_readonly(struct ocfs2_super *osb)
626 spin_lock(&osb->osb_lock);
627 ret = osb->osb_flags & OCFS2_OSB_HARD_RO;
628 spin_unlock(&osb->osb_lock);
633 static inline int ocfs2_is_soft_readonly(struct ocfs2_super *osb)
637 spin_lock(&osb->osb_lock);
638 ret = osb->osb_flags & OCFS2_OSB_SOFT_RO;
639 spin_unlock(&osb->osb_lock);
644 static inline int ocfs2_clusterinfo_valid(struct ocfs2_super *osb)
646 return (osb->s_feature_incompat &
651 static inline int ocfs2_userspace_stack(struct ocfs2_super *osb)
653 if (ocfs2_clusterinfo_valid(osb) &&
654 memcmp(osb->osb_cluster_stack, OCFS2_CLASSIC_CLUSTER_STACK,
660 static inline int ocfs2_o2cb_stack(struct ocfs2_super *osb)
662 if (ocfs2_clusterinfo_valid(osb) &&
663 !memcmp(osb->osb_cluster_stack, OCFS2_CLASSIC_CLUSTER_STACK,
669 static inline int ocfs2_cluster_o2cb_global_heartbeat(struct ocfs2_super *osb)
671 return ocfs2_o2cb_stack(osb) &&
672 (osb->osb_stackflags & OCFS2_CLUSTER_O2CB_GLOBAL_HEARTBEAT);
675 static inline int ocfs2_mount_local(struct ocfs2_super *osb)
677 return (osb->s_feature_incompat & OCFS2_FEATURE_INCOMPAT_LOCAL_MOUNT);
680 static inline int ocfs2_uses_extended_slot_map(struct ocfs2_super *osb)
682 return (osb->s_feature_incompat &