]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
Merge tag 'erofs-for-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang...
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 20 Feb 2023 20:23:40 +0000 (12:23 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 20 Feb 2023 20:23:40 +0000 (12:23 -0800)
Pull erofs updates from Gao Xiang:
 "The most noticeable feature for this cycle is per-CPU kthread
  decompression since Android use cases need low-latency I/O handling in
  order to ensure the app runtime performance, currently unbounded
  workqueue latencies are not quite good for production on many aarch64
  hardwares and thus we need to introduce a deterministic expectation
  for these. Decompression is CPU-intensive and it is sleepable for
  EROFS, so other alternatives like decompression under softirq contexts
  are not considered. More details are in the corresponding commit
  message.

  Others are random cleanups around the whole codebase and we will
  continue to clean up further in the next few months.

  Due to Lunar New Year holidays, some other new features were not
  completely reviewed and solidified as expected and we may delay them
  into the next version.

  Summary:

   - Add per-cpu kthreads for low-latency decompression for Android use
     cases

   - Get rid of tagged pointer helpers since they are rarely used now

   - Several code cleanups to reduce codebase

   - Documentation and MAINTAINERS updates"

* tag 'erofs-for-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs: (21 commits)
  erofs: fix an error code in z_erofs_init_zip_subsystem()
  erofs: unify anonymous inodes for blob
  erofs: relinquish volume with mutex held
  erofs: maintain cookies of share domain in self-contained list
  erofs: remove unused device mapping in meta routine
  MAINTAINERS: erofs: Add Documentation/ABI/testing/sysfs-fs-erofs
  Documentation/ABI: sysfs-fs-erofs: update supported features
  erofs: remove unused EROFS_GET_BLOCKS_RAW flag
  erofs: update print symbols for various flags in trace
  erofs: make kobj_type structures constant
  erofs: add per-cpu threads for decompression as an option
  erofs: tidy up internal.h
  erofs: get rid of z_erofs_do_map_blocks() forward declaration
  erofs: move zdata.h into zdata.c
  erofs: remove tagged pointer helpers
  erofs: avoid tagged pointers to mark sync decompression
  erofs: get rid of erofs_inode_datablocks()
  erofs: simplify iloc()
  erofs: get rid of debug_one_dentry()
  erofs: remove linux/buffer_head.h dependency
  ...

1  2 
MAINTAINERS
fs/erofs/inode.c
fs/erofs/internal.h

diff --cc MAINTAINERS
Simple merge
Simple merge
index e05ae61069e8166dc2369ec1d41dce2b44210c9b,39f259acf8876f9620069ca01232a1f9156b089a..3f3561d37d1b2469c70c2fa697a014cca9274dcb
@@@ -476,31 -460,11 +460,11 @@@ void *erofs_read_metabuf(struct erofs_b
  int erofs_map_dev(struct super_block *sb, struct erofs_map_dev *dev);
  int erofs_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
                 u64 start, u64 len);
- int erofs_map_blocks(struct inode *inode,
-                    struct erofs_map_blocks *map, int flags);
- /* inode.c */
- static inline unsigned long erofs_inode_hash(erofs_nid_t nid)
- {
- #if BITS_PER_LONG == 32
-       return (nid >> 32) ^ (nid & 0xffffffff);
- #else
-       return nid;
- #endif
- }
- extern const struct inode_operations erofs_generic_iops;
- extern const struct inode_operations erofs_symlink_iops;
- extern const struct inode_operations erofs_fast_symlink_iops;
+ int erofs_map_blocks(struct inode *inode, struct erofs_map_blocks *map);
  struct inode *erofs_iget(struct super_block *sb, erofs_nid_t nid);
 -int erofs_getattr(struct user_namespace *mnt_userns, const struct path *path,
 +int erofs_getattr(struct mnt_idmap *idmap, const struct path *path,
                  struct kstat *stat, u32 request_mask,
                  unsigned int query_flags);
- /* namei.c */
- extern const struct inode_operations erofs_dir_iops;
  int erofs_namei(struct inode *dir, const struct qstr *name,
                erofs_nid_t *nid, unsigned int *d_type);