Merge tag 'drm-misc-fixes-2018-09-19' of git://anongit.freedesktop.org/drm/drm-misc...
[linux-2.6-block.git] / fs / ceph / dir.c
index 036ac0f3a393afe98278cd388de4e68b7e4b286c..82928cea02095a315fa9c631cbb19218af83774d 100644 (file)
@@ -827,12 +827,14 @@ static int ceph_mknod(struct inode *dir, struct dentry *dentry,
        if (ceph_snap(dir) != CEPH_NOSNAP)
                return -EROFS;
 
-       if (ceph_quota_is_max_files_exceeded(dir))
-               return -EDQUOT;
+       if (ceph_quota_is_max_files_exceeded(dir)) {
+               err = -EDQUOT;
+               goto out;
+       }
 
        err = ceph_pre_init_acls(dir, &mode, &acls);
        if (err < 0)
-               return err;
+               goto out;
 
        dout("mknod in dir %p dentry %p mode 0%ho rdev %d\n",
             dir, dentry, mode, rdev);
@@ -883,8 +885,10 @@ static int ceph_symlink(struct inode *dir, struct dentry *dentry,
        if (ceph_snap(dir) != CEPH_NOSNAP)
                return -EROFS;
 
-       if (ceph_quota_is_max_files_exceeded(dir))
-               return -EDQUOT;
+       if (ceph_quota_is_max_files_exceeded(dir)) {
+               err = -EDQUOT;
+               goto out;
+       }
 
        dout("symlink in dir %p dentry %p to '%s'\n", dir, dentry, dest);
        req = ceph_mdsc_create_request(mdsc, CEPH_MDS_OP_SYMLINK, USE_AUTH_MDS);
@@ -1393,7 +1397,7 @@ static ssize_t ceph_read_dir(struct file *file, char __user *buf, size_t size,
                                " rfiles:   %20lld\n"
                                " rsubdirs: %20lld\n"
                                "rbytes:    %20lld\n"
-                               "rctime:    %10ld.%09ld\n",
+                               "rctime:    %10lld.%09ld\n",
                                ci->i_files + ci->i_subdirs,
                                ci->i_files,
                                ci->i_subdirs,
@@ -1401,8 +1405,8 @@ static ssize_t ceph_read_dir(struct file *file, char __user *buf, size_t size,
                                ci->i_rfiles,
                                ci->i_rsubdirs,
                                ci->i_rbytes,
-                               (long)ci->i_rctime.tv_sec,
-                               (long)ci->i_rctime.tv_nsec);
+                               ci->i_rctime.tv_sec,
+                               ci->i_rctime.tv_nsec);
        }
 
        if (*ppos >= dfi->dir_info_len)