mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
fs: new cont helpers
Rework the generic block "cont" routines to handle the new aops. Supporting cont_prepare_write would take quite a lot of code to support, so remove it instead (and we later convert all filesystems to use it). write_begin gets passed AOP_FLAG_CONT_EXPAND when called from generic_cont_expand, so filesystems can avoid the old hacks they used. Signed-off-by: Nick Piggin <[email protected]> Cc: OGAWA Hirofumi <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
7765ec26ae
commit
89e107877b
4 changed files with 103 additions and 102 deletions
|
|
@ -1684,6 +1684,7 @@ size_t iov_iter_copy_from_user_atomic(struct page *page,
|
|||
|
||||
return copied;
|
||||
}
|
||||
EXPORT_SYMBOL(iov_iter_copy_from_user_atomic);
|
||||
|
||||
/*
|
||||
* This has the same sideeffects and return value as
|
||||
|
|
@ -1710,6 +1711,7 @@ size_t iov_iter_copy_from_user(struct page *page,
|
|||
kunmap(page);
|
||||
return copied;
|
||||
}
|
||||
EXPORT_SYMBOL(iov_iter_copy_from_user);
|
||||
|
||||
static void __iov_iter_advance_iov(struct iov_iter *i, size_t bytes)
|
||||
{
|
||||
|
|
@ -1741,6 +1743,7 @@ void iov_iter_advance(struct iov_iter *i, size_t bytes)
|
|||
__iov_iter_advance_iov(i, bytes);
|
||||
i->count -= bytes;
|
||||
}
|
||||
EXPORT_SYMBOL(iov_iter_advance);
|
||||
|
||||
/*
|
||||
* Fault in the first iovec of the given iov_iter, to a maximum length
|
||||
|
|
@ -1757,6 +1760,7 @@ int iov_iter_fault_in_readable(struct iov_iter *i, size_t bytes)
|
|||
bytes = min(bytes, i->iov->iov_len - i->iov_offset);
|
||||
return fault_in_pages_readable(buf, bytes);
|
||||
}
|
||||
EXPORT_SYMBOL(iov_iter_fault_in_readable);
|
||||
|
||||
/*
|
||||
* Return the count of just the current iov_iter segment.
|
||||
|
|
@ -1769,6 +1773,7 @@ size_t iov_iter_single_seg_count(struct iov_iter *i)
|
|||
else
|
||||
return min(i->count, iov->iov_len - i->iov_offset);
|
||||
}
|
||||
EXPORT_SYMBOL(iov_iter_single_seg_count);
|
||||
|
||||
/*
|
||||
* Performs necessary checks before doing a write
|
||||
|
|
|
|||
Loading…
Reference in a new issue