Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag '9p-for-6.12-rc4' of https://github.com/martinetd/linux

Pull 9p fixes from Dominique Martinet:
"Mashed-up update that I sat on too long:

- fix for multiple slabs created with the same name

- enable multipage folios

- theorical fix to also look for opened fids by inode if none was
found by dentry"

[ Enabling multi-page folios should have been done during the merge
window, but it's a one-liner, and the actual meat of the enablement
is in netfs and already in use for other filesystems... - Linus ]

* tag '9p-for-6.12-rc4' of https://github.com/martinetd/linux:
9p: Avoid creating multiple slab caches with the same name
9p: Enable multipage folios
9p: v9fs_fid_find: also lookup by inode if not found dentry

+12 -4
+2 -3
fs/9p/fid.c
··· 131 131 } 132 132 } 133 133 spin_unlock(&dentry->d_lock); 134 - } else { 135 - if (dentry->d_inode) 136 - ret = v9fs_fid_find_inode(dentry->d_inode, false, uid, any); 137 134 } 135 + if (!ret && dentry->d_inode) 136 + ret = v9fs_fid_find_inode(dentry->d_inode, false, uid, any); 138 137 139 138 return ret; 140 139 }
+1
fs/9p/vfs_inode.c
··· 295 295 inode->i_op = &v9fs_file_inode_operations; 296 296 inode->i_fop = &v9fs_file_operations; 297 297 } 298 + mapping_set_large_folios(inode->i_mapping); 298 299 299 300 break; 300 301 case S_IFLNK:
+9 -1
net/9p/client.c
··· 979 979 int err; 980 980 struct p9_client *clnt; 981 981 char *client_id; 982 + char *cache_name; 982 983 983 984 clnt = kmalloc(sizeof(*clnt), GFP_KERNEL); 984 985 if (!clnt) ··· 1036 1035 if (err) 1037 1036 goto close_trans; 1038 1037 1038 + cache_name = kasprintf(GFP_KERNEL, "9p-fcall-cache-%s", dev_name); 1039 + if (!cache_name) { 1040 + err = -ENOMEM; 1041 + goto close_trans; 1042 + } 1043 + 1039 1044 /* P9_HDRSZ + 4 is the smallest packet header we can have that is 1040 1045 * followed by data accessed from userspace by read 1041 1046 */ 1042 1047 clnt->fcall_cache = 1043 - kmem_cache_create_usercopy("9p-fcall-cache", clnt->msize, 1048 + kmem_cache_create_usercopy(cache_name, clnt->msize, 1044 1049 0, 0, P9_HDRSZ + 4, 1045 1050 clnt->msize - (P9_HDRSZ + 4), 1046 1051 NULL); 1047 1052 1053 + kfree(cache_name); 1048 1054 return clnt; 1049 1055 1050 1056 close_trans: