Re: [PATCH v3 00/12] fs/ceph: optimize struct layouts
Alex Markuze <[email protected]>
| Newsgroups | org.kernel.vger.ceph-devel |
|---|---|
| Message-ID | <[email protected]> |
Hi Max, Most of the series is clean — the field removals, bool conversions and padding reordering are all welcome. Three blockers: Patch 10 replaces the CEPH_SNAPDIR check in ceph_d_prune() with ceph_in_snap(), which also matches ordinary snapshot subdirectories. Those lose their __ceph_dir_clear_complete() call on prune, so the dcache completeness claim is wrong for them after VFS reclaim. Keep the exact ceph_snap(...) == CEPH_SNAPDIR check there. Patch 12 declares vino but only uses it inside #if BITS_PER_LONG >= 64. The 32-bit path never references it, so -Wunused-variable breaks the build with CONFIG_WERROR=y. struct ceph_file_layout is shared with RBD which works with 64-bit OSD pool IDs. Narrowing pool_id to u32 silently truncates any pool above U32_MAX in the RBD path. The MDS wire format being __le32 is fine; the in-memory field needs to stay 64-bit. Could you respin? -- Alex Markuze