#
d25d6fa1 |
| 30-Mar-2010 |
James Morris <jmorris@namei.org> |
Merge branch 'master' into next
|
#
9358c6d4 |
| 30-Mar-2010 |
Sage Weil <sage@newdream.net> |
ceph: fix dentry rehashing on virtual .snap dir
If a lookup fails on the magic .snap directory, we bind it to a magic snap directory inode in ceph_lookup_finish(). That code assumes the dentry is u
ceph: fix dentry rehashing on virtual .snap dir
If a lookup fails on the magic .snap directory, we bind it to a magic snap directory inode in ceph_lookup_finish(). That code assumes the dentry is unhashed, but a recent server-side change started returning NULL leases on lookup failure, causing the .snap dentry to be hashed and NULL by ceph_fill_trace().
This causes dentry hash chain corruption, or a dies when d_rehash() includes BUG_ON(!d_unhashed(entry));
So, avoid processing the NULL dentry lease if it the dentry matches the snapdir name in ceph_fill_trace(). That allows the lookup completion to properly bind it to the snapdir inode. BUG there if dentry is hashed to be sure.
Signed-off-by: Sage Weil <sage@newdream.net>
show more ...
|
#
9f321603 |
| 29-Mar-2010 |
Linus Torvalds <torvalds@linux-foundation.org> |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (28 commits) ceph: updat
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (28 commits) ceph: update discussion list address in MAINTAINERS ceph: some documentations fixes ceph: fix use after free on mds __unregister_request ceph: avoid loaded term 'OSD' in documention ceph: fix possible double-free of mds request reference ceph: fix session check on mds reply ceph: handle kmalloc() failure ceph: propagate mds session allocation failures to caller ceph: make write_begin wait propagate ERESTARTSYS ceph: fix snap rebuild condition ceph: avoid reopening osd connections when address hasn't changed ceph: rename r_sent_stamp r_stamp ceph: fix connection fault con_work reentrancy problem ceph: prevent dup stale messages to console for restarting mds ceph: fix pg pool decoding from incremental osdmap update ceph: fix mds sync() race with completing requests ceph: only release unused caps with mds requests ceph: clean up handle_cap_grant, handle_caps wrt session mutex ceph: fix session locking in handle_caps, ceph_check_caps ceph: drop unnecessary WARN_ON in caps migration ...
show more ...
|
#
329f9052 |
| 26-Mar-2010 |
David Woodhouse <David.Woodhouse@intel.com> |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts: drivers/mtd/nand/sh_flctl.c
Maxim's patch to initialise sysfs attributes depends on the patch w
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts: drivers/mtd/nand/sh_flctl.c
Maxim's patch to initialise sysfs attributes depends on the patch which actually adds sysfs_attr_init().
show more ...
|
#
91c030b4 |
| 22-Mar-2010 |
David S. Miller <davem@davemloft.net> |
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
|
#
d2f1e15b |
| 22-Mar-2010 |
Ingo Molnar <mingo@elte.hu> |
Merge commit 'v2.6.34-rc2' into perf/core
Merge reason: Pick up latest perf fixes from upstream.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
#
74511020 |
| 22-Mar-2010 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
Merge branch 'for-2.6.34' into for-2.6.35
|
#
2fb20b61 |
| 22-Mar-2010 |
Takashi Iwai <tiwai@suse.de> |
Merge branch 'topic/misc' into topic/usb
|
#
f9b44121 |
| 22-Mar-2010 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
Merge commit 'v2.6.34-rc2' into for-2.6.34
|
#
93929ebc |
| 21-Mar-2010 |
Takashi Iwai <tiwai@suse.de> |
Merge branch 'fix/hda' into topic/hda
|
Revision tags: v2.6.34-rc2 |
|
#
8b218b8a |
| 09-Mar-2010 |
Sage Weil <sage@newdream.net> |
ceph: fix inode removal from snap realm when racing with migration
When an inode was dropped while being migrated between two MDSs, i_cap_exporting_issued was non-zero such that issue caps were non-
ceph: fix inode removal from snap realm when racing with migration
When an inode was dropped while being migrated between two MDSs, i_cap_exporting_issued was non-zero such that issue caps were non-zero and __ceph_is_any_caps(ci) was true. This prevented the inode from being removed from the snap realm, even as it was dropped from the cache.
Fix this by dropping any residual i_snap_realm ref in destroy_inode.
Signed-off-by: Sage Weil <sage@newdream.net>
show more ...
|
#
fc7f99cf |
| 19-Mar-2010 |
Linus Torvalds <torvalds@linux-foundation.org> |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (205 commits) ceph: upda
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (205 commits) ceph: update for write_inode API change ceph: reset osd after relevant messages timed out ceph: fix flush_dirty_caps race with caps migration ceph: include migrating caps in issued set ceph: fix osdmap decoding when pools include (removed) snaps ceph: return EBADF if waiting for caps on closed file ceph: set osd request message front length correctly ceph: reset front len on return to msgpool; BUG on mismatched front iov ceph: fix snaptrace decoding on cap migration between mds ceph: use single osd op reply msg ceph: reset bits on connection close ceph: remove bogus mds forward warning ceph: remove fragile __map_osds optimization ceph: fix connection fault STANDBY check ceph: invalidate_authorizer without con->mutex held ceph: don't clobber write return value when using O_SYNC ceph: fix client_request_forward decoding ceph: drop messages on unregistered mds sessions; cleanup ceph: fix comments, locking in destroy_inode ceph: move dereference after NULL test ...
Fix trivial conflicts in Documentation/ioctl/ioctl-number.txt
show more ...
|
Revision tags: v2.6.34-rc1, v2.6.33 |
|
#
c9af9fb6 |
| 18-Feb-2010 |
Yehuda Sadeh <yehuda@hq.newdream.net> |
ceph: don't truncate dirty pages in invalidate work thread
Instead of truncating the whole range of pages, we skip those pages that are dirty or in the middle of writeback. Those pages will be clear
ceph: don't truncate dirty pages in invalidate work thread
Instead of truncating the whole range of pages, we skip those pages that are dirty or in the middle of writeback. Those pages will be cleared later when the writeback completes.
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net> Signed-off-by: Sage Weil <sage@newdream.net>
show more ...
|
#
2c27c9a5 |
| 17-Feb-2010 |
Sage Weil <sage@newdream.net> |
ceph: fix typo in ceph_queue_writeback debug output
Signed-off-by: Sage Weil <sage@newdream.net>
|
Revision tags: v2.6.33-rc8 |
|
#
3c6f6b79 |
| 09-Feb-2010 |
Sage Weil <sage@newdream.net> |
ceph: cleanup async writeback, truncation, invalidate helpers
Grab inode ref in helper. Make work functions static, with consistent naming.
Signed-off-by: Sage Weil <sage@newdream.net>
|
#
3d497d85 |
| 09-Feb-2010 |
Yehuda Sadeh <yehuda@hq.newdream.net> |
ceph: fix truncation when not holding caps
A truncation should occur when either we have the specified caps for the file, or (in cases where we are not the only ones referencing the file) when it is
ceph: fix truncation when not holding caps
A truncation should occur when either we have the specified caps for the file, or (in cases where we are not the only ones referencing the file) when it is mapped or when it is opened. The latter two cases were not handled.
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net> Signed-off-by: Sage Weil <sage@newdream.net>
show more ...
|
Revision tags: v2.6.33-rc7, v2.6.33-rc6 |
|
#
0f26c4b2 |
| 29-Jan-2010 |
Yehuda Sadeh <yehuda@hq.newdream.net> |
ceph: remove unreachable code
We never truncate to a smaller size without contacting the MDS.
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net> Signed-off-by: Sage Weil <sage@newdream.net>
|
#
5b1daecd |
| 25-Jan-2010 |
Sage Weil <sage@newdream.net> |
ceph: properly handle aborted mds requests
Previously, if the MDS request was interrupted, we would unregister the request and ignore any reply. This could cause the caps or other cache state to be
ceph: properly handle aborted mds requests
Previously, if the MDS request was interrupted, we would unregister the request and ignore any reply. This could cause the caps or other cache state to become out of sync. (For instance, aborting dbench and doing rm -r on clients would complain about a non-empty directory because the client didn't realize it's aborted file create request completed.)
Even we don't unregister, we still can't process the reply normally because we are no longer holding the caller's locks (like the dir i_mutex).
So, mark aborted operations with r_aborted, and in the reply handler, be sure to process all the caps. Do not process the namespace changes, though, since we no longer will hold the dir i_mutex. The dentry lease state can also be ignored as it's more forgiving.
Signed-off-by: Sage Weil <sage@newdream.net>
show more ...
|
Revision tags: v2.6.33-rc5, v2.6.33-rc4 |
|
#
4baa75ef |
| 07-Jan-2010 |
Yehuda Sadeh <yehuda@hq.newdream.net> |
ceph: change dentry offset and position after splice_dentry
This fixes a bug, where we had the parent list have dentries with offsets that are not monotonically increasing, which caused the ceph dca
ceph: change dentry offset and position after splice_dentry
This fixes a bug, where we had the parent list have dentries with offsets that are not monotonically increasing, which caused the ceph dcache_readdir to skip entries.
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net> Signed-off-by: Sage Weil <sage@newdream.net>
show more ...
|
Revision tags: v2.6.33-rc3, v2.6.33-rc2 |
|
#
c4a29f26 |
| 21-Dec-2009 |
Sage Weil <sage@newdream.net> |
ceph: ensure rename target dentry fails revalidation
This works around a bug in vfs_rename_dir() that rehashes the target dentry. Ensure such dentries always fail revalidation by timing out the den
ceph: ensure rename target dentry fails revalidation
This works around a bug in vfs_rename_dir() that rehashes the target dentry. Ensure such dentries always fail revalidation by timing out the dentry lease and kicking it out of the current directory lease gen.
This can be reverted when the vfs bug is fixed.
Signed-off-by: Sage Weil <sage@newdream.net>
show more ...
|
Revision tags: v2.6.33-rc1 |
|
#
b6c1d5b8 |
| 07-Dec-2009 |
Sage Weil <sage@newdream.net> |
ceph: simplify ceph_buffer interface
We never allocate the ceph_buffer and buffer separtely, so use a single constructor.
Disallow put on NULL buffer; make the caller check.
Signed-off-by: Sage We
ceph: simplify ceph_buffer interface
We never allocate the ceph_buffer and buffer separtely, so use a single constructor.
Disallow put on NULL buffer; make the caller check.
Signed-off-by: Sage Weil <sage@newdream.net>
show more ...
|
Revision tags: v2.6.32, v2.6.32-rc8, v2.6.32-rc7 |
|
#
b377ff13 |
| 11-Nov-2009 |
Sage Weil <sage@newdream.net> |
ceph: initialize i_size/i_rbytes on snapdir
Signed-off-by: Sage Weil <sage@newdream.net>
|
Revision tags: v2.6.32-rc6 |
|
#
232d4b01 |
| 21-Oct-2009 |
Sage Weil <sage@newdream.net> |
ceph: move directory size logic to ceph_getattr
We can't fill i_size with rbytes at the fill_file_size stage without adding additional checks for directories. Notably, we want st_blocks to remain 0
ceph: move directory size logic to ceph_getattr
We can't fill i_size with rbytes at the fill_file_size stage without adding additional checks for directories. Notably, we want st_blocks to remain 0 on directories so that 'du' still works.
Fill in i_blocks, i_size specially in ceph_getattr instead.
Signed-off-by: Sage Weil <sage@newdream.net>
show more ...
|
Revision tags: v2.6.32-rc5, v2.6.32-rc4 |
|
#
355da1eb |
| 06-Oct-2009 |
Sage Weil <sage@newdream.net> |
ceph: inode operations
Inode cache and inode operations. We also include routines to incorporate metadata structures returned by the MDS into the client cache, and some helpers to deal with file ca
ceph: inode operations
Inode cache and inode operations. We also include routines to incorporate metadata structures returned by the MDS into the client cache, and some helpers to deal with file capabilities and metadata leases. The bulk of that work is done by fill_inode() and fill_trace().
Signed-off-by: Sage Weil <sage@newdream.net>
show more ...
|