]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge pull request #30766 from smithfarm/wip-42145-nautilus
authorYuri Weinstein <yweinste@redhat.com>
Fri, 10 Jan 2020 20:18:13 +0000 (12:18 -0800)
committerGitHub <noreply@github.com>
Fri, 10 Jan 2020 20:18:13 +0000 (12:18 -0800)
nautilus: cephfs: client: remove Inode.dir_contacts field and handle bad whence value to llseek gracefully

1  2 
src/client/Client.cc
src/client/Inode.h

index 3f1e3b9bbbf6fa6999535e30f8f58038f590b4c3,f9e04e5ca8c0a4767377b190291327dd401d6ec7..571dceca3c966a445f4e3b2ec767e505d65833ac
@@@ -8913,25 -8870,12 +8899,26 @@@ loff_t Client::_lseek(Fh *f, loff_t off
      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) {
Simple merge