#include "xfs_rmap_btree.h"
#include "xfs_refcount_btree.h"
#include "libfrog/platform.h"
+#include "libfrog/util.h"
#include "libxfs/xfile.h"
#include "libxfs/buf_mem.h"
static int nextfakedev = -1; /* device number to give to next fake device */
+unsigned int PAGE_SHIFT;
+
/*
* Checks whether a given device has a mounted, writable
* filesystem, returns 1 if it does & fatal (just warns
int
libxfs_init(struct libxfs_init *a)
{
+ if (!PAGE_SHIFT)
+ PAGE_SHIFT = log2_roundup(PAGE_SIZE);
xfs_check_ondisk_structs();
xmbuf_libinit();
rcu_init();
#endif
#define PAGE_SIZE getpagesize()
+extern unsigned int PAGE_SHIFT;
#define inode_peek_iversion(inode) (inode)->i_version
#define inode_set_iversion_queried(inode, version) do { \
igeo->ialloc_align = mp->m_dalign;
else
igeo->ialloc_align = 0;
+
+ if (mp->m_sb.sb_blocksize > PAGE_SIZE)
+ igeo->min_folio_order = mp->m_sb.sb_blocklog - PAGE_SHIFT;
+ else
+ igeo->min_folio_order = 0;
}
/* Compute the location of the root directory inode that is laid out by mkfs. */
/* precomputed value for di_flags2 */
uint64_t new_diflags2;
+ /* minimum folio order of a page cache allocation */
+ unsigned int min_folio_order;
+
};
#endif /* __XFS_SHARED_H__ */