Re: [PATCH v6 1/8] fs: introduce kernel_pread_file* support

2020-06-05 Thread Scott Branden

Hi Matthew,

On 2020-06-05 8:20 p.m., Matthew Wilcox wrote:

On Fri, Jun 05, 2020 at 03:59:52PM -0700, Scott Branden wrote:

-int kernel_read_file(struct file *file, void **buf, loff_t *size,
-loff_t max_size, enum kernel_read_file_id id)
-{
-   loff_t i_size, pos;
+int kernel_pread_file(struct file *file, void **buf, loff_t *size,
+ loff_t pos, loff_t max_size,
+ enum kernel_pread_opt opt,
+ enum kernel_read_file_id id)

What is this 'kernel_pread_opt' foolishness?  Why not just pass in
~0UL as max_size if you want the entire file?

That is not how existing kernel_read_file api works - max_size is specified.
I guess not everyone has unlimited memory to read a file on any size.



-int kernel_read_file_from_path_initns(const char *path, void **buf,
- loff_t *size, loff_t max_size,
- enum kernel_read_file_id id)
+extern int kernel_pread_file_from_path_initns(const char *path, void **buf,

extern?  really?  i'm shocked gcc doesn't vomit on that.

A typo.  thanks.  You'll have to ask the compiler gods about your shock.



Re: [PATCH v6 1/8] fs: introduce kernel_pread_file* support

2020-06-05 Thread Matthew Wilcox
On Fri, Jun 05, 2020 at 03:59:52PM -0700, Scott Branden wrote:
> -int kernel_read_file(struct file *file, void **buf, loff_t *size,
> -  loff_t max_size, enum kernel_read_file_id id)
> -{
> - loff_t i_size, pos;
> +int kernel_pread_file(struct file *file, void **buf, loff_t *size,
> +   loff_t pos, loff_t max_size,
> +   enum kernel_pread_opt opt,
> +   enum kernel_read_file_id id)

What is this 'kernel_pread_opt' foolishness?  Why not just pass in
~0UL as max_size if you want the entire file?

> -int kernel_read_file_from_path_initns(const char *path, void **buf,
> -   loff_t *size, loff_t max_size,
> -   enum kernel_read_file_id id)
> +extern int kernel_pread_file_from_path_initns(const char *path, void **buf,

extern?  really?  i'm shocked gcc doesn't vomit on that.