diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-04-30 01:10:05 +0200 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-05-05 17:30:59 +0200 |
commit | 261d957ebe4cf16aed76eed24b5bfd32f1f5a79a (patch) | |
tree | c6c458c63ba2bf393b653b107a62701c77842b28 /libdiskfs/opts-set.c | |
parent | 3ad900b84497a2e619c30f76670e4757e8765f3e (diff) |
fatfs: use two distinct pager buckets for the disk and file pager
fatfs has two kinds of pagers. One for the files, one for the disk.
Previously, both were in the same port bucket.
If a request for a file pager arrives, it most likely touches some
metadata (like the superblock). This is in turn backed by the disk
pager, so another request is generated for the disk pager.
Seperate all pagers clearly by using two port buckets. This will
enable us to use a single thread per port bucket in the future.
* fatfs/pager.c (pager_bucket): Rename to...
(disk_pager_bucket): ... this to make the change explicit at every
occurrence.
(file_pager_bucket): New variable.
(service_paging_requests): New function.
(create_fat_pager): Also create the file pager.
(diskfs_get_filemap): Handout pagers from the file_pager_bucket.
(diskfs_shutdown_pager): This is only concerned with the file pager.
Simplify code accordingly.
(diskfs_sync_everything): Likewise.
(diskfs_pager_users): Likewise.
(diskfs_max_user_pager_prot): Likewise.
(disable_caching): Iterate over both buckets.
(enable_caching): Likewise.
Diffstat (limited to 'libdiskfs/opts-set.c')
0 files changed, 0 insertions, 0 deletions