• Alexander Viro's avatar
    [PATCH] hpfs: hpfs iget locking cleanup · 772fd530
    Alexander Viro authored
    Killed the nightmares in hpfs iget handling.  Since in some (fairly
    frequent) cases hpfs_read_inode() could avoid any IO (basically, lookup
    hitting a native HPFS regular file can get all data from directory
    entry) hpfs had a flag passed to that sucker.  Said flag had been
    protected by a semaphore lookalike made out of spit and duct-tape and
    callers of iget looked like
    
    	hpfs_lock_iget(sb, flag);
    	result = iget(sb, ino);
    	hpfs_unlock_iget(sb);
    
    Since now we are calling hpfs_read_inode() directly (note that calling
    it without hpfs_lock_iget() would simply break) we can forget all that
    crap and get rid of the flag - caller knows what it wants to call.
    
    BTW, that had killed one of the last sleep_on() users in fs/*/*.
    772fd530
hpfs_fn.h 10.9 KB