• Jeff Mahoney's avatar
    [PATCH] reiserfs: on-demand bitmap loading · 5065227b
    Jeff Mahoney authored
    This is the patch the three previous ones have been leading up to.
    
    It changes the behavior of ReiserFS from loading and caching all the bitmaps
    as special, to treating the bitmaps like any other bit of metadata and just
    letting the system-wide caches figure out what to hang on to.
    
    Buffer heads are allocated on the fly, so there is no need to retain pointers
    to all of them.  The caching of the metadata occurs when the data is read and
    updated, and is considered invalid and uncached until then.
    
    I needed to remove the vs-4040 check for performing a duplicate operation on a
    particular bit.  The reason is that while the other sites for working with
    bitmaps are allowed to schedule, is_reusable() is called from do_balance(),
    which will panic if a schedule occurs in certain places.
    
    The benefit of on-demand bitmaps clearly outweighs a sanity check that depends
    on a compile-time option that is discouraged.
    
    [akpm@osdl.org: warning fix]
    Signed-off-by: default avatarJeff Mahoney <jeffm@suse.com>
    Cc: <reiserfs-dev@namesys.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    5065227b
bitmap.c 39 KB