summaryrefslogtreecommitdiff
path: root/include/linux/fs.h
diff options
context:
space:
mode:
authorAlexander Viro <viro@parcelfarce.linux.theplanet.co.uk>2003-04-24 08:39:06 -0700
committerLinus Torvalds <torvalds@home.transmeta.com>2003-04-24 08:39:06 -0700
commit91b58109a339748d992cb767e145c19722756653 (patch)
tree7a02b8525e330f58aca6aa009a0ca9fbb40b9ce2 /include/linux/fs.h
parent45065e1014b07ff09f279b01828bfa5d3a6eeb17 (diff)
[PATCH] invalidate_device()/check_disk_change() fixes
* bogus calls of invalidate_buffers() gone from floppy_open() * invalidate_buffers() killed. * new helper - __invalidate_device(bdev, do_sync). invalidate_device() is calling it. * fixed races between floppy_open()/floppy_open and floppy_open()/set_geometry(): a) floppy_open()/floppy_release() is done under a semaphore. That closes the races between simultaneous open() on /dev/fd0foo and /dev/fd0bar. b) pointer to struct block_device is kept as long as floppy is opened (per-drive, non-NULL when number of openers is non-zero, does not contribute to block_device refcount). c) set_geometry() grabs the same semaphore and invalidates the devices directly instead of messing with setting fake "it had changed" and calling __check_disk_change(). * __check_disk_change() killed - no remaining callers * full_check_disk_change() killed - ditto.
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r--include/linux/fs.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index df578c422b25..ce89b15c54a1 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1102,9 +1102,8 @@ extern int fs_may_remount_ro(struct super_block *);
#define bio_data_dir(bio) ((bio)->bi_rw & 1)
extern int check_disk_change(struct block_device *);
-extern int full_check_disk_change(struct block_device *);
-extern int __check_disk_change(dev_t);
extern int invalidate_inodes(struct super_block *);
+extern int __invalidate_device(struct block_device *, int);
extern int invalidate_device(kdev_t, int);
unsigned long invalidate_mapping_pages(struct address_space *mapping,
pgoff_t start, pgoff_t end);