extent_io.c (a65917156e345946dbde3d7effd28124c6d6a8c2) | extent_io.c (bd681513fa6f2ff29aa391f01e413a2d1c59fd77) |
---|---|
1#include <linux/bitops.h> 2#include <linux/slab.h> 3#include <linux/bio.h> 4#include <linux/mm.h> 5#include <linux/pagemap.h> 6#include <linux/page-flags.h> 7#include <linux/module.h> 8#include <linux/spinlock.h> --- 3003 unchanged lines hidden (view full) --- 3012 unsigned long flags; 3013#endif 3014 3015 eb = kmem_cache_zalloc(extent_buffer_cache, mask); 3016 if (eb == NULL) 3017 return NULL; 3018 eb->start = start; 3019 eb->len = len; | 1#include <linux/bitops.h> 2#include <linux/slab.h> 3#include <linux/bio.h> 4#include <linux/mm.h> 5#include <linux/pagemap.h> 6#include <linux/page-flags.h> 7#include <linux/module.h> 8#include <linux/spinlock.h> --- 3003 unchanged lines hidden (view full) --- 3012 unsigned long flags; 3013#endif 3014 3015 eb = kmem_cache_zalloc(extent_buffer_cache, mask); 3016 if (eb == NULL) 3017 return NULL; 3018 eb->start = start; 3019 eb->len = len; |
3020 spin_lock_init(&eb->lock); 3021 init_waitqueue_head(&eb->lock_wq); | 3020 rwlock_init(&eb->lock); 3021 atomic_set(&eb->write_locks, 0); 3022 atomic_set(&eb->read_locks, 0); 3023 atomic_set(&eb->blocking_readers, 0); 3024 atomic_set(&eb->blocking_writers, 0); 3025 atomic_set(&eb->spinning_readers, 0); 3026 atomic_set(&eb->spinning_writers, 0); 3027 init_waitqueue_head(&eb->write_lock_wq); 3028 init_waitqueue_head(&eb->read_lock_wq); |
3022 3023#if LEAK_DEBUG 3024 spin_lock_irqsave(&leak_lock, flags); 3025 list_add(&eb->leak_list, &buffers); 3026 spin_unlock_irqrestore(&leak_lock, flags); 3027#endif 3028 atomic_set(&eb->refs, 1); 3029 --- 815 unchanged lines hidden --- | 3029 3030#if LEAK_DEBUG 3031 spin_lock_irqsave(&leak_lock, flags); 3032 list_add(&eb->leak_list, &buffers); 3033 spin_unlock_irqrestore(&leak_lock, flags); 3034#endif 3035 atomic_set(&eb->refs, 1); 3036 --- 815 unchanged lines hidden --- |