This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch fs-next in repository linux-next.
omits d99142e57314 Merge branch 'for-next' of git://git.kernel.org/pub/scm/li [...] omits bfcaf935288a Merge branch 'vfs.all' of git://git.kernel.org/pub/scm/lin [...] omits 9763d8ca187f Merge branch 'for-next' of git://git.kernel.org/pub/scm/li [...] omits ed86758af25e Merge branch 'for-next' of git://git.kernel.org/pub/scm/fs [...] omits b161162de706 Merge branch 'master' of https://github.com/Paragon-Softwa [...] omits 6931adbc3a0f Merge branch 'nfsd-next' of git://git.kernel.org/pub/scm/l [...] omits 958636cc69b8 Merge branch 'linux-next' of git://git.linux-nfs.org/proje [...] omits 88d2aaf75619 Merge branch 'for-next' of git://git.kernel.org/pub/scm/fs [...] omits 0e487f81fa57 Merge branch 'dev' of git://git.kernel.org/pub/scm/linux/k [...] omits daace1f08a48 Merge branch 'for_next' of git://git.kernel.org/pub/scm/li [...] omits 75eb27c85e4f Merge branch 'dev' of git://git.kernel.org/pub/scm/linux/k [...] omits 5b21c730fe4c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/ [...] omits ce858ddfe33a Merge branch 'for-next' of git://git.samba.org/sfrench/cif [...] omits 9fa95e1f3ddb Merge branch 'for-next' of git://git.kernel.org/pub/scm/li [...] omits 6149f46d4d45 Merge branch 'for-next' of git://git.kernel.org/pub/scm/fs [...] omits 43e9b16d64be Merge branch 'for-next' of git://evilpiepirate.org/bcachefs.git omits 7f5940d47ea6 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux [...] omits eccda439dd3c Merge branch 'next-fixes' of git://git.kernel.org/pub/scm/ [...] omits 835679f01412 Merge branch 'vfs.fixes' of git://git.kernel.org/pub/scm/l [...] omits 747049b0437a bcachefs: Improve inode_create behaviour on old filesystems omits a217217d4682 bcachefs: Use bio_add_folio_nofail() for unfailable operations omits 2740ffc13ecb bcachefs: Simplify bch2_bio_map() omits c2ee54c7c962 bcachefs: Finish error_throw tracepoints omits 3e1fecac8ff1 bcachefs: Improved btree node tracepoints omits 3db61cbb523e bcachefs: -o fix_errors may now be used without -o fsck omits c06d4985806c bcachefs: Shut up clang warning omits 3191822a6d72 bcachefs: Refactor trans->mem allocation omits 8da0b1b2a982 bcachefs: Evict/bypass key cache when deleting omits 6d7644e987c9 bcachefs: Don't peek key cache unless we have a real key omits 5d92d2d7d711 bcachefs: Improve inode deletion omits 6bd0a3ec1fff bcachefs: bch2_trans_has_updates() omits 0b104cd5e470 bcachefs: Don't memcpy more than needed omits ff50bbaa58a0 bcachefs: Don't log error twice in allocator async repair omits cf91b15f6297 bcachefs: Plumb trans_kmalloc ip to trans_log_msg omits 7f643a40f6bc bcachefs: add an unlikely() to trans_begin() omits ec1a430184f6 bcachefs: More errcode conversions omits dbbca762f9e3 bcachefs: DEFINE_CLASS()es for dev refcounts omits dd1e1de88de9 bcachefs: use scoped_guard() in fast_list.c omits 29362082ffff bcachefs: Allow CONFIG_UNICODE=m omits 92c82171bc01 bcachefs: Reduce __bch2_btree_node_alloc() stack usage omits 0d520d044373 bcachefs: kill darray_u32_has() omits 87f0c24012d9 bcachefs: fsck: dir_loop, subvol_loop now autofix omits 1b68e7f71480 bcachefs: opts.casefold_disabled omits f1d673b38cb8 fix proc_sys_compare() handling of in-lookup dentries omits b3b56f756193 Merge branch 'for-next-next-v6.16-20250627' into for-next- [...] omits a493981c206f Merge branch 'for-next-current-v6.15-20250627' into for-ne [...] omits 19bd3c8377f8 Merge branch 'misc-next' into for-next-next-v6.16-20250627 omits e6a7871decd0 Merge branch 'b-for-next' into for-next-next-v6.16-20250627 omits f15be0e51c27 Merge branch 'misc-6.16' into for-next-next-v6.16-20250627 omits 1313a06aeedd Merge branch 'misc-6.16' into for-next-current-v6.15-20250627 omits ea9a28dac246 btrfs: zoned: don't hold space_info lock on zoned allocation omits a8349f752252 btrfs: zoned: get rid of treelog_bg_lock omits 89771210a5d7 btrfs: zoned: get rid of relocation_bg_lock omits 3c6e3591695a btrfs: qgroup: avoid memory allocation if qgroups are not enabled omits 50bed706fdd7 btrfs: rename inode number parameter passed to btrfs_check [...] omits 841c20a41b93 btrfs: pass bool to indicate subvolume/snapshot creation type omits c5d2cdba30bb btrfs: pass dentry to btrfs_mksubvol() and btrfs_mksnapshot() omits dbc9d2b5afa2 btrfs: use struct qstr for subvolume ioctl helpers omits 987f43731456 btrfs: qgroup: remove redundant check for add_qgroup_rb() call omits b8b432c33344 btrfs: remove struct rcu_string omits e0baf1cc0280 btrfs: open code RCU for device name omits f95380ac7167 btrfs: split btrfs_is_fsstree() into multiple if statement [...] omits fc64e7b1bdfa btrfs: add btrfs prefix to is_fsstree() and make it return bool omits d488cf1596b2 btrfs: split inode rextef processing from __add_inode_ref( [...] omits a5f2f4d2a689 btrfs: split inode ref processing from __add_inode_ref() i [...] omits 4b3a54e01d21 btrfs: use btrfs inodes in btrfs_rmdir() to avoid so much [...] omits fd9741397068 btrfs: use inode already stored in local variable at btrfs [...] omits 6607ce31017f btrfs: use btrfs_record_snapshot_destroy() during rmdir omits 255265e977c3 btrfs: propagate last_unlink_trans earlier when doing a rmdir omits 2b6f3e452411 btrfs: record new subvolume in parent dir earlier to avoid [...] omits 9fbec8743318 btrfs: fix inode lookup error handling during log replay omits 6437c70ad4e5 btrfs: fix iteration of extrefs during log replay omits ae82071b0de6 btrfs: fix missing error handling when searching for inode [...] omits 1d2c8bb6b3ac btrfs: fix a use-after-free race if btrfs_open_devices() failed omits c4f62523ca59 btrfs: use fs_holder_ops for all opened devices omits 8c6d566f407e btrfs: use the super_block as holder when mounting file systems omits 6d1e3736ac2c btrfs: delay btrfs_open_devices() until super block is created omits 16222ef63f3e btrfs: call bdev_fput() to reclaim the blk_holder immediately omits 47f353c4e495 btrfs: call btrfs_close_devices from ->kill_sb omits bf270569eb1b btrfs: add comments to make super block creation more clear omits c44e8c2694c4 btrfs: get rid of the re-entry of btrfs_get_tree() omits ad09f037cfde btrfs: always open the device read-only in btrfs_scan_one_device omits 073821327a8e btrfs: index buffer_tree using node size omits 5cc4d95c6199 btrfs: === misc-next on b-for-next === omits 713f896d3a33 Merge branch 'vfs-6.17.rust' into vfs.all omits 790f6d51a1cc Merge branch 'vfs-6.17.bpf' into vfs.all omits 70866e84f771 Merge branch 'vfs-6.17.pidfs' into vfs.all omits 70296233dc63 Merge branch 'vfs-6.17.mmap_prepare' into vfs.all omits 393170289966 Merge branch 'vfs-6.17.async.dir' into vfs.all omits 3486e0d1f612 Merge branch 'vfs-6.17.nsfs' into vfs.all omits d4ff392ca0b1 Merge branch 'vfs-6.17.file' into vfs.all omits 82008e76b8d3 Merge branch 'vfs-6.17.coredump' into vfs.all omits eb2a7ff304f0 Merge branch 'vfs-6.17.misc' into vfs.all omits 0af043863fd9 Merge branch 'vfs.fixes' into vfs.all omits af68be842430 btrfs: use our message helpers instead of pr_err/pr_warn/pr_info omits 58f7581ff9a4 btrfs: remove partial support for lowest level from btrfs_ [...] omits 3cc4f7ebc5ec btrfs: use folio_next_index() helper in check_range_has_page() omits 8051840d8d68 btrfs: remove unused parameters from btrfs_lookup_inode_extref() omits 79b3daf5df90 btrfs: rename error to ret in device_list_add() omits d740fb3e41bc btrfs: rename error to ret in btrfs_sysfs_add_mounted() omits 11015dc41cd1 btrfs: rename error to ret in btrfs_sysfs_add_fsid() omits 7420558caab5 btrfs: rename error to ret in btrfs_mksubvol() omits ca588d1852e9 btrfs: rename error to ret in btrfs_may_delete() omits ad4c6f3ac92e btrfs: cache if we are using free space bitmaps for a block group omits eac901dffb67 btrfs: add and use helper to determine if using bitmaps in [...] omits 3c74920df491 btrfs: use fs_info from local variable in btrfs_convert_fr [...] omits c26634ee934b btrfs: avoid double slot decrement at btrfs_convert_free_s [...] omits 579f4a1e42a4 btrfs: turn remove argument of modify_free_space_bitmap() [...] omits 2f83a820e948 btrfs: rename free_space_set_bits() and make it less confusing omits 33523a012d59 btrfs: add btrfs prefix to free space tree exported functions omits deb3a8a1fc21 btrfs: remove pointless out label from load_free_space_extents() omits 7139cc766ea2 btrfs: remove pointless out label from load_free_space_bitmaps() omits 753b14602893 btrfs: remove pointless out label from add_free_space_extent() omits 9577b96f5be3 btrfs: remove pointless out label from remove_free_space_extent() omits 8bf3db7975af btrfs: remove pointless out label from modify_free_space_bitmap() omits c8c2c657764e btrfs: make free_space_test_bit() return a boolean instead omits c0e2b2542450 btrfs: make extent_buffer_test_bit() return a boolean instead omits b96ceabcd09c btrfs: remove pointless out label from update_free_space_e [...] omits 3d693c586f1d btrfs: remove pointless out label from add_new_free_space_info() omits c123012f051c btrfs: tree-log: add and rename extent bits for dirty_log_ [...] omits 802adecbb256 btrfs: use folio_end() where appropriate omits 694c2c2c2041 btrfs: add helper folio_end() omits 7278611d406c btrfs: rename variables for locked range in defrag_prepare [...] omits be751494982b btrfs: simplify range end calculations in truncate_block_z [...] omits 333b7a9537df btrfs: check BLOCK_GROUP_FLAG_NEEDS_FREE_SPACE at __add_bl [...] omits 41a4a9771c6d btrfs: always abort transaction on failure to add block gr [...] omits 731321790c83 btrfs: fix failure to rebuild free space tree using multip [...] omits cc9844e882cb btrfs: add extra warning when qgroup is marked inconsistent omits d2b4edaad64d btrfs: merge btrfs_printk_ratelimited() and it's only caller omits 340d23b39fd6 btrfs: simplify debug print helpers without enabled printk omits a7ce2b1d55bb btrfs: remove remaining unused message helpers omits 2136f6b1ff32 btrfs: switch RCU helper versions to btrfs_debug() omits 3d2821900887 btrfs: switch RCU helper versions to btrfs_info() omits cc99e00116ef btrfs: switch RCU helper versions to btrfs_warn() omits a6a2ad0d1bf0 btrfs: switch RCU helper versions to btrfs_err() omits a79533d4d5fc btrfs: switch all message helpers to be RCU safe omits a539388d38d9 btrfs: remove unused levels of message helpers omits 2d96710f3fd0 btrfs: remove unused rcu-string printk helpers omits 70a131e6c26c btrfs: open code rcu_string_free() and remove it omits c7d90337f3ba btrfs: zoned: reserve data_reloc block group on mount omits ba0deeb5f049 btrfs: use btrfs_root_id() where not done yet omits 3bb8311e4b9b btrfs: use btrfs_is_data_reloc_root() where not done yet omits 5470b535a297 btrfs: use on-stack variable for block reserve in btrfs_re [...] omits 3a86e48010b2 btrfs: use on-stack variable for block reserve in btrfs_tr [...] omits b4da14a5a05e btrfs: use on-stack variable for block reserve in btrfs_ev [...] omits 355a20d0d67c btrfs: update comment for xarray fields in struct btrfs_root omits 9b1bf3ff26bd btrfs: enable experimental large data folio support omits 79a806b58a87 btrfs: use refcount_t type for the extent buffer reference [...] omits 4b9f6d13e4c4 btrfs: add comment for optimization in free_extent_buffer() omits 5d142466c804 btrfs: reorganize logic at free_extent_buffer() for better [...] omits c2ecfb53b16c btrfs: make btrfs_readdir_delayed_dir_index() return a boo [...] omits 67f6f0aed46e btrfs: make btrfs_should_delete_dir_index() return a bool instead omits 0daf161ec382 btrfs: add details to error messages at btrfs_delete_delay [...] omits 91d1dcd6480b btrfs: make btrfs_delete_delayed_insertion_item() return a [...] omits 659cc97fd079 btrfs: switch del_all argument of replay_dir_deletes() fro [...] omits aa1a5c7bdcea btrfs: pass NULL index to btrfs_del_inode_ref() where not needed omits c02861cfda73 btrfs: allocate scratch eb earlier at btrfs_log_new_name() omits 5a68fb97e97a btrfs: allocate path earlier at btrfs_log_new_name() omits c93aef8f0917 btrfs: allocate path earlier at btrfs_del_dir_entries_in_log() omits 21219848713c btrfs: assert we join log transaction at btrfs_del_dir_ent [...] omits 6b0605ad7a99 btrfs: use btrfs_del_item() at del_logged_dentry() omits d8fc82250e7d btrfs: free path sooner at __btrfs_unlink_inode() omits 3ce48b85f58a btrfs: assert we join log transaction at btrfs_del_inode_r [...] omits 2c54ae1ed6a1 btrfs: open code fc_mount() to avoid releasing s_umount rw [...] omits 454331dc6b84 btrfs: rename err to ret in scrub_submit_extent_sector_read() omits 37ed97e76ab5 btrfs: rename err to ret in btrfs_create_common() omits d26b0a337309 btrfs: rename err to ret in btrfs_wait_tree_log_extents() omits 6fd936963295 btrfs: rename err to ret in btrfs_wait_extents() omits 7ec2db9db2de btrfs: rename err to ret in quota_override_store() omits 8353175af84a btrfs: rename err to ret in btrfs_fill_super() omits 6c603422e5cc btrfs: rename err to ret in calc_pct_ratio() omits 9698cf647e9c btrfs: rename err to ret in btrfs_symlink() omits c167a8d87fb6 btrfs: rename err to ret in btrfs_link() omits fe2e280bd768 btrfs: rename err to ret in btrfs_setattr() omits 88656e8d3266 btrfs: rename err to ret in btrfs_init_inode_security() omits f8beee678f68 btrfs: rename err to ret in btrfs_alloc_from_bitmap() omits f0b2b8466f65 btrfs: rename err to ret in btrfs_lock_extent_bits() omits af88826b0f30 btrfs: rename err to ret in btrfs_try_lock_extent_bits() omits b198336a7bf8 btrfs: rename err to ret2 in btrfs_truncate_inode_items() omits 57ebbbfce47a btrfs: rename err to ret2 in btrfs_add_link() omits 5b853e703df8 btrfs: rename err to ret2 in btrfs_setsize() omits 7420f15edee4 btrfs: rename err to ret2 in btrfs_search_old_slot() omits c4902d28f98f btrfs: rename err to ret2 in btrfs_search_slot() omits 8b0032202e00 btrfs: rename err to ret2 in search_leaf() omits 5536f54b78b6 btrfs: rename err to ret2 in read_block_for_search() omits 26cc44524f59 btrfs: rename err to ret2 in resolve_indirect_refs() omits afe41ebe97cf btrfs: rename btrfs_subpage structure omits 959ea4eb8f17 btrfs: add comments on the extra btrfs specific subpage bitmaps omits 76d687802b22 btrfs: harden parsing of compression mount options omits 925265e760cd btrfs: factor out compression mount options parsing omits aeb1fb55f04a btrfs: constify more pointer parameters omits 4ac0454318ec btrfs: sysfs: track current commit duration in commit_stats omits 7292b66e4fe5 btrfs: use rb_find_add() in rb_simple_insert() omits 9d78dfdfc029 btrfs: pass struct rb_simple_node pointer directly in rb_s [...] omits 0585fea6b48b btrfs: use rb_find_add() in btrfs_qgroup_add_swapped_blocks() omits 47e6868ac4a8 btrfs: use rb_find() in btrfs_qgroup_trace_subtree_after_cow() omits 370aff6230fe btrfs: use rb_find_add() in add_qgroup_rb() omits fcb9be2de578 btrfs: use rb_find() in find_qgroup_rb() omits 280b166eb280 btrfs: use rb_find_add() in insert_ref_entry() omits 10a5b5aea27c btrfs: use rb_find_add() in insert_root_entry() omits 3b1539b5c700 btrfs: use rb_find() in lookup_root_entry() omits a20b67b515ed btrfs: use rb_find_add() in insert_block_entry() omits 4ed6d766331d btrfs: use rb_find() in lookup_block_entry() omits bf963a750746 btrfs: use rb_find_add() in ulist_rbtree_insert() omits 99f88e020123 btrfs: use rb_find() in ulist_rbtree_search() omits e8af22876d36 btrfs: use rb_find() in __btrfs_lookup_delayed_item() omits 48a492bb8c9c btrfs: use rb_find_add() in btrfs_insert_inode_defrag() omits d69a1f79f81e btrfs: fix comment in reserved space warning omits c3291520c14a btrfs: relocation: simplify unused logic related to LINK_LOWER omits 7d9c81773345 btrfs: unfold transaction abort at btrfs_insert_one_raid_extent() omits 8412a7526700 btrfs: unfold transaction abort at __btrfs_update_delayed_inode() omits 35e7f4802d30 btrfs: abort transaction on unexpected eb generation at bt [...] omits 512bd3975c89 btrfs: unfold transaction abort at btrfs_copy_root() omits 7a2e9ab720b9 btrfs: move transaction aborts to the error site in add_bl [...] omits 4d434b0925af btrfs: move transaction aborts to the error site in remove [...] omits 5f62cc698fba btrfs: simplify error detection flow during log replay omits dead794dcd53 btrfs: remove redundant path release when replaying a log tree omits 58b62dc661c3 btrfs: abort transaction during log replay if walk_log_tre [...] omits 08f95a8e5e71 btrfs: unfold transaction aborts when replaying log trees omits 6b8f086c4b61 btrfs: make btrfs_should_periodic_reclaim() static omits 65c0c9a2caad btrfs: zoned: use filesystem size not disk size for reclai [...] omits 72e5953ceeb8 btrfs: unfold transaction abort at clone_copy_inline_extent() omits 8034edc0893f btrfs: remove pointless 'out' label from clone_finish_inod [...] omits 9c25a2d0a132 btrfs: unfold transaction abort at walk_up_proc() omits 4959bc327aea btrfs: unfold transaction abort at __btrfs_inc_extent_ref() omits e1f2526141d5 btrfs: unfold transaction aborts at btrfs_create_new_inode() adds 002cc0ee90e6 rtc: s5m: cache device type during probe adds a57743bf009e rtc: s5m: prepare for external regmap adds e64180846e7e rtc: s5m: add support for S2MPG10 RTC adds 972a3b47f6e1 rtc: s5m: fix a typo: peding -> pending adds 1dd609587414 rtc: s5m: switch to devm_device_init_wakeup adds f5adb1fa04d0 rtc: s5m: replace regmap_update_bits with regmap_clear/set_bits adds b1248da00836 rtc: s5m: replace open-coded read/modify/write registers w [...] adds 00a39d8652ff rtc: cmos: use spin_lock_irqsave in cmos_interrupt adds fa78e9b606a4 rtc: pcf2127: fix SPI command byte for PCF2131 adds 08d82d0cad51 rtc: pcf2127: add missing semicolon after statement adds 4b424a3f7d91 Merge tag 'rtc-6.16-fixes' of git://git.kernel.org/pub/scm [...] adds 6f11adcc6f36 io_uring: gate REQ_F_ISREG on !S_ANON_INODE as well adds 66701750d556 Merge tag 'io_uring-6.16-20250630' of git://git.kernel.dk/linux new 8c44dac8add7 eventpoll: Fix priority inversion problem new da8cf4bd4587 netfs: Fix hang due to missing case in final DIO read resu [...] new 9df7b5ebead6 netfs: Fix double put of request new 1a6d45fec33a netfs: Provide helpers to perform NETFS_RREQ_IN_PROGRESS f [...] new 09623e3a14c1 netfs: Fix looping in wait functions new 97d8e8e52cb8 netfs: Fix ref leak on inserted extra subreq in write retry new e67e75edeb88 smb: client: set missing retry flag in smb2_writev_callback() new 0e60bae24ad2 smb: client: set missing retry flag in cifs_readv_callback() new 74ee76bea4b4 smb: client: set missing retry flag in cifs_writev_callback() new 2e0658940d90 netfs: Fix i_size updating new 5e1e6ec2e346 netfs: Merge i_size update functions new 4e3254107683 netfs: Renumber the NETFS_RREQ_* flags to make traces easi [...] new 90b3ccf51457 netfs: Update tracepoints in a number of ways new d5cb81ba929c Merge patch series "netfs, cifs: Fixes to retry-related code" new 0b5c2e7b41c0 Merge branch 'vfs.fixes' of git://git.kernel.org/pub/scm/l [...] new 2747357be391 Merge branch 'next-fixes' of git://git.kernel.org/pub/scm/ [...] new 18e7dfc5e0f1 fix proc_sys_compare() handling of in-lookup dentries new 874a1e3cdd5e Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux [...] new d8fd5befaa14 bcachefs: opts.casefold_disabled new 4ae3c834352b bcachefs: fsck: dir_loop, subvol_loop now autofix new be9405eb0390 bcachefs: kill darray_u32_has() new 777bfed9e339 bcachefs: Reduce __bch2_btree_node_alloc() stack usage new 3a09a4da9b53 bcachefs: Allow CONFIG_UNICODE=m new 231110b24dbb bcachefs: use scoped_guard() in fast_list.c new 9b56a43f5d0f bcachefs: DEFINE_CLASS()es for dev refcounts new e4d5b9627226 bcachefs: More errcode conversions new b7e728319e97 bcachefs: add an unlikely() to trans_begin() new 42571ac1670c bcachefs: Plumb trans_kmalloc ip to trans_log_msg new c1aa673ff81d bcachefs: Don't log error twice in allocator async repair new bf39e1a12ded bcachefs: Don't memcpy more than needed new c60f9a4b8761 bcachefs: bch2_trans_has_updates() new d6e98b555bea bcachefs: Improve inode deletion new 7999c06846f7 bcachefs: Don't peek key cache unless we have a real key new b885c7678d74 bcachefs: Evict/bypass key cache when deleting new 42445b82eeec bcachefs: Refactor trans->mem allocation new e1ce52e7a67b bcachefs: Shut up clang warning new 0803fa689bb9 bcachefs: -o fix_errors may now be used without -o fsck new 47417476841e bcachefs: Improved btree node tracepoints new a528f41b4c73 bcachefs: Finish error_throw tracepoints new 9f8e75466738 bcachefs: Simplify bch2_bio_map() new 953648145a52 bcachefs: Use bio_add_folio_nofail() for unfailable operations new 76e119662a0b bcachefs: Improve inode_create behaviour on old filesystems new 2fc7dc25bb42 bcachefs: Before removing dangling dirents, check for contents new c6dcbeb68dbe bcachefs: check_key_has_inode() reconstructs more aggressively new 73a7dffa1b53 bcachefs: bch_fs.devs_removed new 5a8694e8a200 bcachefs: ptr_to_removed_device new c28c726036aa bcachefs: Don't lock exec_update_lock new ccc69220221c Merge branch 'for-next' of git://evilpiepirate.org/bcachefs.git new b35f6f3a68bf Merge branch 'for-next' of git://git.kernel.org/pub/scm/fs [...] new c61421dc8b5d btrfs: unfold transaction aborts at btrfs_create_new_inode() new 43bb3cd35354 btrfs: unfold transaction abort at __btrfs_inc_extent_ref() new d2e68d91bcee btrfs: unfold transaction abort at walk_up_proc() new a1227228dc0c btrfs: remove pointless 'out' label from clone_finish_inod [...] new 4331548e4149 btrfs: unfold transaction abort at clone_copy_inline_extent() new 577b5211a2c7 btrfs: zoned: use filesystem size not disk size for reclai [...] new 6a32ba127d62 btrfs: make btrfs_should_periodic_reclaim() static new b3d1a70e7b12 btrfs: unfold transaction aborts when replaying log trees new fd0b4b8c4664 btrfs: abort transaction during log replay if walk_log_tre [...] new a45575a66b19 btrfs: remove redundant path release when replaying a log tree new 579a7d673347 btrfs: simplify error detection flow during log replay new 2a50f009e962 btrfs: move transaction aborts to the error site in remove [...] new 1c09bbc6931b btrfs: move transaction aborts to the error site in add_bl [...] new 61add6e0b42d btrfs: unfold transaction abort at btrfs_copy_root() new d741c6274dee btrfs: abort transaction on unexpected eb generation at bt [...] new 154639548b1a btrfs: unfold transaction abort at __btrfs_update_delayed_inode() new 50976c295f5d btrfs: unfold transaction abort at btrfs_insert_one_raid_extent() new 7c110ac9fe3c btrfs: relocation: simplify unused logic related to LINK_LOWER new 365254995e21 btrfs: fix comment in reserved space warning new 3f6a2a575754 btrfs: use rb_find_add() in btrfs_insert_inode_defrag() new 1a5f281000ee btrfs: use rb_find() in __btrfs_lookup_delayed_item() new 7adc777dc13f btrfs: use rb_find() in ulist_rbtree_search() new 698fd4e07a5a btrfs: use rb_find_add() in ulist_rbtree_insert() new 619e92673077 btrfs: use rb_find() in lookup_block_entry() new 8dded3f46a12 btrfs: use rb_find_add() in insert_block_entry() new ae0b3b90e141 btrfs: use rb_find() in lookup_root_entry() new 4613ec70db22 btrfs: use rb_find_add() in insert_root_entry() new 2ce0a5a7343e btrfs: use rb_find_add() in insert_ref_entry() new ffbe8eed1a3e btrfs: use rb_find() in find_qgroup_rb() new 0009418c2e09 btrfs: use rb_find_add() in add_qgroup_rb() new 675b3bc47a76 btrfs: use rb_find() in btrfs_qgroup_trace_subtree_after_cow() new e647fbd5a14a btrfs: use rb_find_add() in btrfs_qgroup_add_swapped_blocks() new 82ad564684d6 btrfs: pass struct rb_simple_node pointer directly in rb_s [...] new 5f2cc922b0f8 btrfs: use rb_find_add() in rb_simple_insert() new d5d11ce13508 btrfs: sysfs: track current commit duration in commit_stats new f7a82383ac5e btrfs: constify more pointer parameters new edd988a60c38 btrfs: factor out compression mount options parsing new c6820dcc64a3 btrfs: harden parsing of compression mount options new 5d1cb5366837 btrfs: add comments on the extra btrfs specific subpage bitmaps new 082219c15a5c btrfs: rename btrfs_subpage structure new a30f381e22e3 btrfs: rename err to ret2 in resolve_indirect_refs() new bf61b08b25ba btrfs: rename err to ret2 in read_block_for_search() new 3d72f1163239 btrfs: rename err to ret2 in search_leaf() new 3fd7ea127dac btrfs: rename err to ret2 in btrfs_search_slot() new bc6ce04f2762 btrfs: rename err to ret2 in btrfs_search_old_slot() new 9fdc2c8a5827 btrfs: rename err to ret2 in btrfs_setsize() new 8f110836c3d1 btrfs: rename err to ret2 in btrfs_add_link() new f9712ac13656 btrfs: rename err to ret2 in btrfs_truncate_inode_items() new c53a9c16d1d7 btrfs: rename err to ret in btrfs_try_lock_extent_bits() new 489d5e694e0c btrfs: rename err to ret in btrfs_lock_extent_bits() new 92dcc182270e btrfs: rename err to ret in btrfs_alloc_from_bitmap() new 429c6baad190 btrfs: rename err to ret in btrfs_init_inode_security() new 658b303b6be3 btrfs: rename err to ret in btrfs_setattr() new ca8952eaa799 btrfs: rename err to ret in btrfs_link() new 6e1ae8353489 btrfs: rename err to ret in btrfs_symlink() new b864c2058ce6 btrfs: rename err to ret in calc_pct_ratio() new 88b7c3e4c7ca btrfs: rename err to ret in btrfs_fill_super() new 51bc638f8227 btrfs: rename err to ret in quota_override_store() new bc1a8d2f88cd btrfs: rename err to ret in btrfs_wait_extents() new 669d308c3afd btrfs: rename err to ret in btrfs_wait_tree_log_extents() new 1e9a0afe8425 btrfs: rename err to ret in btrfs_create_common() new adb9b4f96c36 btrfs: rename err to ret in scrub_submit_extent_sector_read() new 2c4f3eb40dd6 btrfs: open code fc_mount() to avoid releasing s_umount rw [...] new 3a9b425ad3b5 btrfs: assert we join log transaction at btrfs_del_inode_r [...] new 3481548aadb6 btrfs: free path sooner at __btrfs_unlink_inode() new 0cdd829dfe7f btrfs: use btrfs_del_item() at del_logged_dentry() new 5906d50e960d btrfs: assert we join log transaction at btrfs_del_dir_ent [...] new 82ec6a0a3040 btrfs: allocate path earlier at btrfs_del_dir_entries_in_log() new 24e0cb6eb297 btrfs: allocate path earlier at btrfs_log_new_name() new fa66d13d0209 btrfs: allocate scratch eb earlier at btrfs_log_new_name() new 31c22979ceb8 btrfs: pass NULL index to btrfs_del_inode_ref() where not needed new cf0ff20d78eb btrfs: switch del_all argument of replay_dir_deletes() fro [...] new c1635855fd12 btrfs: make btrfs_delete_delayed_insertion_item() return a [...] new cad7986e0f8e btrfs: add details to error messages at btrfs_delete_delay [...] new 2daea3c44aab btrfs: make btrfs_should_delete_dir_index() return a bool instead new 61af448c1b3c btrfs: make btrfs_readdir_delayed_dir_index() return a boo [...] new 7024e44ac1c2 btrfs: reorganize logic at free_extent_buffer() for better [...] new f729b3410c21 btrfs: add comment for optimization in free_extent_buffer() new 0a4b19dc62d3 btrfs: use refcount_t type for the extent buffer reference [...] new fc05ba7a90a6 btrfs: enable experimental large data folio support new 5e9439245163 btrfs: update comment for xarray fields in struct btrfs_root new 64c5ca1c79d0 btrfs: use on-stack variable for block reserve in btrfs_ev [...] new 4c6f7546140f btrfs: use on-stack variable for block reserve in btrfs_tr [...] new 58298504361f btrfs: use on-stack variable for block reserve in btrfs_re [...] new fecd9ad0402e btrfs: use btrfs_is_data_reloc_root() where not done yet new dc6d3df765eb btrfs: use btrfs_root_id() where not done yet new 5d85978314c5 btrfs: zoned: reserve data_reloc block group on mount new ab648cc86df3 btrfs: open code rcu_string_free() and remove it new 5a464f5ba150 btrfs: remove unused rcu-string printk helpers new c5ad356e8210 btrfs: remove unused levels of message helpers new e3f6cb609b06 btrfs: switch all message helpers to be RCU safe new 766e826432e5 btrfs: switch RCU helper versions to btrfs_err() new 805b0e08f9a6 btrfs: switch RCU helper versions to btrfs_warn() new e84fb1abbc9f btrfs: switch RCU helper versions to btrfs_info() new f7347c8e4f12 btrfs: switch RCU helper versions to btrfs_debug() new fd9aaddec6a1 btrfs: remove remaining unused message helpers new 0579a10d07c3 btrfs: simplify debug print helpers without enabled printk new 0f49ecd9bf94 btrfs: merge btrfs_printk_ratelimited() and it's only caller new a9dd03106db1 btrfs: add extra warning when qgroup is marked inconsistent new b3b587df28d2 btrfs: fix failure to rebuild free space tree using multip [...] new 0422db241d4e btrfs: always abort transaction on failure to add block gr [...] new 8e522e3db5a1 btrfs: check BLOCK_GROUP_FLAG_NEEDS_FREE_SPACE at __add_bl [...] new 657cc7f52543 btrfs: simplify range end calculations in truncate_block_z [...] new 47bd167f5aa0 btrfs: rename variables for locked range in defrag_prepare [...] new b37e18ff5594 btrfs: add helper folio_end() new 752100b1e0a9 btrfs: use folio_end() where appropriate new 451e5b0c8e97 btrfs: tree-log: add and rename extent bits for dirty_log_ [...] new 1bc4bb745584 btrfs: remove pointless out label from add_new_free_space_info() new 31aa4dd786dc btrfs: remove pointless out label from update_free_space_e [...] new e06a3330f945 btrfs: make extent_buffer_test_bit() return a boolean instead new e49e66892cbb btrfs: make free_space_test_bit() return a boolean instead new 8011ce0626b8 btrfs: remove pointless out label from modify_free_space_bitmap() new 240180bac1ae btrfs: remove pointless out label from remove_free_space_extent() new 8cdea0d86209 btrfs: remove pointless out label from add_free_space_extent() new 9b70afb07b6e btrfs: remove pointless out label from load_free_space_bitmaps() new ff894c173991 btrfs: remove pointless out label from load_free_space_extents() new acac96573a6b btrfs: add btrfs prefix to free space tree exported functions new 25b9ac320a59 btrfs: rename free_space_set_bits() and make it less confusing new a91c57640e81 btrfs: turn remove argument of modify_free_space_bitmap() [...] new 41d36d84a581 btrfs: avoid double slot decrement at btrfs_convert_free_s [...] new 0d9e79adf241 btrfs: use fs_info from local variable in btrfs_convert_fr [...] new fc3c0732149d btrfs: add and use helper to determine if using bitmaps in [...] new eee7bfa0e941 btrfs: cache if we are using free space bitmaps for a block group new fa2cd9fd8a5e btrfs: rename error to ret in btrfs_may_delete() new 147ed5562aed btrfs: rename error to ret in btrfs_mksubvol() new 49a786acd83c btrfs: rename error to ret in btrfs_sysfs_add_fsid() new b1f9190a89ea btrfs: rename error to ret in btrfs_sysfs_add_mounted() new 2dd07fab794b btrfs: rename error to ret in device_list_add() new 7fedd3c6dd0f btrfs: remove unused parameters from btrfs_lookup_inode_extref() new a58cbc546278 btrfs: use folio_next_index() helper in check_range_has_page() new b988b67b5860 btrfs: remove partial support for lowest level from btrfs_ [...] new eaea0faaf6ba btrfs: use our message helpers instead of pr_err/pr_warn/pr_info new cd259be49719 btrfs: fix missing error handling when searching for inode [...] new edf7a45c2d40 btrfs: fix iteration of extrefs during log replay new 329dcb54d3ef btrfs: fix inode lookup error handling during log replay new 47daf995b2af btrfs: record new subvolume in parent dir earlier to avoid [...] new 98a0f4b12f16 btrfs: propagate last_unlink_trans earlier when doing a rmdir new 2a3c7660adce btrfs: use btrfs_record_snapshot_destroy() during rmdir new 6315ff191dbf btrfs: use inode already stored in local variable at btrfs [...] new 4c5b0011e9b5 btrfs: use btrfs inodes in btrfs_rmdir() to avoid so much [...] new 070981f37c9c btrfs: split inode ref processing from __add_inode_ref() i [...] new 4d28e6f5a440 btrfs: split inode extref processing from __add_inode_ref( [...] new ea66f079585c btrfs: add btrfs prefix to is_fsstree() and make it return bool new b4e274bdd820 btrfs: split btrfs_is_fsstree() into multiple if statement [...] new 7cbe6b39b9ae btrfs: qgroup: remove pointless error check for add_qgroup [...] new 79c0c1723aa8 btrfs: qgroup: avoid memory allocation if qgroups are not enabled new 217439f98437 btrfs: send: avoid extra calls to strlen() in gen_unique_name() new 2e330322a97c btrfs: replace nested usage of min & max with clamp in btr [...] new 977f151bdd9d btrfs: use pgoff_t for page index variables new f6da0886f106 btrfs: change dump_block_groups in btrfs_dump_space_info f [...] new 49e2b74d4bfb btrfs: clear dirty status from extent buffer on error at i [...] new d91ca7ff473a btrfs: qgroup: fix race between quota disable and quota re [...] new a92726c3c5f7 btrfs: qgroup: remove no longer used fs_info->qgroup_ulist new 57556d988282 btrfs: don't use token set/get accessors for btrfs_item members new 9b3730e13d0f btrfs: don't use token set/get accessors in inode.c:fill_i [...] new dd13b21c6a3c btrfs: tree-log: don't use token set/get accessors in fill [...] new 80d513cfae79 btrfs: accessors: delete token versions of set/get helpers new d282edfe8850 btrfs: replace strcpy() with strscpy() new 8480d4b5a249 btrfs: use struct qstr for subvolume ioctl helpers new 952948b5d5c9 btrfs: pass dentry to btrfs_mksubvol() and btrfs_mksnapshot() new 1e873169210b btrfs: pass bool to indicate subvolume/snapshot creation type new 817f0c7ad133 btrfs: rename inode number parameter passed to btrfs_check [...] new 446ee7c0bc52 btrfs: don't skip accounting in early ENOTTY return in btr [...] new 452dc9cb72f0 Merge branch 'b-for-next' into for-next-next-v6.16-20250701 new bf28af1a59bd btrfs: === misc-next on b-for-next === new c37f7428b0ae btrfs: index buffer_tree using node size new 82b886f94380 btrfs: open code RCU for device name new cc42bb90030a btrfs: remove struct rcu_string new cc3389d45baa btrfs: always open the device read-only in btrfs_scan_one_device new 8d6d61ef0e8a btrfs: get rid of the re-entry of btrfs_get_tree() new 48e630232bc6 btrfs: add comments to make super block creation more clear new 53f6594d2aaa btrfs: call btrfs_close_devices from ->kill_sb new 5094810b18f0 btrfs: call bdev_fput() to reclaim the blk_holder immediately new 9555d6818f0c btrfs: delay btrfs_open_devices() until super block is created new 536569a1d0cd btrfs: use the super_block as holder when mounting file systems new 3ea4f429b867 btrfs: use fs_holder_ops for all opened devices new 294bbf424529 btrfs: qgroup: set quota enabled bit if quota disable fail [...] new b70cb9857831 btrfs: qgroup: fix qgroup create ioctl returning success a [...] new a5b253434325 btrfs: qgroup: use btrfs_qgroup_enabled() in ioctls new af153c915237 Merge branch 'misc-next' into for-next-next-v6.16-20250701 new dcd5cdf8fa28 Merge branch 'for-next-next-v6.16-20250701' into for-next- [...] new 0544d2b1a972 Merge branch 'for-next' of git://git.kernel.org/pub/scm/li [...] new 9529e08d77ee Merge branch 'for-next' of git://git.samba.org/sfrench/cif [...] new 410b349e637f Merge branch 'next' of git://git.kernel.org/pub/scm/linux/ [...] new 634351c1a39b erofs: get rid of {get,put}_page() for ztailpacking data new 646d15514e91 Merge branch 'dev' of git://git.kernel.org/pub/scm/linux/k [...] new 12215f683cbb Merge branch 'dev' of git://git.kernel.org/pub/scm/linux/k [...] new 5e4df4e82d1e Merge branch 'for_next' of git://git.kernel.org/pub/scm/li [...] new 42a9ea7a4719 Merge branch 'dev' of git://git.kernel.org/pub/scm/linux/k [...] new 0f20fec73cc0 Merge branch 'for-next' of git://git.kernel.org/pub/scm/fs [...] new 38074de35b01 NFSv4/flexfiles: Fix handling of NFS level errors in I/O new 157b1b746f9e Merge branch 'linux-next' of git://git.linux-nfs.org/proje [...] new dc8efdd7d72a Merge branch 'nfsd-next' of git://git.kernel.org/pub/scm/l [...] new f4671928b307 Merge branch 'master' of https://github.com/Paragon-Softwa [...] new 849b796c5fbf Merge branch 'for-next' of git://git.kernel.org/pub/scm/fs [...] new 12d1fe1b065a Merge branch 'for-next' of git://git.kernel.org/pub/scm/li [...] new f30558db6ddf Merge branch 'vfs.fixes' into vfs.all new 4dc65f072c2b fs: generalize anon_inode_make_secure_inode() and fix secr [...] new c608a019c82f fs: Prevent file descriptor table allocations exceeding INT_MAX new 36996c013faf fs/buffer: remove the min and max limit checks in __getblk_slow() new c2d3651387f8 fs/libfs: don't assume blocksize <= PAGE_SIZE in generic_c [...] new da08e6a576a2 Merge branch 'vfs-6.17.misc' into vfs.all new 94870438987c Merge branch 'vfs-6.17.coredump' into vfs.all new dbc36d7db0e1 Merge branch 'vfs-6.17.file' into vfs.all new 020887534d47 Merge branch 'vfs-6.17.nsfs' into vfs.all new ac01e27399e5 Merge branch 'vfs-6.17.async.dir' into vfs.all new e424337d492e Merge branch 'vfs-6.17.mmap_prepare' into vfs.all new 03cec2b99fbc Merge branch 'vfs-6.17.pidfs' into vfs.all new 128405c85878 Merge branch 'vfs-6.17.bpf' into vfs.all new f49150480d7a Merge branch 'vfs-6.17.rust' into vfs.all new c6603b1d6556 block: rename tuple_size field in blk_integrity to metadata_size new 76e45252a4ce block: introduce pi_tuple_size field in blk_integrity new f3ee50659148 nvme: set pi_offset only when checksum type is not BLK_INT [...] new 9eb22f7fedfc fs: add ioctl to query metadata and protection info capabilities new 4a3def74d981 Merge patch series "add ioctl to query metadata and protec [...] new c46c3266a21e Merge branch 'vfs-6.17.integrity' into vfs.all new 2f952c9e8fe1 fs: split fileattr related helpers into separate file new defdd02d783c lsm: introduce new hooks for setting/getting inode fsxattr new bd14e462bb52 selinux: implement inode_file_[g|s]etattr hooks new 6c70ed9fdb48 fs: make vfs_fileattr_[get|set] return -EOPNOSUPP new b9f6e3ab7e2b fs: prepare for extending file_get/setattr() new 09fa5f72996a fs: introduce file_getattr and file_setattr syscalls new 7ecb8cc735af Merge patch series "fs: introduce file_getattr and file_se [...] new 8ea6ae23a1ad Merge branch 'vfs-6.17.fileattr' into vfs.all new aac00f663a4f Merge branch 'vfs.all' of git://git.kernel.org/pub/scm/lin [...] new cba6a6313ee7 Merge branch 'for-next' of git://git.kernel.org/pub/scm/li [...]
This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this:
* -- * -- B -- O -- O -- O (d99142e57314) \ N -- N -- N refs/heads/fs-next (cba6a6313ee7)
You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B.
Any revisions marked "omits" are not gone; other references still refer to them. Any revisions marked "discards" are gone forever.
The 275 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
Summary of changes: arch/alpha/kernel/syscalls/syscall.tbl | 2 + arch/arm/tools/syscall.tbl | 2 + arch/arm64/tools/syscall_32.tbl | 2 + arch/m68k/kernel/syscalls/syscall.tbl | 2 + arch/microblaze/kernel/syscalls/syscall.tbl | 2 + arch/mips/kernel/syscalls/syscall_n32.tbl | 2 + arch/mips/kernel/syscalls/syscall_n64.tbl | 2 + arch/mips/kernel/syscalls/syscall_o32.tbl | 2 + arch/parisc/kernel/syscalls/syscall.tbl | 2 + arch/powerpc/kernel/syscalls/syscall.tbl | 2 + arch/s390/kernel/syscalls/syscall.tbl | 2 + arch/sh/kernel/syscalls/syscall.tbl | 2 + arch/sparc/kernel/syscalls/syscall.tbl | 2 + arch/x86/entry/syscalls/syscall_32.tbl | 2 + arch/x86/entry/syscalls/syscall_64.tbl | 2 + arch/xtensa/kernel/syscalls/syscall.tbl | 2 + block/bio-integrity-auto.c | 4 +- block/blk-integrity.c | 54 ++- block/blk-settings.c | 44 ++- block/ioctl.c | 4 + block/t10-pi.c | 16 +- drivers/md/dm-crypt.c | 4 +- drivers/md/dm-integrity.c | 12 +- drivers/nvdimm/btt.c | 2 +- drivers/nvme/host/core.c | 7 +- drivers/nvme/target/io-cmd-bdev.c | 2 +- drivers/rtc/rtc-cmos.c | 10 +- drivers/rtc/rtc-pcf2127.c | 7 +- drivers/rtc/rtc-s5m.c | 197 +++++++---- drivers/scsi/sd_dif.c | 3 +- fs/Makefile | 3 +- fs/bcachefs/bcachefs.h | 1 + fs/bcachefs/fs.c | 2 + fs/bcachefs/fsck.c | 53 ++- fs/bcachefs/recovery.c | 3 +- fs/bcachefs/sb-errors_format.h | 4 +- fs/bcachefs/sb-members.c | 29 +- fs/bcachefs/sb-members.h | 1 + fs/bcachefs/super-io.c | 5 +- fs/bcachefs/util.c | 5 - fs/btrfs/accessors.c | 78 ----- fs/btrfs/accessors.h | 37 --- fs/btrfs/block-group.c | 8 +- fs/btrfs/compression.c | 14 +- fs/btrfs/ctree.c | 52 ++- fs/btrfs/disk-io.c | 3 +- fs/btrfs/extent-tree.c | 86 +++-- fs/btrfs/extent_io.c | 4 +- fs/btrfs/file.c | 2 +- fs/btrfs/free-space-cache.c | 2 +- fs/btrfs/fs.h | 13 +- fs/btrfs/inode.c | 69 ++-- fs/btrfs/ioctl.c | 31 +- fs/btrfs/qgroup.c | 72 ++-- fs/btrfs/relocation.c | 10 +- fs/btrfs/send.c | 6 +- fs/btrfs/space-info.c | 6 +- fs/btrfs/space-info.h | 2 +- fs/btrfs/super.c | 30 +- fs/btrfs/tests/extent-io-tests.c | 7 +- fs/btrfs/transaction.c | 6 +- fs/btrfs/tree-log.c | 48 ++- fs/btrfs/volumes.c | 11 +- fs/btrfs/xattr.c | 3 +- fs/btrfs/zoned.c | 12 +- fs/btrfs/zoned.h | 6 +- fs/buffer.c | 11 +- fs/erofs/zdata.c | 14 +- fs/eventpoll.c | 458 ++++++++----------------- fs/file.c | 15 + fs/file_attr.c | 498 ++++++++++++++++++++++++++++ fs/fuse/ioctl.c | 4 + fs/ioctl.c | 309 ----------------- fs/libfs.c | 10 +- fs/netfs/buffered_write.c | 38 ++- fs/netfs/direct_write.c | 16 - fs/netfs/internal.h | 26 +- fs/netfs/main.c | 6 +- fs/netfs/misc.c | 50 +-- fs/netfs/read_collect.c | 16 +- fs/netfs/write_collect.c | 14 +- fs/netfs/write_retry.c | 3 +- fs/nfs/flexfilelayout/flexfilelayout.c | 118 +++++-- fs/overlayfs/copy_up.c | 2 +- fs/overlayfs/inode.c | 5 +- fs/smb/client/cifssmb.c | 22 ++ fs/smb/client/smb2pdu.c | 27 +- include/linux/blk-integrity.h | 11 +- include/linux/blkdev.h | 3 +- include/linux/fileattr.h | 24 ++ include/linux/lsm_hook_defs.h | 2 + include/linux/netfs.h | 21 +- include/linux/security.h | 16 + include/linux/syscalls.h | 6 + include/trace/events/netfs.h | 29 +- include/uapi/asm-generic/unistd.h | 8 +- include/uapi/linux/fs.h | 78 +++++ io_uring/io_uring.c | 3 +- scripts/syscall.tbl | 2 + security/security.c | 30 ++ security/selinux/hooks.c | 14 + 101 files changed, 1752 insertions(+), 1279 deletions(-) create mode 100644 fs/file_attr.c