diff options
| author | Alexander Viro <viro@www.linux.org.uk> | 2004-03-17 21:24:02 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-03-17 21:24:02 -0800 |
| commit | 772fd530badfe14a708a1f4df26b19bfbbb6785a (patch) | |
| tree | 2ce9f683bb9edefbcef9bbfb3b7676f0bdd3e1d4 /include/linux | |
| parent | b5b83baea0b32c53a49ed5a009f06666fcd44b03 (diff) | |
[PATCH] hpfs: hpfs iget locking cleanup
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/*/*.
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/hpfs_fs_sb.h | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/include/linux/hpfs_fs_sb.h b/include/linux/hpfs_fs_sb.h index c6355adaf6f1..6eceb9539c90 100644 --- a/include/linux/hpfs_fs_sb.h +++ b/include/linux/hpfs_fs_sb.h @@ -20,11 +20,6 @@ struct hpfs_sb_info { unsigned sb_lowercase : 1; /* downcase filenames hackery */ unsigned sb_was_error : 1; /* there was an error, set dirty flag */ unsigned sb_chkdsk : 2; /* chkdsk: 0-no, 1-on errs, 2-allways */ - unsigned sb_rd_fnode : 2; /* read fnode 0-no 1-dirs 2-all */ - unsigned sb_rd_inode : 2; /* lookup tells read_inode: 1-read fnode - 2-don't read fnode, file - 3-don't read fnode, direcotry */ - wait_queue_head_t sb_iget_q; unsigned char *sb_cp_table; /* code page tables: */ /* 128 bytes uppercasing table & */ /* 128 bytes lowercasing table */ |
