14 Jan, 2012
1 commit
-
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
ceph: ensure prealloc_blob is in place when removing xattr
rbd: initialize snap_rwsem in rbd_add()
ceph: enable/disable dentry complete flags via mount option
vfs: export symbol d_find_any_alias()
ceph: always initialize the dentry in open_root_dentry()
libceph: remove useless return value for osd_client __send_request()
ceph: avoid iput() while holding spinlock in ceph_dir_fsync
ceph: avoid useless dget/dput in encode_fh
ceph: dereference pointer after checking for NULL
crush: fix force for non-root TAKE
ceph: remove unnecessary d_fsdata conditional checks
ceph: Use kmemdup rather than duplicating its implementationFix up conflicts in fs/ceph/super.c (d_alloc_root() failure handling vs
always initialize the dentry in open_root_dentry)
13 Jan, 2012
1 commit
-
Enable/disable use of the dentry dir 'complete' flag via a mount option.
This lets the admin control whether ceph uses the dcache to satisfy
negative lookups or readdir when it has the entire directory contents in
its cache.This is purely a performance optimization; correctness is guaranteed
whether it is enabled or not.Reviewed-by: Christoph Hellwig
Signed-off-by: Sage Weil
12 Jan, 2012
1 commit
-
When open_root_dentry() gets a dentry via d_obtain_alias() it does
not get initialized. If the dentry obtained came from the cache,
this is OK. But if not, the result is an improperly initialized
dentry.To fix this, call ceph_init_dentry() regardless of which path
produced the dentry. That function returns immediately for a dentry
that is already initialized, it is safe to use either way.(Credit to Sage, who suggested this fix.)
Signed-off-by: Alex Elder
10 Jan, 2012
1 commit
-
... and ceph_init_dentry(NULL) will oops
Signed-off-by: Al Viro
07 Jan, 2012
1 commit
-
Signed-off-by: Al Viro
03 Dec, 2011
1 commit
-
Fix typo.
Reported-by: mowang da
Signed-off-by: Sage Weil
12 Nov, 2011
1 commit
-
Set up d_fsdata on the root dentry. This fixes a NULL pointer dereference
in ceph_d_prune on umount. It also means we can eventually strip out all
of the conditional checks on d_fsdata because it is now set unconditionally
(prior to setting up the d_ops).Fix the ceph_d_prune debug print while we're here.
Signed-off-by: Sage Weil
06 Nov, 2011
1 commit
-
Quiet the sparse noise:
warning: symbol 'create_fs_client' was not declared. Should it be static?
warning: symbol 'destroy_fs_client' was not declared. Should it be static?Signed-off-by: H Hartley Sweeten
Cc: Sage Weil
ceph-devel@vger.kernel.org
Signed-off-by: Sage Weil
26 Oct, 2011
3 commits
-
Trivial formatting fix.
Signed-off-by: Noah Watkins
Signed-off-by: Sage Weil -
This simplifies the init/shutdown paths, and makes client->msgr available
during the rest of the setup process.Signed-off-by: Sage Weil
-
It controls readahead.
Signed-off-by: Sage Weil
23 Aug, 2011
1 commit
-
kfree does not clean up indirect allocations in
ceph_fs_client and ceph_options (e.g. snapdir_name).Signed-off-by: Noah Watkins
Signed-off-by: Sage Weil
27 Jul, 2011
2 commits
-
This should improve the default read performance, as without it
readahead is practically disabled.Signed-off-by: Yehuda Sadeh
-
Reviewed-by: Yehuda Sadeh
Signed-off-by: Greg Farnum
30 Mar, 2011
1 commit
-
This makes the base64 logic be contained in mount option parsing,
and prepares us for replacing the homebew key management with the
kernel key retention service.Signed-off-by: Tommi Virtanen
Signed-off-by: Sage Weil
22 Mar, 2011
2 commits
-
Signed-off-by: Sage Weil
-
The ino32 mount option forces the ceph fs to report 32 bit
ino values. This is useful for 64 bit kernels with 32 bit userspace.Signed-off-by: Yehuda Sadeh
20 Jan, 2011
1 commit
-
These were initialized to 0 instead of the default, fallout from the RBD
refactor in 3d14c5d2b6e15c21d8e5467dc62d33127c23a644.Signed-off-by: Sage Weil
13 Jan, 2011
2 commits
-
fsc->*_wq's aren't depended upon during memory reclaim. Convert to
alloc_workqueue() w/o WQ_MEM_RECLAIM.Signed-off-by: Tejun Heo
Cc: Sage Weil
Cc: ceph-devel@vger.kernel.org
Signed-off-by: Sage Weil -
This implements the DIRLAYOUTHASH protocol feature, which passes the dir
layout over the wire from the MDS. This gives the client knowledge
of the correct hash function to use for mapping dentries among dir
fragments.Note that if this feature is _not_ present on the client but is on the
MDS, the client may misdirect requests. This will result in a forward
and degrade performance. It may also result in inaccurate NFS filehandle
generation, which will prevent fh resolution when the inode is not present
in the client cache and the parent directories have been fragmented.Signed-off-by: Sage Weil
29 Oct, 2010
1 commit
-
Signed-off-by: Al Viro
21 Oct, 2010
1 commit
-
This factors out protocol and low-level storage parts of ceph into a
separate libceph module living in net/ceph and include/linux/ceph. This
is mostly a matter of moving files around. However, a few key pieces
of the interface change as well:- ceph_client becomes ceph_fs_client and ceph_client, where the latter
captures the mon and osd clients, and the fs_client gets the mds client
and file system specific pieces.
- Mount option parsing and debugfs setup is correspondingly broken into
two pieces.
- The mon client gets a generic handler callback for otherwise unknown
messages (mds map, in this case).
- The basic supported/required feature bits can be expanded (and are by
ceph_fs_client).No functional change, aside from some subtle error handling cases that got
cleaned up in the refactoring process.Signed-off-by: Sage Weil
04 Aug, 2010
1 commit
-
Actually apply the mount option to the mount_args struct.
Signed-off-by: Sage Weil
02 Aug, 2010
5 commits
-
The ->sync_fs() super op only needs to wait if wait is true. Otherwise,
just get some dirty cap writeback started.Signed-off-by: Sage Weil
-
Signed-off-by: Sage Weil
-
Specify the fsid mount option in hex, not via the major/minor u64 hackery we had
before.Signed-off-by: Sage Weil
-
Signed-off-by: Sage Weil
-
Caps related accounting is now being done per mds client instead
of just being global. This prepares ground work for a later revision
of the caps preallocated reservation list.Signed-off-by: Yehuda Sadeh
Signed-off-by: Sage Weil
11 Jun, 2010
1 commit
-
bdi_seq is an atomic_long_t but we're using ATOMIC_INIT, which causes
build failures on ia64. This patch fixes it to use ATOMIC_LONG_INIT.Signed-off-by: Jeff Mahoney
Signed-off-by: Sage Weil
02 Jun, 2010
1 commit
-
We were setting f_namelen in kstatfs to PATH_MAX instead of NAME_MAX.
That disagrees with ceph_lookup behavior (which checks against NAME_MAX),
and also makes the pjd posix test suite spit out ugly errors because with
can't clean up its temporary files.Signed-off-by: Sage Weil
30 May, 2010
3 commits
-
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
ceph: clean up on forwarded aborted mds request
ceph: fix leak of osd authorizer
ceph: close out mds, osd connections before stopping auth
ceph: make lease code DN specific
fs/ceph: Use ERR_CAST
ceph: renew auth tickets before they expire
ceph: do not resend mon requests on auth ticket renewal
ceph: removed duplicated #includes
ceph: avoid possible null dereference
ceph: make mds requests killable, not interruptible
sched: add wait_for_completion_killable_timeout -
The auth module (part of the mon_client) is needed to free any
ceph_authorizer(s) used by the mds and osd connections. Flush the msgr
workqueue before stopping monc to ensure that the destroy_authorizer
auth op is available when those connections are closed out.Signed-off-by: Sage Weil
-
Use ERR_CAST(x) rather than ERR_PTR(PTR_ERR(x)). The former makes more
clear what is the purpose of the operation, which otherwise looks like a
no-op.In the case of fs/ceph/inode.c, ERR_CAST is not needed, because the type of
the returned value is the same as the type of the enclosing function.The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)//
@@
type T;
T x;
identifier f;
@@T f (...) { }
@@
expression x;
@@- ERR_PTR(PTR_ERR(x))
+ ERR_CAST(x)
//Signed-off-by: Julia Lawall
Signed-off-by: Sage Weil
24 May, 2010
1 commit
-
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (59 commits)
ceph: reuse mon subscribe message instead of allocated anew
ceph: avoid resending queued message to monitor
ceph: Storage class should be before const qualifier
ceph: all allocation functions should get gfp_mask
ceph: specify max_bytes on readdir replies
ceph: cleanup pool op strings
ceph: Use kzalloc
ceph: use common helper for aborted dir request invalidation
ceph: cope with out of order (unsafe after safe) mds reply
ceph: save peer feature bits in connection structure
ceph: resync headers with userland
ceph: use ceph. prefix for virtual xattrs
ceph: throw out dirty caps metadata, data on session teardown
ceph: attempt mds reconnect if mds closes our session
ceph: clean up send_mds_reconnect interface
ceph: wait for mds OPEN reply to indicate reconnect success
ceph: only send cap releases when mds is OPEN|HUNG
ceph: dicard cap releases on mds restart
ceph: make mon client statfs handling more generic
ceph: drop src address(es) from message header [new protocol feature]
...
22 May, 2010
1 commit
-
Signed-off-by: Al Viro
18 May, 2010
5 commits
-
Specify max bytes in request to bound size of reply. Add associated
mount option with default value of 512 KB.Signed-off-by: Sage Weil
-
The bdi_setup_and_register() helper doesn't help us since we bdi_init() in
create_client() and bdi_register() only when sget() succeeds.Signed-off-by: Sage Weil
-
Ensure all options are included in /proc/mounts. Some cleanup.
Signed-off-by: Sage Weil
-
Remove unused #include's in
fs/ceph/super.cSigned-off-by: Huang Weiyi
Signed-off-by: Sage Weil -
Signed-off-by: Yehuda Sadeh