Commit 14c06b91 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'ceph-for-6.6-rc4' of https://github.com/ceph/ceph-client

Pull ceph fixes from Ilya Dryomov:
 "A series that fixes an involved 'double watch error' deadlock in RBD
  marked for stable and two cleanups"

* tag 'ceph-for-6.6-rc4' of https://github.com/ceph/ceph-client:
  rbd: take header_rwsem in rbd_dev_refresh() only when updating
  rbd: decouple parent info read-in from updating rbd_dev
  rbd: decouple header read-in from updating rbd_dev->header
  rbd: move rbd_dev_refresh() definition
  Revert "ceph: make members in struct ceph_mds_request_args_ext a union"
  ceph: remove unnecessary check for NULL in parse_longname()
parents 10c0b6ba 0b207d02
This diff is collapsed.
...@@ -249,11 +249,9 @@ static struct inode *parse_longname(const struct inode *parent, ...@@ -249,11 +249,9 @@ static struct inode *parse_longname(const struct inode *parent,
if (!dir) { if (!dir) {
/* This can happen if we're not mounting cephfs on the root */ /* This can happen if we're not mounting cephfs on the root */
dir = ceph_get_inode(parent->i_sb, vino, NULL); dir = ceph_get_inode(parent->i_sb, vino, NULL);
if (!dir) if (IS_ERR(dir))
dir = ERR_PTR(-ENOENT); dout("Can't find inode %s (%s)\n", inode_number, name);
} }
if (IS_ERR(dir))
dout("Can't find inode %s (%s)\n", inode_number, name);
out: out:
kfree(inode_number); kfree(inode_number);
......
...@@ -467,19 +467,17 @@ union ceph_mds_request_args { ...@@ -467,19 +467,17 @@ union ceph_mds_request_args {
} __attribute__ ((packed)); } __attribute__ ((packed));
union ceph_mds_request_args_ext { union ceph_mds_request_args_ext {
union { union ceph_mds_request_args old;
union ceph_mds_request_args old; struct {
struct { __le32 mode;
__le32 mode; __le32 uid;
__le32 uid; __le32 gid;
__le32 gid; struct ceph_timespec mtime;
struct ceph_timespec mtime; struct ceph_timespec atime;
struct ceph_timespec atime; __le64 size, old_size; /* old_size needed by truncate */
__le64 size, old_size; /* old_size needed by truncate */ __le32 mask; /* CEPH_SETATTR_* */
__le32 mask; /* CEPH_SETATTR_* */ struct ceph_timespec btime;
struct ceph_timespec btime; } __attribute__ ((packed)) setattr_ext;
} __attribute__ ((packed)) setattr_ext;
};
}; };
#define CEPH_MDS_FLAG_REPLAY 1 /* this is a replayed op */ #define CEPH_MDS_FLAG_REPLAY 1 /* this is a replayed op */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment