diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-08-26 10:14:11 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-08-26 10:14:11 -0700 |
commit | 89a897fbd8c181bfbf814b84fcdce1cd80a3a388 (patch) | |
tree | 741c0c2f9c945f7060add5be03c16d157128ae30 /fs/logfs/journal.c | |
parent | 9acb172543aecb783e2e1e53e3f447d4c0f5c150 (diff) | |
parent | 9f0bbd8ca7905fcc0602c038013b095322fec939 (diff) | |
download | linux-89a897fbd8c181bfbf814b84fcdce1cd80a3a388.tar.gz linux-89a897fbd8c181bfbf814b84fcdce1cd80a3a388.tar.bz2 linux-89a897fbd8c181bfbf814b84fcdce1cd80a3a388.zip |
Merge tag 'for-linus' of git://github.com/prasad-joshi/logfs_upstream
Pull LogFS bugfixes from Prasad Joshi:
- "logfs: query block device for number of pages to send with bio"
This BUG was found when LogFS was used on KVM. The patch fixes
the problem by asking for underlaying block device the number
of pages to send with each BIO.
- "logfs: maintain the ordering of meta-inode destruction"
LogFS maintains file system meta-data in special inodes. These
inodes are releated to each other, therefore they must be
destroyed in a proper order.
- "logfs: initialize the number of iovecs in bio"
LogFS used to panic when it was created on an encrypted LVM
volume. The patch fixes the problem by properly initializing
the BIO.
Plus a couple more:
- logfs: create a pagecache page if it is not present
- logfs: destroy the reserved inodes while unmounting
* tag 'for-linus' of git://github.com/prasad-joshi/logfs_upstream:
logfs: query block device for number of pages to send with bio
logfs: maintain the ordering of meta-inode destruction
logfs: create a pagecache page if it is not present
logfs: initialize the number of iovecs in bio
logfs: destroy the reserved inodes while unmounting
Diffstat (limited to 'fs/logfs/journal.c')
-rw-r--r-- | fs/logfs/journal.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/logfs/journal.c b/fs/logfs/journal.c index 1e1c369df22b..2a09b8d73989 100644 --- a/fs/logfs/journal.c +++ b/fs/logfs/journal.c @@ -565,7 +565,7 @@ static void write_wbuf(struct super_block *sb, struct logfs_area *area, index = ofs >> PAGE_SHIFT; page_ofs = ofs & (PAGE_SIZE - 1); - page = find_lock_page(mapping, index); + page = find_or_create_page(mapping, index, GFP_NOFS); BUG_ON(!page); memcpy(wbuf, page_address(page) + page_ofs, super->s_writesize); unlock_page(page); |