@@ -1898,8 +1898,7 @@ bool __ceph_should_report_size(struct ceph_inode_info *ci)
18981898 * CHECK_CAPS_FLUSH - we should flush any dirty caps immediately, without
18991899 * further delay.
19001900 */
1901- void ceph_check_caps (struct ceph_inode_info * ci , int flags ,
1902- struct ceph_mds_session * session )
1901+ void ceph_check_caps (struct ceph_inode_info * ci , int flags )
19031902{
19041903 struct inode * inode = & ci -> netfs .inode ;
19051904 struct ceph_mds_client * mdsc = ceph_sb_to_mdsc (inode -> i_sb );
@@ -1913,15 +1912,12 @@ void ceph_check_caps(struct ceph_inode_info *ci, int flags,
19131912 bool queue_invalidate = false;
19141913 bool tried_invalidate = false;
19151914 bool queue_writeback = false;
1916-
1917- if (session )
1918- ceph_get_mds_session (session );
1915+ struct ceph_mds_session * session = NULL ;
19191916
19201917 spin_lock (& ci -> i_ceph_lock );
19211918 if (ci -> i_ceph_flags & CEPH_I_ASYNC_CREATE ) {
19221919 /* Don't send messages until we get async create reply */
19231920 spin_unlock (& ci -> i_ceph_lock );
1924- ceph_put_mds_session (session );
19251921 return ;
19261922 }
19271923
@@ -2851,7 +2847,7 @@ static void check_max_size(struct inode *inode, loff_t endoff)
28512847 check = 1 ;
28522848 spin_unlock (& ci -> i_ceph_lock );
28532849 if (check )
2854- ceph_check_caps (ci , CHECK_CAPS_AUTHONLY , NULL );
2850+ ceph_check_caps (ci , CHECK_CAPS_AUTHONLY );
28552851}
28562852
28572853static inline int get_used_fmode (int caps )
@@ -3140,7 +3136,7 @@ static void __ceph_put_cap_refs(struct ceph_inode_info *ci, int had,
31403136 switch (mode ) {
31413137 case PUT_CAP_REFS_SYNC :
31423138 if (last )
3143- ceph_check_caps (ci , 0 , NULL );
3139+ ceph_check_caps (ci , 0 );
31443140 else if (flushsnaps )
31453141 ceph_flush_snaps (ci , NULL );
31463142 break ;
@@ -3255,7 +3251,7 @@ void ceph_put_wrbuffer_cap_refs(struct ceph_inode_info *ci, int nr,
32553251 spin_unlock (& ci -> i_ceph_lock );
32563252
32573253 if (last ) {
3258- ceph_check_caps (ci , 0 , NULL );
3254+ ceph_check_caps (ci , 0 );
32593255 } else if (flush_snaps ) {
32603256 ceph_flush_snaps (ci , NULL );
32613257 }
@@ -3604,10 +3600,9 @@ static void handle_cap_grant(struct inode *inode,
36043600
36053601 mutex_unlock (& session -> s_mutex );
36063602 if (check_caps == 1 )
3607- ceph_check_caps (ci , CHECK_CAPS_AUTHONLY | CHECK_CAPS_NOINVAL ,
3608- session );
3603+ ceph_check_caps (ci , CHECK_CAPS_AUTHONLY | CHECK_CAPS_NOINVAL );
36093604 else if (check_caps == 2 )
3610- ceph_check_caps (ci , CHECK_CAPS_NOINVAL , session );
3605+ ceph_check_caps (ci , CHECK_CAPS_NOINVAL );
36113606}
36123607
36133608/*
@@ -4333,7 +4328,7 @@ unsigned long ceph_check_delayed_caps(struct ceph_mds_client *mdsc)
43334328 if (inode ) {
43344329 spin_unlock (& mdsc -> cap_delay_lock );
43354330 dout ("check_delayed_caps on %p\n" , inode );
4336- ceph_check_caps (ci , 0 , NULL );
4331+ ceph_check_caps (ci , 0 );
43374332 iput (inode );
43384333 spin_lock (& mdsc -> cap_delay_lock );
43394334 }
@@ -4362,7 +4357,7 @@ static void flush_dirty_session_caps(struct ceph_mds_session *s)
43624357 dout ("flush_dirty_caps %llx.%llx\n" , ceph_vinop (inode ));
43634358 spin_unlock (& mdsc -> cap_dirty_lock );
43644359 ceph_wait_on_async_create (inode );
4365- ceph_check_caps (ci , CHECK_CAPS_FLUSH , NULL );
4360+ ceph_check_caps (ci , CHECK_CAPS_FLUSH );
43664361 iput (inode );
43674362 spin_lock (& mdsc -> cap_dirty_lock );
43684363 }
0 commit comments