|
@@ -88,6 +88,19 @@ typedef unsigned int xfs_buf_flags_t;
|
|
*/
|
|
*/
|
|
#define XFS_BSTATE_DISPOSE (1 << 0) /* buffer being discarded */
|
|
#define XFS_BSTATE_DISPOSE (1 << 0) /* buffer being discarded */
|
|
|
|
|
|
|
|
+/*
|
|
|
|
+ * The xfs_buftarg contains 2 notions of "sector size" -
|
|
|
|
+ *
|
|
|
|
+ * 1) The metadata sector size, which is the minimum unit and
|
|
|
|
+ * alignment of IO which will be performed by metadata operations.
|
|
|
|
+ * 2) The device logical sector size
|
|
|
|
+ *
|
|
|
|
+ * The first is specified at mkfs time, and is stored on-disk in the
|
|
|
|
+ * superblock's sb_sectsize.
|
|
|
|
+ *
|
|
|
|
+ * The latter is derived from the underlying device, and controls direct IO
|
|
|
|
+ * alignment constraints.
|
|
|
|
+ */
|
|
typedef struct xfs_buftarg {
|
|
typedef struct xfs_buftarg {
|
|
dev_t bt_dev;
|
|
dev_t bt_dev;
|
|
struct block_device *bt_bdev;
|
|
struct block_device *bt_bdev;
|
|
@@ -95,6 +108,8 @@ typedef struct xfs_buftarg {
|
|
struct xfs_mount *bt_mount;
|
|
struct xfs_mount *bt_mount;
|
|
unsigned int bt_meta_sectorsize;
|
|
unsigned int bt_meta_sectorsize;
|
|
size_t bt_meta_sectormask;
|
|
size_t bt_meta_sectormask;
|
|
|
|
+ size_t bt_logical_sectorsize;
|
|
|
|
+ size_t bt_logical_sectormask;
|
|
|
|
|
|
/* LRU control structures */
|
|
/* LRU control structures */
|
|
struct shrinker bt_shrinker;
|
|
struct shrinker bt_shrinker;
|