We're seeing file corruption while running 5.10, bisected to 1cc1699070bd: >> +static int ceph_write_begin(struct file *file, struct address_space *mapping, >> + loff_t pos, unsigned len, unsigned flags, >> + struct page **pagep, void **fsdata) <snip> >> + /* >> + * In some cases we don't need to read at all: >> + * - full page write >> + * - write that lies completely beyond EOF >> + * - write that covers the the page from start to EOF or beyond it >> + */ >> + if ((pos_in_page == 0 && len == PAGE_SIZE) || >> + (pos >= i_size_read(inode)) || Shouldn't this be '((pos & PAGE_MASK) >= i_size_read(inode)) ||' ? Seems like fs/netfs/read_helper.c currently has the same issue? >> + (pos_in_page == 0 && (pos + len) >= i_size_read(inode))) { >> + zero_user_segments(page, 0, pos_in_page, >> + pos_in_page + len, PAGE_SIZE); >> + break; >> + } -- Andrew W. Elble Infrastructure Engineer Information and Technology Services Rochester Institute of Technology tel: (585)-475-2411 | aweits@xxxxxxx PGP: BFAD 8461 4CCF DC95 DA2C B0EB 965B 082E 863E C912