summaryrefslogtreecommitdiff
path: root/include/linux/buffer_head.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/buffer_head.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/buffer_head.h')
-rw-r--r--include/linux/buffer_head.h4
1 files changed, 0 insertions, 4 deletions
diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h
index 26d71a5fb742..22d3ac8efc6b 100644
--- a/include/linux/buffer_head.h
+++ b/include/linux/buffer_head.h
@@ -128,9 +128,6 @@ BUFFER_FNS(Boundary, boundary)
})
#define page_has_buffers(page) PagePrivate(page)
-#define invalidate_buffers(dev) __invalidate_buffers((dev), 0)
-
-
/*
* Declarations
*/
@@ -159,7 +156,6 @@ void unmap_underlying_metadata(struct block_device *bdev, sector_t block);
void mark_buffer_async_read(struct buffer_head *bh);
void mark_buffer_async_write(struct buffer_head *bh);
void invalidate_bdev(struct block_device *, int);
-void __invalidate_buffers(kdev_t dev, int);
int sync_blockdev(struct block_device *bdev);
void __wait_on_buffer(struct buffer_head *);
wait_queue_head_t *bh_waitq_head(struct buffer_head *bh);