]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
client: handle O_PATH fds on setattr too 3649/head
authorGreg Farnum <gfarnum@redhat.com>
Fri, 6 Feb 2015 05:05:57 +0000 (21:05 -0800)
committerGreg Farnum <gfarnum@redhat.com>
Fri, 6 Feb 2015 05:05:57 +0000 (21:05 -0800)
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
src/client/Client.cc

index 1c305510a7162872163c6d4a97f785063a242aa5..cf650b55fe01db67d6efd747f97da10443e9a53a 100644 (file)
@@ -5467,6 +5467,10 @@ int Client::fsetattr(int fd, struct stat *attr, int mask)
   Fh *f = get_filehandle(fd);
   if (!f)
     return -EBADF;
+#if defined(__linux__) && defined(O_PATH)
+  if (f->flags & O_PATH)
+    return -EBADF;
+#endif
   return _setattr(f->inode, attr, mask); 
 }