nautilus: cephfs: client: remove Inode.dir_contacts field and handle bad whence value to llseek gracefully
pos = in->size + offset;
break;
+ case SEEK_DATA:
+ if (offset < 0 || offset >= in->size) {
+ r = -ENXIO;
+ return offset;
+ }
+ pos = offset;
+ break;
+
+ case SEEK_HOLE:
+ if (offset < 0 || offset >= in->size) {
+ r = -ENXIO;
+ pos = offset;
+ } else {
+ pos = in->size;
+ }
+ break;
+
default:
- ceph_abort();
+ ldout(cct, 1) << __func__ << ": invalid whence value " << whence << dendl;
+ return -EINVAL;
}
if (pos < 0) {