Looking at this: static int cifs_readpage_worker(struct file *file, struct page *page, loff_t *poffset) { char *read_data; int rc; /* Is the page cached? */ rc = cifs_readpage_from_fscache(file_inode(file), page); if (rc == 0) goto read_complete; Should you return here if rc == -ENOMEM or -ERESTARTSYS? That might break cifs_write_begin() though - which perhaps ought to check the return value. Your patch, however, looks okay otherwise, so feel free to add: Acked-by: David Howells <dhowells@xxxxxxxxxx> David -- To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html