Hi,
We've got nine GFS2 patches for this merge window.
1. Andreas Gruenbacher wrote a patch to replace the deprecated
call to rhashtable_walk_init with rhashtable_walk_enter.
2. Andreas also wrote a patch to eliminate redundant code in
two of our debugfs sequence files.
3. Andreas also cleaned up the rhashtable key ugliness Linus
pointed out during this cycle, following Linus's suggestions.
4. Andreas also wrote a patch to take advantage of his new
function rhashtable_lookup_get_insert_fast. This makes glock
lookup faster and more bullet-proof.
5. Andreas also wrote a patch to revert a patch in the evict
path that caused occasional deadlocks, and is no longer
needed.
6. Andrew Price wrote a patch to re-enable fallocate for the
rindex system file to enable gfs2_grow to grow properly on
secondary file system grow operations.
7. I wrote a patch to initialize an inode number field to make
certain kernel trace points more understandable.
8. I also wrote a patch that makes GFS2 file system "withdraw"
work more like it should by ignoring operations after a
withdraw that would formerly cause a BUG() and kernel panic.
9. I also reworked the entire truncate/delete algorithm,
scrapping the old recursive algorithm in favor of a new
non-recursive algorithm. This was done for performance:
This way, GFS2 no longer needs to lock multiple resource
groups while doing truncates and deletes of files that cross
multiple resource group boundaries, allowing for better
parallelism. It also solves a problem whereby deleting large
files would request a large chunk of kernel memory, which
resulted in a get_page_from_freelist warning.
Regards,
Bob Peterson
---
Andreas Gruenbacher (5):
gfs2: Replace rhashtable_walk_init with rhashtable_walk_enter
gfs2: Deduplicate gfs2_{glocks,glstats}_open
gfs2: Don't pack struct lm_lockname
gfs2: Switch to rhashtable_lookup_get_insert_fast
Revert "GFS2: Wait for iopen glock dequeues"
Andrew Price (1):
gfs2: Re-enable fallocate for the rindex
Bob Peterson (3):
GFS2: Prevent BUG from occurring when normal Withdraws occur
GFS2: Temporarily zero i_no_addr when creating a dinode
GFS2: Non-recursive delete