This source file includes following definitions.
- z_erofs_page_is_staging
- z_erofs_put_stagingpage
   1 
   2 
   3 
   4 
   5 
   6 
   7 #ifndef __EROFS_FS_COMPRESS_H
   8 #define __EROFS_FS_COMPRESS_H
   9 
  10 #include "internal.h"
  11 
  12 enum {
  13         Z_EROFS_COMPRESSION_SHIFTED = Z_EROFS_COMPRESSION_MAX,
  14         Z_EROFS_COMPRESSION_RUNTIME_MAX
  15 };
  16 
  17 struct z_erofs_decompress_req {
  18         struct super_block *sb;
  19         struct page **in, **out;
  20 
  21         unsigned short pageofs_out;
  22         unsigned int inputsize, outputsize;
  23 
  24         
  25         unsigned int alg;
  26         bool inplace_io, partial_decoding;
  27 };
  28 
  29 
  30 
  31 
  32 
  33 
  34 #define Z_EROFS_MAPPING_STAGING         ((void *)0x5A110C8D)
  35 
  36 
  37 static inline bool z_erofs_page_is_staging(struct page *page)
  38 {
  39         return page->mapping == Z_EROFS_MAPPING_STAGING;
  40 }
  41 
  42 static inline bool z_erofs_put_stagingpage(struct list_head *pagepool,
  43                                            struct page *page)
  44 {
  45         if (!z_erofs_page_is_staging(page))
  46                 return false;
  47 
  48         
  49         if (page_ref_count(page) > 1)
  50                 put_page(page);
  51         else
  52                 list_add(&page->lru, pagepool);
  53         return true;
  54 }
  55 
  56 int z_erofs_decompress(struct z_erofs_decompress_req *rq,
  57                        struct list_head *pagepool);
  58 
  59 #endif
  60