Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client
Pull Ceph updates for 3.4-rc1 from Sage Weil: "Alex has been busy. There are a range of rbd and libceph cleanups, especially surrounding device setup and teardown, and a few critical fixes in that code. There are more cleanups in the messenger code, virtual xattrs, a fix for CRC calculation/checks, and lots of other miscellaneous stuff. There's a patch from Amon Ott to make inos behave a bit better on 32-bit boxes, some decode check fixes from Xi Wang, and network throttling fix from Jim Schutt, and a couple RBD fixes from Josh Durgin. No new functionality, just a lot of cleanup and bug fixing." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (65 commits) rbd: move snap_rwsem to the device, rename to header_rwsem ceph: fix three bugs, two in ceph_vxattrcb_file_layout() libceph: isolate kmap() call in write_partial_msg_pages() libceph: rename "page_shift" variable to something sensible libceph: get rid of zero_page_address libceph: only call kernel_sendpage() via helper libceph: use kernel_sendpage() for sending zeroes libceph: fix inverted crc option logic libceph: some simple changes libceph: small refactor in write_partial_kvec() libceph: do crc calculations outside loop libceph: separate CRC calculation from byte swapping libceph: use "do" in CRC-related Boolean variables ceph: ensure Boolean options support both senses libceph: a few small changes libceph: make ceph_tcp_connect() return int libceph: encapsulate some messenger cleanup code libceph: make ceph_msgr_wq private libceph: encapsulate connection kvec operations libceph: move prepare_write_banner() ...
This commit is contained in:
@@ -130,10 +130,12 @@ enum {
|
||||
Opt_nodirstat,
|
||||
Opt_rbytes,
|
||||
Opt_norbytes,
|
||||
Opt_asyncreaddir,
|
||||
Opt_noasyncreaddir,
|
||||
Opt_dcache,
|
||||
Opt_nodcache,
|
||||
Opt_ino32,
|
||||
Opt_noino32,
|
||||
};
|
||||
|
||||
static match_table_t fsopt_tokens = {
|
||||
@@ -153,10 +155,12 @@ static match_table_t fsopt_tokens = {
|
||||
{Opt_nodirstat, "nodirstat"},
|
||||
{Opt_rbytes, "rbytes"},
|
||||
{Opt_norbytes, "norbytes"},
|
||||
{Opt_asyncreaddir, "asyncreaddir"},
|
||||
{Opt_noasyncreaddir, "noasyncreaddir"},
|
||||
{Opt_dcache, "dcache"},
|
||||
{Opt_nodcache, "nodcache"},
|
||||
{Opt_ino32, "ino32"},
|
||||
{Opt_noino32, "noino32"},
|
||||
{-1, NULL}
|
||||
};
|
||||
|
||||
@@ -232,6 +236,9 @@ static int parse_fsopt_token(char *c, void *private)
|
||||
case Opt_norbytes:
|
||||
fsopt->flags &= ~CEPH_MOUNT_OPT_RBYTES;
|
||||
break;
|
||||
case Opt_asyncreaddir:
|
||||
fsopt->flags &= ~CEPH_MOUNT_OPT_NOASYNCREADDIR;
|
||||
break;
|
||||
case Opt_noasyncreaddir:
|
||||
fsopt->flags |= CEPH_MOUNT_OPT_NOASYNCREADDIR;
|
||||
break;
|
||||
@@ -244,6 +251,9 @@ static int parse_fsopt_token(char *c, void *private)
|
||||
case Opt_ino32:
|
||||
fsopt->flags |= CEPH_MOUNT_OPT_INO32;
|
||||
break;
|
||||
case Opt_noino32:
|
||||
fsopt->flags &= ~CEPH_MOUNT_OPT_INO32;
|
||||
break;
|
||||
default:
|
||||
BUG_ON(token);
|
||||
}
|
||||
@@ -334,10 +344,12 @@ static int parse_mount_options(struct ceph_mount_options **pfsopt,
|
||||
*path += 2;
|
||||
dout("server path '%s'\n", *path);
|
||||
|
||||
err = ceph_parse_options(popt, options, dev_name, dev_name_end,
|
||||
*popt = ceph_parse_options(options, dev_name, dev_name_end,
|
||||
parse_fsopt_token, (void *)fsopt);
|
||||
if (err)
|
||||
if (IS_ERR(*popt)) {
|
||||
err = PTR_ERR(*popt);
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* success */
|
||||
*pfsopt = fsopt;
|
||||
@@ -926,6 +938,7 @@ static int __init init_ceph(void)
|
||||
if (ret)
|
||||
goto out;
|
||||
|
||||
ceph_xattr_init();
|
||||
ret = register_filesystem(&ceph_fs_type);
|
||||
if (ret)
|
||||
goto out_icache;
|
||||
@@ -935,6 +948,7 @@ static int __init init_ceph(void)
|
||||
return 0;
|
||||
|
||||
out_icache:
|
||||
ceph_xattr_exit();
|
||||
destroy_caches();
|
||||
out:
|
||||
return ret;
|
||||
@@ -944,6 +958,7 @@ static void __exit exit_ceph(void)
|
||||
{
|
||||
dout("exit_ceph\n");
|
||||
unregister_filesystem(&ceph_fs_type);
|
||||
ceph_xattr_exit();
|
||||
destroy_caches();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user