John Groves
d5406bd458
dax: add fsdev.c driver for fs-dax on character dax
...
The new fsdev driver provides pages/folios initialized compatibly with
fsdax - normal rather than devdax-style refcounting, and starting out
with order-0 folios.
When fsdev binds to a daxdev, it is usually (always?) switching from the
devdax mode (device.c), which pre-initializes compound folios according
to its alignment. Fsdev uses fsdev_clear_folio_state() to switch the
folios into a fsdax-compatible state.
A side effect of this is that raw mmap doesn't (can't?) work on an fsdev
dax instance. Accordingly, The fsdev driver does not provide raw mmap -
devices must be put in 'devdax' mode (drivers/dax/device.c) to get raw
mmap capability.
In this commit is just the framework, which remaps pages/folios compatibly
with fsdax.
Enabling dax changes:
- bus.h: add DAXDRV_FSDEV_TYPE driver type
- bus.c: allow DAXDRV_FSDEV_TYPE drivers to bind to daxdevs
- dax.h: prototype inode_dax(), which fsdev needs
Suggested-by: Dan Williams <dan.j.williams@intel.com >
Suggested-by: Gregory Price <gourry@gourry.net >
Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com >
Signed-off-by: John Groves <john@groves.net >
Link: https://patch.msgid.link/0100019d311cf904-419e9526-bdaf-4daa-97f1-5060b31a5c9f-000000@email.amazonses.com
Signed-off-by: Ira Weiny <ira.weiny@intel.com >
2026-03-30 08:20:47 -05:00
..
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-03-06 17:49:52 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-03-28 15:23:03 -07:00
2026-02-21 20:03:00 -08:00
2026-03-09 12:34:40 +01:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-03-25 10:40:02 +08:00
2026-02-21 20:03:00 -08:00
2026-01-29 10:06:59 +01:00
2026-02-21 20:03:00 -08:00
2026-03-27 23:39:10 -04:00
2026-02-22 13:12:04 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-03-20 14:18:56 +01:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-03-24 09:14:46 +01:00
2026-02-22 08:26:33 -08:00
2026-03-27 23:34:09 -04:00
2026-02-22 08:26:33 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-25 10:34:23 -08:00
2026-03-26 15:18:45 +01:00
2026-02-27 15:42:14 -05:00
2026-01-02 13:43:41 -05:00
2026-03-18 14:27:11 -07:00
2026-02-21 17:09:51 -08:00
2025-12-01 11:58:06 +02:00
2026-02-21 17:09:51 -08:00
2026-02-21 01:02:28 -08:00
2026-02-21 20:03:00 -08:00
2026-02-21 17:09:51 -08:00
2025-10-20 20:22:26 +02:00
2026-02-21 20:03:00 -08:00
2026-03-27 12:48:10 +01:00
2026-02-25 10:34:23 -08:00
2026-02-22 08:26:33 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-18 20:50:32 -08:00
2026-03-27 12:03:39 -07:00
2026-02-24 11:13:27 -08:00
2026-02-21 17:09:51 -08:00
2026-03-18 11:41:53 -07:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-22 08:26:33 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-03-02 21:05:34 -08:00
2026-03-26 14:25:23 +01:00
2026-02-21 20:03:00 -08:00
2026-02-21 20:03:00 -08:00
2025-11-28 12:42:31 +01:00
2026-01-29 09:39:41 -08:00
2025-12-01 13:45:41 -08:00
2026-01-12 14:01:32 +01:00
2026-02-23 16:09:00 -08:00
2026-02-23 11:19:19 +01:00
2026-02-21 17:09:51 -08:00
2026-01-02 12:04:28 -08:00
2026-02-21 01:02:28 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 20:03:00 -08:00
2026-03-30 08:20:47 -05:00
2026-02-16 13:00:36 -08:00
2025-10-20 20:22:26 +02:00
2026-02-21 17:09:51 -08:00
2026-02-25 10:34:23 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 20:03:00 -08:00
2026-02-25 10:34:23 -08:00
2026-02-09 16:08:40 -08:00
2026-02-21 01:02:28 -08:00
2026-01-16 12:52:04 -05:00
2026-02-21 01:02:28 -08:00
2025-11-05 09:51:30 +01:00
2026-01-14 16:50:37 +01:00
2026-03-20 14:18:56 +01:00
2026-01-13 09:58:01 +01:00
2026-02-21 17:09:51 -08:00
2026-02-09 16:58:28 -08:00
2026-02-12 10:41:34 -08:00
2026-02-09 16:58:28 -08:00
2026-02-21 17:09:51 -08:00
2026-02-12 08:23:53 -08:00
2026-02-09 13:41:34 -08:00
2026-02-21 20:03:00 -08:00
2026-02-21 01:02:28 -08:00
2026-01-12 16:52:09 +01:00
2026-03-19 11:18:01 +01:00
2026-02-25 10:34:23 -08:00
2026-02-27 22:00:11 +01:00
2026-01-12 16:52:09 +01:00
2026-02-09 16:58:28 -08:00
2026-02-25 10:34:23 -08:00
2026-02-21 01:02:28 -08:00
2026-02-21 01:02:28 -08:00
2026-01-12 10:55:45 +01:00
2026-01-12 10:57:34 +01:00
2026-02-21 20:03:00 -08:00
2026-02-21 01:02:28 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-01-16 12:52:04 -05:00
2026-01-16 12:52:04 -05:00
2026-02-21 17:09:51 -08:00
2026-02-21 01:02:28 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-01-16 12:52:03 -05:00
2026-01-16 12:52:03 -05:00