From b1b612fc19d9a5bc534b79a423676225b7044d9f Mon Sep 17 00:00:00 2001 From: Greg Farnum Date: Mon, 28 Sep 2009 13:54:55 -0700 Subject: [PATCH] uclient: Return EFBIG rather than EBADF on too-large file sizes. --- src/client/Client.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client/Client.cc b/src/client/Client.cc index 682d13cf97286..f01849310f02c 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -3419,7 +3419,7 @@ int Client::_setattr(Inode *in, struct stat_precise *attr, int mask, int uid, in req->head.args.setattr.size = attr->st_size; else { //too big! delete req; - return -EBADF; + return -EFBIG; } req->inode_drop |= CEPH_CAP_AUTH_SHARED | CEPH_CAP_FILE_RD | CEPH_CAP_FILE_WR; @@ -4476,7 +4476,7 @@ int Client::write(int fd, const char *buf, loff_t size, loff_t offset) int Client::_write(Fh *f, __s64 offset, __u64 size, const char *buf) { if ((__u64)(offset+size) > mdsmap->get_max_filesize()) //too large! - return -EBADF; + return -EFBIG; //dout(7) << "write fh " << fh << " size " << size << " offset " << offset << dendl; Inode *in = f->inode; -- 2.39.5